{"abi":[{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"combatSetup","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"nonpayable"},{"type":"function","name":"runSystem","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"testArchetypeModifier","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCannotAttackUnitWithSameOwner","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCapturing","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCapturingCharger","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCapturingStructure","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCombat","inputs":[{"name":"attackerHealth","type":"int32","internalType":"int32"},{"name":"defenderHealth","type":"int32","internalType":"int32"},{"name":"attackerArmor","type":"int32","internalType":"int32"},{"name":"defenderArmor","type":"int32","internalType":"int32"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testCombatOutcomeSystemIsInternal","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGoldMines","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGoldOnKill","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testGoldOnKillWhenUnitsKillEachOther","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testKilling","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"testRequiresSetupCannotMoveAndAttack","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"worldAddress","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"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":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","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_InvalidBounds","inputs":[{"name":"start","type":"uint256","internalType":"uint256"},{"name":"end","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"}]}],"bytecode":{"object":"0x60806040526000805460ff19166001178155601d555a6023553480156200002557600080fd5b50619db680620000366000396000f3fe608060405234801561001057600080fd5b50600436106101ae5760003560e01c80638ce269ef116100ee578063baf3306811610097578063e0e809c811610071578063e0e809c8146102d3578063e20c9f71146102db578063ea3f81af146102e3578063fa7626d4146102eb57600080fd5b8063baf3306814610298578063bfcc9d1d146102a0578063d46a7065146102a857600080fd5b8063a0775414116100c8578063a077541414610270578063b5508aa914610278578063ba414fa61461028057600080fd5b80638ce269ef146102585780638f5f540b14610260578063916a17c61461026857600080fd5b80633f7286f41161015b5780636a65c69d116101355780636a65c69d146102205780637968c48b14610228578063844d3e8a1461023057806385226c811461024357600080fd5b80633f7286f4146101fb578063538de7421461020357806366d9a9a01461020b57600080fd5b8063279de9fd1161018c578063279de9fd146101e3578063326ff597146101eb5780633e5e3c23146101f357600080fd5b80630a9254e4146101b35780631038400d146101bd5780631ed7831c146101c5575b600080fd5b6101bb6102f8565b005b6101bb6105b6565b6101cd610783565b6040516101da9190618b46565b60405180910390f35b6101bb6107e5565b6101bb6108d0565b6101cd610a52565b6101cd610ab2565b6101bb610b12565b610213610fc4565b6040516101da9190618b93565b6101bb6110c8565b6101bb611212565b6101bb61023e366004618c72565b61135d565b61024b6115e3565b6040516101da9190618d16565b6101bb6116b3565b6101bb61188c565b61021361198f565b6101bb611a8a565b61024b611cca565b610288611d9a565b60405190151581526020016101da565b6101bb611edc565b6101bb6120cf565b601b546102bb906001600160a01b031681565b6040516001600160a01b0390911681526020016101da565b6101bb612268565b6101cd6123ff565b6101bb61245f565b6000546102889060ff1681565b6103006126b8565b601b54601c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790557f64656275670000000000000000000000000000000000000000000000000000006103586127cb565b6103626000612885565b601c546040517f99b526d600000000000000000000000000000000000000000000000000000000815260048101839052600160248201526001600160a01b03909116906399b526d690604401600060405180830381600087803b1580156103c857600080fd5b505af11580156103dc573d6000803e3d6000fd5b5050601c546103f792506001600160a01b03169050826128f9565b6021555b610406602154612a01565b60000361049257601c546021546040517ff29bced00000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163f29bced09161045b9160040190815260200190565b600060405180830381600087803b15801561047557600080fd5b505af1158015610489573d6000803e3d6000fd5b505050506103fb565b61049e60215442612a82565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104fc57600080fd5b505af1158015610510573d6000803e3d6000fd5b5050505061051c612b3b565b601e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055610551612b3b565b601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055610586612b3b565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6105be611212565b6105c66127cb565b6105d66021546028546001612c18565b6105e66021546029546002612c18565b6105f460016002601e612d0f565b610621600260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2612d0f565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561067f57600080fd5b505af1158015610693573d6000803e3d6000fd5b5050505060006106a7602154602954612e17565b905060006106b9602154602854612e17565b90506106c36120cf565b6107216106d4602154602954612e17565b60030b6106e361659085618d90565b60030b6040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b61077f610732602154602854612e17565b60030b6107416136b084618d90565b60030b6040518060400160405280601681526020017f756e65787065637465642061747461636b657220485000000000000000000000815250612ec2565b5050565b6060600d8054806020026020016040519081016040528092919081815260200182805480156107db57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107bd575b5050505050905090565b6107ed611212565b6107f56127cb565b6108066021546029546103e8612f0a565b6108166021546029546001612faf565b6108276021546029546101f4613087565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561088557600080fd5b505af1158015610899573d6000803e3d6000fd5b505050506108be604051806060016040528060238152602001619d5e60239139613149565b6108c66120cf565b6108ce6133bd565b565b6108d8611212565b6108e06127cb565b6108f06021546029546001612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561094e57600080fd5b505af1158015610962573d6000803e3d6000fd5b505050506109a46040518060400160405280601781526020017f41747461636b20756e697420616e64206b696c6c696e67000000000000000000815250613149565b6109ac6120cf565b6109b46133bd565b610a056109c5602154602954612e17565b60030b60006040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b6108ce610a16602154602954613617565b60408051808201909152601981527f756e657870656374656420646566656e646572206f776e65720000000000000060208201526000906136b9565b6060600f8054806020026020016040519081016040528092919081815260200182805480156107db576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107bd575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156107db576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107bd575050505050905090565b610b1a611212565b610b226127cb565b602154604080518082019091526001815260006020820181905291610b6a917f476f6c644d696e65000000000000000000000000000000000000000000000000908490613701565b9050610b7e602154602854620493e0613742565b610b90602154602954620493e0613742565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bee57600080fd5b505af1158015610c02573d6000803e3d6000fd5b505050506000610c166021546026546137e7565b601e546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015610c8b57600080fd5b505af1158015610c9f573d6000803e3d6000fd5b5050601c546021546028546040517fe89f767200000000000000000000000000000000000000000000000000000000815260048101929092526024820152604481018690526001600160a01b03909116925063e89f76729150606401600060405180830381600087803b158015610d1557600080fd5b505af1158015610d29573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d8b57600080fd5b505af1158015610d9f573d6000803e3d6000fd5b50505050610df0610db260215484613617565b6026546040518060400160405280601581526020017f756e6578706563746564206d696e65206f776e657200000000000000000000008152506136b9565b602154737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e5d6bf0290610e189061380b565b60400151610e27906002618db7565b610e319042618dce565b6040518263ffffffff1660e01b8152600401610e4f91815260200190565b600060405180830381600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b50505050610ecf610e926021546026546138e8565b60016040518060400160405280601881526020017f756e6578706563746564206368617267657220636f756e740000000000000000815250613986565b610ed76127cb565b610f4a610ee86021546026546137e7565b60030b610ef7602154856139ce565b610f02906002618de1565b610f0c9084618e01565b60030b6040518060400160405280601481526020017f756e657870656374656420676f6c64206761696e000000000000000000000000815250612ec2565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610fa857600080fd5b505af1158015610fbc573d6000803e3d6000fd5b505050505050565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156110bf5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110a757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110545790505b50505050508152505081526020019060010190610fe8565b50505050905090565b6110d0611212565b6110d86127cb565b6110e9602154602954602654613a67565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561114757600080fd5b505af115801561115b573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e6e6f742061747461636b206f776e20656e7469747900000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b1580156111f257600080fd5b505af1158015611206573d6000803e3d6000fd5b505050506108ce6120cf565b7f97154a62cd5641a577e092d2eee7e39fcb3333dc595371a4303417dae0c2c0066028557fea47b74917f549e8fb7b30be52435f56b0a4548a5df697773d6d54875754db776029556112626127cb565b602154601e5461127b91906001600160a01b0316613b22565b602655602154601f5461129791906001600160a01b0316613b22565b60275560285460265460408051808201909152600080825260208201526112bf929190613b7e565b6029546027546040805180820190915260008152600160208201526112e5929190613b7e565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b50505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815261c350600386900b136004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e5629060240160006040518083038186803b1580156113c857600080fd5b505afa1580156113dc573d6000803e3d6000fd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815261c350600387900b136004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561144b57600080fd5b505afa15801561145f573d6000803e3d6000fd5b505050506114758260030b600062989680613c5d565b91506114898160030b600062989680613c5d565b9050611493611212565b61149b6127cb565b6114aa60215460285486612f0a565b6114b960215460295485612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561151757600080fd5b505af115801561152b573d6000803e3d6000fd5b5050505061156d6040518060400160405280600b81526020017f41747461636b20756e6974000000000000000000000000000000000000000000815250613149565b6115756120cf565b61157d6133bd565b6000611590602154602854602954613ea1565b905060006115a5602154602854602954613f26565b90506115c56115b8602154602854612e17565b60030b6107418389618d90565b610fbc6115d6602154602954612e17565b60030b6106e38488618d90565b60606011805480602002602001604051908101604052809291908181526020016000905b828210156110bf57838290600052602060002001805461162690618e28565b80601f016020809104026020016040519081016040528092919081815260200182805461165290618e28565b801561169f5780601f106116745761010080835404028352916020019161169f565b820191906000526020600020905b81548152906001019060200180831161168257829003601f168201915b505050505081526020019060010190611607565b6116bb611212565b6116c36127cb565b6116d36021546028546001613fdd565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561173157600080fd5b505af1158015611745573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f63616e6e6f74206d6f766520616e642061747461636b000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b1580156117dc57600080fd5b505af11580156117f0573d6000803e3d6000fd5b5050601c54602154602854604080516000808252602082019092526001600160a01b03909416955063280f182094509192909161184f565b60408051808201909152600080825260208201528152602001906001900390816118285790505b506029546040518563ffffffff1660e01b81526004016118729493929190618e72565b600060405180830381600087803b15801561134357600080fd5b611894611212565b61189c6127cb565b6118ac6021546029546064614080565b6118bc6021546029546001612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561191a57600080fd5b505af115801561192e573d6000803e3d6000fd5b5050505060006119426021546026546137e7565b905061194c6120cf565b61198c61195d6021546026546137e7565b60030b61196b836064618e01565b60030b604051806060016040528060228152602001619d3c60229139612ec2565b50565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156110bf5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015611a7257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411611a1f5790505b505050505081525050815260200190600101906119b3565b601e546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015611afc57600080fd5b505af1158015611b10573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611b7257600080fd5b505af1158015611b86573d6000803e3d6000fd5b50506040805161018081018252602854815260295460208201526000818301819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082018190526101408201819052610160820181905291517feaaa54b000000000000000000000000000000000000000000000000000000000815273__$a0da77a6cce3a353ba3f24830fe121724b$__945063eaaa54b09350611c3c929190600401618ee6565b60006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561134357600080fd5b60606010805480602002602001604051908101604052809291908181526020016000905b828210156110bf578382906000526020600020018054611d0d90618e28565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3990618e28565b8015611d865780601f10611d5b57610100808354040283529160200191611d86565b820191906000526020600020905b815481529060010190602001808311611d6957829003601f168201915b505050505081526020019060010190611cee565b60008054610100900460ff1615611dba5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ed75760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091611e5f917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001618fc5565b60408051601f1981840301815290829052611e799161900d565b6000604051808303816000865af19150503d8060008114611eb6576040519150601f19603f3d011682016040523d82523d6000602084013e611ebb565b606091505b5091505080806020019051810190611ed39190619029565b9150505b919050565b611ee4611212565b611eec6127cb565b611efc6021546029546064614080565b611f0c6021546029546001612f0a565b611f1c6021546028546064614080565b611f2c6021546028546001612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611f8a57600080fd5b505af1158015611f9e573d6000803e3d6000fd5b505050506000611fb26021546026546137e7565b90506000611fc46021546027546137e7565b9050611fce6120cf565b61201f611fdf602154602854612e17565b60030b60006040518060400160405280601481526020017f61747461636b657220646964206e6f7420646965000000000000000000000000815250612ec2565b612070612030602154602954612e17565b60030b60006040518060400160405280601481526020017f646566656e64657220646964206e6f7420646965000000000000000000000000815250612ec2565b61208f6120816021546026546137e7565b60030b61196b846064618e01565b61077f6120a06021546027546137e7565b60030b6120ae836064618e01565b60030b604051806060016040528060228152602001619d1a60229139612ec2565b601e546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561214457600080fd5b505af1158015612158573d6000803e3d6000fd5b5050601c546021546028546029546040517fe89f76720000000000000000000000000000000000000000000000000000000081526001600160a01b03909416955063e89f767294506121bd936004019283526020830191909152604082015260600190565b600060405180830381600087803b1580156121d757600080fd5b505af11580156121eb573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561224d57600080fd5b505af1158015612261573d6000803e3d6000fd5b5050505050565b612270611212565b6122786127cb565b6122896021546029546103e8612f0a565b6122996021546029546001612faf565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b5050505061234d6040518060400160405280601981526020017f41747461636b20756e697420616e6420636170747572696e6700000000000000815250613149565b6123556120cf565b61235d6133bd565b6123b061236e602154602954612e17565b60030b620186a06040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b6108ce6123c1602154602954613617565b6026546040518060400160405280601981526020017f756e657870656374656420646566656e646572206f776e6572000000000000008152506136b9565b6060600c8054806020026020016040519081016040528092919081815260200182805480156107db576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107bd575050505050905090565b612467611212565b61246f6127cb565b612481602154602854620186a0613742565b61249360215460295462027100612f0a565b6124a36021546029546001612faf565b6124b36021546029546001614125565b6124c360215460295460006141f9565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561252157600080fd5b505af1158015612535573d6000803e3d6000fd5b505050506125416120cf565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63e5d6bf02612566426064618dce565b6040518263ffffffff1660e01b815260040161258491815260200190565b600060405180830381600087803b15801561259e57600080fd5b505af11580156125b2573d6000803e3d6000fd5b505050506126086125c7602154602954612e17565b60030b61ea606040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63e5d6bf0261262d426064618dce565b6040518263ffffffff1660e01b815260040161264b91815260200190565b600060405180830381600087803b15801561266557600080fd5b505af1158015612679573d6000803e3d6000fd5b505050506126856120cf565b6126966123c1602154602954613617565b6108ce6126a7602154602954612e17565b60030b6106e360215460295461429e565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f574f524c445f41444452455353000000000000000000000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801561274e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612772919061904b565b601b80546001600160a01b039290921673ffffffffffffffffffffffffffffffffffffffff1992831681179091557f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1758054909216179055565b604080517f6e7300000000000000000000000000000000000000000000000000000000000060208201526000602282018190526030820152737109709ecfa91a80626ff3989d68f67f5b1dd12d916306447d5691612841910160405160208183030381529060405261283c90619074565b61433e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401611872565b604080516000815260208101825290810182905261077f7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008260016060820160408051601f198184030181529190527e7d0600012020141414000000000000000000000000000000000000000000006143da565b600061290361448f565b61290e906001619098565b63ffffffff16905060006129286129236144de565b61453c565b9050600061293582614558565b905060008190036129435750815b6040517f127de47a00000000000000000000000000000000000000000000000000000000815260806004820152600560848201527f6d6174636800000000000000000000000000000000000000000000000000000060a48201526024810182905260448101849052606481018590526001600160a01b0386169063127de47a9060c401600060405180830381600087803b1580156129e057600080fd5b505af11580156129f4573d6000803e3d6000fd5b5050505050505b92915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612a3a57612a3a6190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d6174636852656164790000000000008383630100080160dd1b6145b0565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612ab857612ab86190b5565b602002602001018181525050612b367f746200000000000000000000000000004d61746368436f6e666967000000000060001b82600185604051602001612b0191815260200190565b60408051601f198184030181529190527eb40600202020202014000000000000000000000000000000000000000000006143da565b505050565b601d805460009182919082612b4f836190cb565b91905055604051602001612b6591815260200190565b60408051808303601f190181529082905280516020909101207fc88a5e6d0000000000000000000000000000000000000000000000000000000082526001600160a01b038116600483015268056bc75e2d6310000060248301529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015612bfa57600080fd5b505af1158015612c0e573d6000803e3d6000fd5b5092949350505050565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612c4d57612c4d6190b5565b6020026020010181815250508281600181518110612c6d57612c6d6190b5565b60209081029190910101526113577f74620000000000000000000000000000436f6d6261740000000000000000000082600685600d811115612cb157612cb16190e5565b604051602001612cec919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f19818403018152919052691907000404040404040160a81b6143da565b60408051600280825260608201835260009260208301908036833701905050905083600d811115612d4257612d426190e5565b60ff1660001b81600081518110612d5b57612d5b6190b5565b60200260200101818152505082600d811115612d7957612d796190e5565b60ff1660001b81600181518110612d9257612d926190b5565b6020026020010181815250506113577f746200000000000000000000000000004172636865747970654d6f646966696560001b82600085604051602001612de2919060e09190911b815260040190565b60408051601f198184030181529190527e060300040101000000000000000000000000000000000000000000000000006143da565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110612e5057612e506190b5565b6020026020010181815250508281600181518110612e7057612e706190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d626174000000000000000000008383691907000404040404040160a81b6145b0565b60e01c95945050505050565b818314612b36577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051612ef891906190fb565b60405180910390a1612b36838361466d565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612f3f57612f3f6190b5565b6020026020010181815250508281600181518110612f5f57612f5f6190b5565b6020026020010181815250506113577f74620000000000000000000000000000436f6d6261740000000000000000000060001b82600085604051602001612cec919060e09190911b815260040190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612fe457612fe46190b5565b6020026020010181815250508281600181518110613004576130046190b5565b6020026020010181815250506113577f7462000000000000000000000000000043617074757261626c6500000000000060001b8260008560405160200161305291151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006143da565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106130bc576130bc6190b5565b60200260200101818152505082816001815181106130dc576130dc6190b5565b6020026020010181815250506113577f746200000000000000000000000000004368617267657200000000000000000060001b8260008560405160200161312c919060e09190911b815260040190565b60408051601f19818403018152919052630100400160da1b6143da565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af11580156131ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320e9190619029565b6132155750565b6022805461322290618e28565b9050600014602260405160200161323991906191d0565b6040516020818303038152906040529061326f5760405162461bcd60e51b81526004016132669190619255565b60405180910390fd5b50602481604051613280919061900d565b908152602001604051809103902054600014816040516020016132a39190619268565b604051602081830303815290604052906132d05760405162461bcd60e51b81526004016132669190619255565b5060226132dd828261931c565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561333c57600080fd5b505af1158015613350573d6000803e3d6000fd5b505050505a602355604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e091600480830192600092919082900301818387803b15801561224d57600080fd5b60005a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af1158015613464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134889190619029565b61348f5750565b600060a0826023546134a191906193dc565b6134ab91906193dc565b6134b6906001618dce565b9050600081116135085760405162461bcd60e51b815260206004820152601960248201527f676173207265706f7274206469646e27742075736520676173000000000000006044820152606401613266565b806024602260405161351a91906193ef565b90815260405190819003602001902055602580546001810182556000919091527f401968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c016135676022826193fb565b506135fb6022805461357890618e28565b80601f01602080910402602001604051908101604052809291908181526020018280546135a490618e28565b80156135f15780601f106135c6576101008083540402835291602001916135f1565b820191906000526020600020905b8154815290600101906020018083116135d457829003601f168201915b5050505050614777565b604080516020810190915260008152602290612b36908261931c565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613650576136506190b5565b6020026020010181815250508281600181518110613670576136706190b5565b602090810291909101015260006136b07f746200000000000000000000000000004f776e656442790000000000000000008383630100080160dd1b6145b0565b95945050505050565b818314612b36577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516136ef91906190fb565b60405180910390a1612b368383614870565b600061370c8561496a565b90506137218461371c87846149a7565b614a0d565b61372c858284614a75565b613737858242614a9e565b612a7a858285613a67565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110613777576137776190b5565b6020026020010181815250508281600181518110613797576137976190b5565b6020026020010181815250506113577f74620000000000000000000000000000436f6d6261740000000000000000000060001b82600285604051602001612cec919060e09190911b815260040190565b6000806137f48484614b3c565b9050806138018585614c3b565b612a7a9190618e01565b6040805160c081018252600080825260208201819052818301819052606082018190526080820181905260a082018190528251600180825281850190945291929091908160200160208202803683370190505090508281600081518110613874576138746190b5565b6020908102919091010152600080806138cd7f746200000000000000000000000000004d61746368436f6e6669670000000000857eb4060020202020201400000000000000000000000000000000000000000000614cd4565b9250925092506138de838383614da4565b9695505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613921576139216190b5565b6020026020010181815250508281600181518110613941576139416190b5565b602090810291909101015260006139797f74620000000000000000000000000000436861726765727300000000000000008383614e0a565b6020900495945050505050565b818314612b36577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516139bc91906190fb565b60405180910390a1612b368383614ecc565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613a0757613a076190b5565b6020026020010181815250508281600181518110613a2757613a276190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436861726765720000000000000000008383630100400160da1b6145b0565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110613a9c57613a9c6190b5565b6020026020010181815250508281600181518110613abc57613abc6190b5565b6020026020010181815250506113577f746200000000000000000000000000004f776e6564427900000000000000000060001b82600085604051602001613b0591815260200190565b60408051601f19818403018152919052630100080160dd1b6143da565b60006001600160a01b03821681613b388561496a565b9050613b45858284614fc6565b613b50858583615064565b613b5a858261510e565b613b66858260016151a1565b613b7385826103e8615268565b612a7a858242614a9e565b6021546040805160e081018252620186a08082526020820152614e209181019190915260006060820181905260016080830181905260a0830152613bc99291869160c082015261530d565b613bd66021548483614a75565b613be36021548484613a67565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63e5d6bf02613c08426064618dce565b6040518263ffffffff1660e01b8152600401613c2691815260200190565b600060405180830381600087803b158015613c4057600080fd5b505af1158015613c54573d6000803e3d6000fd5b50505050505050565b600081831315613cd55760405162461bcd60e51b815260206004820152603b60248201527f5374645574696c7320626f756e6428696e743235362c696e743235362c696e7460448201527f323536293a204d6178206973206c657373207468616e206d696e2e00000000006064820152608401613266565b6000808512613cf157613cec600160ff1b86618dce565b613d0c565b6001613d028619600160ff1b6193dc565b613d0c91906193dc565b90506000808512613d2a57613d25600160ff1b86618dce565b613d45565b6001613d3b8619600160ff1b6193dc565b613d4591906193dc565b90506000808512613d6357613d5e600160ff1b86618dce565b613d7e565b6001613d748619600160ff1b6193dc565b613d7e91906193dc565b90506000613d8d8484846153d0565b9050600160ff1b8110613dad57613da8600160ff1b826193dc565b613dc7565b613dbb81600160ff1b6193dc565b613dc790196001618dce565b604080518082018252600c81527f426f756e6420726573756c740000000000000000000000000000000000000000602082015290517fa322c40e00000000000000000000000000000000000000000000000000000000815260048101839052919650613e9691737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a322c40e90602401600060405180830381865afa158015613e69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e919190810190619558565b61558a565b505050509392505050565b600080613eae8585615652565b90506000613ebc86866156f2565b90506000613eca87866156f2565b90506000613ed883836157aa565b90506000613ee68988615889565b90506000613ef48284618e01565b90506064613f028282618e01565b613f0c9088618de1565b613f1691906195a1565b96505050505050505b9392505050565b600080613f338584615652565b90506000613f4186866156f2565b90506000613f4f87866156f2565b90506000613f5d82846157aa565b90506000613f6b8989615889565b90506000613f798284618e01565b905060006064613f898382618e01565b613f939089618de1565b613f9d91906195a1565b90506000613fab8c8b6158b1565b90506064613fb98282618e01565b613fc39084618de1565b613fcd91906195a1565b9c9b505050505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110614012576140126190b5565b6020026020010181815250508281600181518110614032576140326190b5565b6020026020010181815250506113577f746200000000000000000000000000005265717569726573536574757000000060001b8260008560405160200161305291151560f81b815260010190565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106140b5576140b56190b5565b60200260200101818152505082816001815181106140d5576140d56190b5565b6020026020010181815250506113577f74620000000000000000000000000000476f6c644f6e4b696c6c00000000000060001b8260008560405160200161312c919060e09190911b815260040190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061415a5761415a6190b5565b602002602001018181525050828160018151811061417a5761417a6190b5565b60209081029190910101526113577f74620000000000000000000000000000537472756374757265547970650000008260008560058111156141be576141be6190e5565b604051602001613052919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061422e5761422e6190b5565b602002602001018181525050828160018151811061424e5761424e6190b5565b6020026020010181815250506113577f74620000000000000000000000000000436f6d6261740000000000000000000060001b82600385604051602001612cec919060e09190911b815260040190565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106142d7576142d76190b5565b60200260200101818152505082816001815181106142f7576142f76190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d62617400000000000000000000836001691907000404040404040160a81b6145b0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110614377576143776190b5565b602090810291909101015260006143cf7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e140100140000000000000000000000000000000000000000000000000000006145b0565b60601c949350505050565b60006143e4615951565b9050306001600160a01b0382160361440857614403868686868661598b565b610fbc565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906144559089908990899089908990600401619618565b600060405180830381600087803b15801561446f57600080fd5b505af1158015614483573d6000803e3d6000fd5b50505050505050505050565b6040805160008082526020820190925260006144d47f746200000000000000000000000000004c6173744d61746368496e64657800008383630100400160da1b6145b0565b60e01c9392505050565b604080516000808252602082019092526000613f1f7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008360027e7d0600012020141414000000000000000000000000000000000000000000006145b0565b6000428183821161454e576000612a7a565b612a7a84836193dc565b60008060015b60008290036145a9576000614572826159a0565b9050600081900361458357506145a9565b8461458d826159ab565b10614596578092505b816145a08161965f565b9250505061455e565b5092915050565b6000806145bb615951565b9050306001600160a01b038216036145e1576145d986868686615a3c565b915050612a7a565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061462c908990899089908990600401619682565b602060405180830381865afa158015614649573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145d991906196b1565b80821461077f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516146f99060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e7460408201527f5d00000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688160405161473091906196ca565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168826040516147679190619715565b60405180910390a161077f615a69565b61198c7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316636900a3ae6024846040516147bc919061900d565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1682526148059160040190815260200190565b600060405180830381865afa158015614822573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261484a9190810190619558565b8260405160200161485c929190619752565b604051602081830303815290604052615ba9565b80821461077f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516148fc9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405161493391906196ca565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516147679190619715565b60008061497683615c1a565b614981906001619098565b905061498d8382615c9e565b63ffffffff811691506149a1838381615d46565b50919050565b604080516002808252606080830184529260208301908036833701905050905082816000815181106149db576149db6190b5565b60200260200101818152505081816001815181106149fb576149fb6190b5565b60200260200101818152505092915050565b6000614a1883615de7565b905060005b8151811015611357576000828281518110614a3a57614a3a6190b5565b602002602001015190506000614a508683615e70565b9050614a6b8286836020015184600001518560400151615f4d565b5050600101614a1d565b614a7f8383615fc3565b614a8a838383616026565b612b368382600001518360200151856160f7565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110614ad357614ad36190b5565b6020026020010181815250508281600181518110614af357614af36190b5565b6020026020010181815250506113577f746200000000000000000000000000004c617374416374696f6e00000000000060001b82600085604051602001613b0591815260200190565b600080614b4984846161c3565b90506000614b5685616266565b90506000614b6d86614b688888616272565b61630b565b614b779083618d90565b905060005b8351811015614c31576000848281518110614b9957614b996190b5565b60200260200101519050600080614bb08a84616353565b90506000614bbe8b8b616272565b8211614bca5785614bde565b614bd48b8361630b565b614bde9088618d90565b9050614bea8b856139ce565b614bf49082618de1565b925050506000614c048a846163ec565b60030b1315614c1b57614c18898383616486565b90505b614c258188618e01565b96505050600101614b7c565b5050505092915050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614c7457614c746190b5565b6020026020010181815250508281600181518110614c9457614c946190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000476f6c640000000000000000000000008383630100400160da1b6145b0565b6060600060606000614ce4615951565b9050306001600160a01b03821603614d0d57614d018787876164eb565b93509350935050614d9b565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90614d56908a908a908a906004016197d3565b600060405180830381865afa158015614d73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d01919081019061981c565b93509350939050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152614ddf846165f3565b6001600160a01b031660a0870152608086015260608501526040840152602083015281529392505050565b600080614e15615951565b9050306001600160a01b03821603614e3a57614e3285858561663b565b915050613f1f565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190614e8390889088908890600401619889565b602060405180830381865afa158015614ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e3291906196b1565b509392505050565b80821461077f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051614f589060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051614f8f91906196ca565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516147679190619715565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110614ffb57614ffb6190b5565b602002602001018181525050828160018151811061501b5761501b6190b5565b6020026020010181815250506113577f746200000000000000000000000000004372656174656442794164647265737360001b82600085604051602001613b0591815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110615099576150996190b5565b602002602001018181525050826001600160a01b031660001b816001815181106150c5576150c56190b5565b6020026020010181815250506113577f746200000000000000000000000000004d61746368506c61796572000000000060001b82600085604051602001613b0591815260200190565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110615144576151446190b5565b602002602001018181525050612b367f746200000000000000000000000000004d61746368506c61796572730000000060001b8260008560405160200161518d91815260200190565b604051602081830303815290604052616660565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106151d6576151d66190b5565b60200260200101818152505082816001815181106151f6576151f66190b5565b6020026020010181815250506113577f74620000000000000000000000000000506c617965720000000000000000000060001b8260008560405160200161312c919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061529d5761529d6190b5565b60200260200101818152505082816001815181106152bd576152bd6190b5565b6020026020010181815250506113577f74620000000000000000000000000000476f6c6400000000000000000000000060001b8260008560405160200161312c919060e09190911b815260040190565b600061533a826000015183602001518460400151856060015186608001518760a001518860c00151616711565b6040805160028082526060808301845293945060009392849291906020830190803683370190505090508681600081518110615378576153786190b5565b6020026020010181815250508581600181518110615398576153986190b5565b6020908102919091010152613c547f74620000000000000000000000000000436f6d6261740000000000000000000082868686615f4d565b6000818311156154485760405162461bcd60e51b815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152608401613266565b8284101580156154585750818411155b15615464575082613f1f565b600061547084846193dc565b61547b906001618dce565b90506003851115801561548d57508481115b1561549c57614e328585618dce565b6154a960036000196193dc565b85101580156154c257506154bf856000196193dc565b81115b156154dd576154d3856000196193dc565b614e3290846193dc565b828511156155335760006154f184876193dc565b905060006154ff83836198b5565b90508060000361551457849350505050613f1f565b60016155208288618dce565b61552a91906193dc565b93505050614ec4565b83851015614ec457600061554786866193dc565b9050600061555583836198b5565b90508060000361556a57859350505050613f1f565b61557481866193dc565b61557f906001618dce565b979650505050505050565b60006a636f6e736f6c652e6c6f676001600160a01b031683836040516024016155b49291906198c9565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4b5c42770000000000000000000000000000000000000000000000000000000017905251615617919061900d565b600060405180830381855afa9150503d8060008114610fbc576040519150601f19603f3d011682016040523d82523d6000602084013e610fbc565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061568b5761568b6190b5565b60200260200101818152505082816001815181106156ab576156ab6190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d62617400000000000000000000836002691907000404040404040160a81b6145b0565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061572b5761572b6190b5565b602002602001018181525050828160018151811061574b5761574b6190b5565b602090810291909101015260006157927f74620000000000000000000000000000436f6d62617400000000000000000000836006691907000404040404040160a81b6145b0565b905060f881901c600d8111156136b0576136b06190e5565b6040805160028082526060820183526000928392919060208301908036833701905050905083600d8111156157e1576157e16190e5565b60ff1660001b816000815181106157fa576157fa6190b5565b60200260200101818152505082600d811115615818576158186190e5565b60ff1660001b81600181518110615831576158316190b5565b60209081029190910101526000612eb67f746200000000000000000000000000004172636865747970654d6f646966696583837e060300040101000000000000000000000000000000000000000000000000006145b0565b6000806158958461674c565b905060006158a385856167de565b905060006138de83836168c6565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106158ea576158ea6190b5565b602002602001018181525050828160018151811061590a5761590a6190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d62617400000000000000000000836003691907000404040404040160a81b6145b0565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611ed7573391505090565b612261858561599a8487616962565b85616993565b60006129fb82616c2e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106159e4576159e46190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d61746368536b79000000000000000083837e400200202000000000000000000000000000000000000000000000000000006145b0565b60006136b0615a4b8686616cb0565b60ff858116601b0360080285901c16615a648587616962565b616d06565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15615b7b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052615b1a9291602001618fc5565b60408051601f1981840301815290829052615b349161900d565b6000604051808303816000865af19150503d8060008114615b71576040519150601f19603f3d011682016040523d82523d6000602084013e615b76565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b61198c81604051602401615bbd9190619255565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052616d57565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110615c5357615c536190b5565b60209081029190910101526000615c937f746200000000000000000000000000004d61746368456e74697479436f756e748383630100400160da1b6145b0565b60e01c949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110615cd457615cd46190b5565b602002602001018181525050612b367f746200000000000000000000000000004d61746368456e74697479436f756e7460001b8260008560405160200161312c919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b6000615d5182616d78565b6040805160028082526060808301845293945060009392849291906020830190803683370190505090508681600081518110615d8f57615d8f6190b5565b6020026020010181815250508581600181518110615daf57615daf6190b5565b6020908102919091010152613c547f6f7400000000000000000000000000004d61746368000000000000000000000082868686615f4d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110615e2157615e216190b5565b60209081029190910101526000615e597f7462000000000000000000000000000054656d706c6174655461626c657300008383616da3565b9050612a7a615e6b8260008451616e5a565b616ee8565b6040805160608082018352600080835260208301829052828401829052835160028082529281019094529192908160200160208202803683370190505090508381600081518110615ec357615ec36190b5565b6020026020010181815250508281600181518110615ee357615ee36190b5565b602090810291909101015260008080615f3c7f7462000000000000000000000000000054656d706c617465436f6e74656e7400857e20010220000000000000000000000000000000000000000000000000000000614cd4565b92509250925061557f838383616ef9565b6000615f57615951565b9050306001600160a01b03821603615f76576144038686868686616f3c565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061445590899089908990899089906004016198ee565b6000615fcf83836167de565b90506000615ff083615fea8685600001518660200151616f52565b90617022565b8051909150156160135761600e8483600001518460200151846170f0565b611357565b61135784836000015184602001516171b3565b6000616061826000015183602001516040805160e093841b60208201529190921b602482015281516008818303018152602890910190915290565b604080516002808252606080830184529394506000939284929190602083019080368337019050509050868160008151811061609f5761609f6190b5565b60200260200101818152505085816001815181106160bf576160bf6190b5565b6020908102919091010152613c547f74620000000000000000000000000000506f736974696f6e000000000000000082868686615f4d565b6040805160038082526080820190925260009160208201606080368337019050509050848160008151811061612e5761612e6190b5565b6020026020010181815250508360030b60001b81600181518110616154576161546190b5565b6020026020010181815250508260030b60001b8160028151811061617a5761617a6190b5565b6020026020010181815250506122617f74620000000000000000000000000000456e7469746965734174506f7369746960001b8260008560405160200161518d91815260200190565b6040805160028082526060808301845292600092919060208301908036833701905050905083816000815181106161fc576161fc6190b5565b602002602001018181525050828160018151811061621c5761621c6190b5565b602090810291909101015260006162547f74620000000000000000000000000000436861726765727300000000000000008383616da3565b90506136b0615e6b8260008451616e5a565b60006129fb824261630b565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106162ab576162ab6190b5565b60200260200101818152505082816001815181106162cb576162cb6190b5565b602090810291909101015260006136b07f746200000000000000000000000000004c617374416374696f6e0000000000008383630100080160dd1b6145b0565b6000806163178461380b565b9050806020015183101561632f5760009150506129fb565b600081602001518461634191906193dc565b90508160400151816136b0919061993f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061638c5761638c6190b5565b60200260200101818152505082816001815181106163ac576163ac6190b5565b602090810291909101015260006136b07f74620000000000000000000000000000436861726765644279537461727400008383630100080160dd1b6145b0565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110616425576164256190b5565b6020026020010181815250508281600181518110616445576164456190b5565b60209081029190910101526000612eb67f7462000000000000000000000000000043686172676543617000000000000000838364020080010160d21b6145b0565b600080616493858561726b565b8051602082015191925060030b906164ab9085618e01565b60030b13156164c857602081015181516164c59190618d90565b92505b6164e285858584602001516164dd9190618e01565b61731b565b50909392505050565b60606000606060006164fc856173de565b9050616509878783617401565b935060006165168661743a565b905080156165e8576165288888617477565b935066ffffffffffffff841667ffffffffffffffff81111561654c5761654c618e5c565b6040519080825280601f01601f191660200182016040528015616576576020820181803683370190505b5092506020830160005b828160ff1610156165e55760006165988b8b8461748a565b905060006165b5888460ff166028026038011c64ffffffffff1690565b90506165c4826000838761750a565b6165ce8185618dce565b9350505080806165dd90619953565b915050616580565b50505b505093509350939050565b60008060008060008061660a876000016020015190565b60408801516060808a015160808b015160a08c015160c0909c0151949c939b919a50985096509190911c9350915050565b6000612a7a8261664b8686617477565b9060ff166028026038011c64ffffffffff1690565b600061666a615951565b9050306001600160a01b0382160361668d57616688858585856175d6565b612261565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906166d8908890889088908890600401619972565b600060405180830381600087803b1580156166f257600080fd5b505af1158015616706573d6000803e3d6000fd5b505050505050505050565b60608787878787878760405160200161673097969594939291906199a6565b6040516020818303038152906040529050979650505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110616785576167856190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d61746368436f6e66696700000000008360037eb40600202020202014000000000000000000000000000000000000000000006145b0565b60408051808201825260008082526020820181905282516002808252606082019094529192909190816020016020820280368337019050509050838160008151811061682c5761682c6190b5565b602002602001018181525050828160018151811061684c5761684c6190b5565b60209081029190910101526000808061688e7f74620000000000000000000000000000506f736974696f6e00000000000000008564020080010160d21b614cd4565b6040805180820190915260008082526020808301918252850151602486015160e090811d909252901d8152929550909350915061557f565b6000806168d38484617611565b905060005b815181101561695a576000616906868484815181106168f9576168f96190b5565b6020026020010151617626565b90506000616934827f7462000000000000000000000000000041726d6f724d6f6469666965720000006176b2565b9050616944816020015160e01c90565b61694e9086618e01565b945050506001016168d8565b505092915050565b600080805b8360ff16811015614ec45761698960ff601b83900360080287901c1683618dce565b9150600101616967565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603616a1d57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051616a1093929190619a0e565b60405180910390a2611357565b6000616a298585616cb0565b90506000616a3686617743565b905060005b8151811015616b0b576000828281518110616a5857616a586190b5565b60200260200101519050616a846004826affffffffffffffffffffff19166177cc90919063ffffffff16565b15616b02576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90616acf908b908b908b908b90600401619a41565b600060405180830381600087803b158015616ae957600080fd5b505af1158015616afd573d6000803e3d6000fd5b505050505b50600101616a3b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051616b4093929190619a0e565b60405180910390a2616b5b828565ffffffffffff16856177ea565b60005b8151811015613c54576000828281518110616b7b57616b7b6190b5565b60200260200101519050616ba76008826affffffffffffffffffffff19166177cc90919063ffffffff16565b15616c25576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190616bf2908b908b908b908b90600401619a41565b600060405180830381600087803b158015616c0c57600080fd5b505af1158015616c20573d6000803e3d6000fd5b505050505b50600101616b5e565b604080516001808252818301909252600091829190602080830190803683370190505090508263ffffffff1660001b81600081518110616c7057616c706190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d61746368496e646578546f456e74698383630100080160dd1b6145b0565b60008282604051602001616cc5929190619a7a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210616d2c57602082048401935060208281616d2857616d286194ce565b0691505b508254600882021b602082900380841115614ec4576001850154600882021c82179150509392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b606081604051602001616d8d91815260200190565b6040516020818303038152906040529050919050565b60606000616daf615951565b9050306001600160a01b03821603616dcc57614e32858585617800565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790616e1590889088908890600401619889565b600060405180830381865afa158015616e32573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614e329190810190619ab6565b600081831180616e6a5750835182115b15616ea7578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161326693929190619aeb565b60208401616eb58482618dce565b90506000616ec385856193dc565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000613f1f8360206000617825565b6040805160608082018352600082526020820181905291810191909152616f1f846178a0565b8152616f2b83836178ad565b604083015260208201529392505050565b6122618585858585616f4d8b6178fc565b617981565b60408051600380825260808201909252606091600091906020820184803683370190505090508481600081518110616f8c57616f8c6190b5565b6020026020010181815250508360030b60001b81600181518110616fb257616fb26190b5565b6020026020010181815250508260030b60001b81600281518110616fd857616fd86190b5565b602090810291909101015260006170107f74620000000000000000000000000000456e7469746965734174506f736974698383616da3565b90506138de615e6b8260008451616e5a565b60606000835167ffffffffffffffff81111561704057617040618e5c565b604051908082528060200260200182016040528015617069578160200160208202803683370190505b5090506000805b85518110156170e6578486828151811061708c5761708c6190b5565b6020026020010151146170de578581815181106170ab576170ab6190b5565b60200260200101518383815181106170c5576170c56190b5565b6020908102919091010152816170da816190cb565b9250505b600101617070565b5081529392505050565b60408051600380825260808201909252600091602082016060803683370190505090508481600081518110617127576171276190b5565b6020026020010181815250508360030b60001b8160018151811061714d5761714d6190b5565b6020026020010181815250508260030b60001b81600281518110617173576171736190b5565b60209081029190910101526122617f74620000000000000000000000000000456e7469746965734174506f736974698260006171ae86617cba565b617cca565b604080516003808252608082019092526000916020820160608036833701905050905083816000815181106171ea576171ea6190b5565b6020026020010181815250508260030b60001b81600181518110617210576172106190b5565b6020026020010181815250508160030b60001b81600281518110617236576172366190b5565b60209081029190910101526113577f74620000000000000000000000000000456e7469746965734174506f7369746982617d3d565b6040805180820182526000808252602082018190528251600280825260608201909452919290919081602001602082028036833701905050905083816000815181106172b9576172b96190b5565b60200260200101818152505082816001815181106172d9576172d96190b5565b60209081029190910101526000808061688e7f74620000000000000000000000000000436861726765436170000000000000008564020080010160d21b614cd4565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110617350576173506190b5565b6020026020010181815250508281600181518110617370576173706190b5565b6020026020010181815250506113577f746200000000000000000000000000004368617267654361700000000000000060001b826001856040516020016173c0919060e09190911b815260040190565b60408051601f1981840301815291905264020080010160d21b6143da565b600060086173ee600260206193dc565b6173f89190618db7565b9190911c919050565b6060816000036174205750604080516020810190915260008152613f1f565b600061742c8585616cb0565b90506136b081600085617daa565b6000600860018061744d600260206193dc565b61745791906193dc565b61746191906193dc565b61746b9190618db7565b8260ff911c1692915050565b6000613f1f6174868484617dcd565b5490565b6000838360405160200161749f929190619a7a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215617591576020831061753457602083048401935060208381617530576175306194ce565b0692505b82156175915760208390036000818410156175575750600019600884021c617561565b50600019600882021c5b8554600886021b818451168219821617845250818411617582575050611357565b50600194909401939182900391015b5b602082106175b35783548152600190930192601f1990910190602001617592565b8115611357576000600019600884021c8251865482191691161782525050505050565b60006175e28585617477565b905060006175ff828560ff166028026038011c64ffffffffff1690565b9050610fbc8686868460008888617e23565b6060613f1f838360000151846020015161825d565b60408051600180825281830190925260009182919060208083019080368337019050509050838160008151811061765f5761765f6190b5565b60200260200101818152505060006176a77f746200000000000000000000000000004c6576656c54656d706c61746573000060001b836000876020028860010160200261831b565b90506136b081619074565b6040805160028082526060808301845292600092919060208301908036833701905050905083816000815181106176eb576176eb6190b5565b602002602001018181525050828160018151811061770b5761770b6190b5565b602090810291909101015260006136b07f7462000000000000000000000000000054656d706c617465436f6e74656e74008383616da3565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061777d5761777d6190b5565b602090810291909101015260006177b57f746273746f726500000000000000000053746f7265486f6f6b730000000000008383617800565b9050612a7a6177c78260008451616e5a565b6183e0565b60008160ff16826177dd8560581c90565b1660ff1614905092915050565b612b36838383516177fb8560200190565b6183f1565b6060612a7a61781085858561748a565b60006178208561664b8989617477565b617daa565b606060006178338560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281617859576178596194ce565b04905060405193506020840160208202810160405281855260005b82811015617894578451871c825293870193602090910190600101617874565b50505050509392505050565b60208101516000906129fb565b6060806000603885901c64ffffffffff166178d16178cc868484616e5a565b6184b0565b935090508064ffffffffff606087901c16016178f16178cc868484616e5a565b925050509250929050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161794b57507e60030220202000000000000000000000000000000000000000000000000000919050565b6129fb6179787f746273746f72650000000000000000005461626c65730000000000000000000084618530565b60206000616d06565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603617a0d57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051617a009493929190619b10565b60405180910390a2610fbc565b6000617a1887617743565b905060005b8151811015617af1576000828281518110617a3a57617a3a6190b5565b60200260200101519050617a666001826affffffffffffffffffffff19166177cc90919063ffffffff16565b15617ae8576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90617ab5908c908c908c908c908c908c90600401619b4f565b600060405180830381600087803b158015617acf57600080fd5b505af1158015617ae3573d6000803e3d6000fd5b505050505b50600101617a1d565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051617b289493929190619b10565b60405180910390a26000617b3c8888616cb0565b90506000602087019050617b548260008951846183f1565b6000617b5f8561743a565b1115617be3576000617b718a8a617dcd565b878155905060208601915060008060005b617b8b8861743a565b8160ff161015617bde57617ba08d8d8361748a565b9250617bbb8a8260ff166028026038011c64ffffffffff1690565b9150617bca83600084886183f1565b617bd48286618dce565b9450600101617b82565b505050505b60005b8351811015614483576000848281518110617c0357617c036190b5565b60200260200101519050617c2f6002826affffffffffffffffffffff19166177cc90919063ffffffff16565b15617cb1576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90617c7e908e908e908e908e908e908e90600401619b4f565b600060405180830381600087803b158015617c9857600080fd5b505af1158015617cac573d6000803e3d6000fd5b505050505b50600101617be6565b606081613f1f816020600061854c565b6000617cd4615951565b9050306001600160a01b03821603617cf257616688858585856185a0565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906166d8908890889088908890600401619972565b6000617d47615951565b9050306001600160a01b03821603617d6357612b3683836185db565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90613c269086908690600401619ba8565b60405160208101601f19603f8484010116604052828252614ec48585858461750a565b60008282604051602001617de2929190619a7a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614617ee3577f74620000000000000000000000000000000000000000000000000000000000008788604051602001617ea191815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252613266939291600401619bc1565b6000617efe828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683617f1791906193dc565b617f219190618dce565b9050808214158015617f43575081617f398688619c02565b64ffffffffff1614155b15617f93576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401613266565b818664ffffffffff161115617fe4576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401613266565b6000617ff18489846185ee565b90506000617ffe8b617743565b905060005b81518110156180c9576000828281518110618020576180206190b5565b6020026020010151905061804c6010826affffffffffffffffffffff19166177cc90919063ffffffff16565b156180c057606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161808d9796959493929190619c20565b600060405180830381600087803b1580156180a757600080fd5b505af11580156180bb573d6000803e3d6000fd5b505050505b50600101618003565b5064ffffffffff881660005b8a60ff168160ff161015618108576180fc878260ff166028026038011c64ffffffffff1690565b909101906001016180d5565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161814396959493929190619c7e565b60405180910390a25082841461816457600061815f8c8c617dcd565b839055505b60006181718c8c8c61748a565b9050618185818a64ffffffffff16896177ea565b5060005b815181101561824f5760008282815181106181a6576181a66190b5565b602002602001015190506181d26020826affffffffffffffffffffff19166177cc90919063ffffffff16565b1561824657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016182139796959493929190619c20565b600060405180830381600087803b15801561822d57600080fd5b505af1158015618241573d6000803e3d6000fd5b505050505b50600101618189565b505050505050505050505050565b60408051600380825260808201909252606091600091906020820184803683370190505090508481600081518110618297576182976190b5565b6020026020010181815250508360030b60001b816001815181106182bd576182bd6190b5565b6020026020010181815250508260030b60001b816002815181106182e3576182e36190b5565b602090810291909101015260006170107f746200000000000000000000000000004c6576656c506f736974696f6e496e648383616da3565b60606000618327615951565b9050306001600160a01b0382160361834e5761834687878787876186bc565b9150506136b0565b6040517f4dc77d970000000000000000000000000000000000000000000000000000000081526001600160a01b03821690634dc77d979061839b908a908a908a908a908a90600401619ccd565b600060405180830381865afa1580156183b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526183469190810190619ab6565b60606000613f1f8360156000617825565b821561846b576020831061841b57602083048401935060208381618417576184176194ce565b0692505b821561846b5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161845c575050611357565b50600194909401939182900391015b5b6020821061848d5780518455600190930192601f199091019060200161846c565b8115611357576000600019600884021c8554835182191691161785555050505050565b606060006184be8360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff8111156184ec576184ec618e5c565b6040519080825280601f01601f191660200182016040528015618516576020820181803683370190505b509250602083016185288382846187bf565b505050919050565b6040805160208101849052908101829052600090606001616cc5565b8251606090600061855d8583618db7565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015617894578051871b8352918701916001919091019060200161857f565b60006185ac8585617477565b905060006185c9828560ff166028026038011c64ffffffffff1690565b9050610fbc8686866000858888617e23565b61077f82826185e9856178fc565b61880a565b600064ffffffffff821115618632576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401613266565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510618664578085038201915061866c565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b606081831115618702576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401613266565b600061870e8787617477565b9050600061872b828760ff166028026038011c64ffffffffff1690565b9050808510158061873b57508084115b15618796578081861015618759576187546001866193dc565b61875b565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401613266565b60006187a389898961748a565b90506187b28187888803617daa565b9998505050505050505050565b5b602081106187df578251825260209283019290910190601f19016187c0565b806000036187ec57505050565b6000600019600883021c905080835116811985511617835250505050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361889057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516188839190619d06565b60405180910390a2505050565b600061889b84617743565b905060005b815181101561896e5760008282815181106188bd576188bd6190b5565b602002602001015190506188e96040826affffffffffffffffffffff19166177cc90919063ffffffff16565b15618965576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590618932908990899089906004016197d3565b600060405180830381600087803b15801561894c57600080fd5b505af1158015618960573d6000803e3d6000fd5b505050505b506001016188a0565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161899f9190619d06565b60405180910390a260006189b38585616cb0565b9050618a0c8160006189c4866173de565b67ffffffffffffffff8111156189dc576189dc618e5c565b6040519080825280601f01601f191660200182016040528015618a06576020820181803683370190505b506177ea565b6000618a178461743a565b1115618a38576000618a298686617dcd565b9050618a36816020618b09565b505b60005b8251811015610fbc576000838281518110618a5857618a586190b5565b60200260200101519050618a846080826affffffffffffffffffffff19166177cc90919063ffffffff16565b15618b00576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90618acd908a908a908a906004016197d3565b600060405180830381600087803b158015618ae757600080fd5b505af1158015618afb573d6000803e3d6000fd5b505050505b50600101618a3b565b60006020618b1883601f618dce565b618b22919061993f565b618b2c9084618dce565b90505b80831015612b365760008355600183019250618b2f565b6020808252825182820181905260009190848201906040850190845b81811015618b875783516001600160a01b031683529284019291840191600101618b62565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b84811015618c5157898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015618c3c5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190618bfa565b50978a01979550505091870191600101618bbd565b50919998505050505050505050565b8035600381900b8114611ed757600080fd5b60008060008060808587031215618c8857600080fd5b618c9185618c60565b9350618c9f60208601618c60565b9250618cad60408601618c60565b9150618cbb60608601618c60565b905092959194509250565b60005b83811015618ce1578181015183820152602001618cc9565b50506000910152565b60008151808452618d02816020860160208601618cc6565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015618d6d57603f19888603018452618d5b858351618cea565b94509285019290850190600101618d3f565b5092979650505050505050565b634e487b7160e01b600052601160045260246000fd5b600382810b9082900b03637fffffff198112637fffffff821317156129fb576129fb618d7a565b80820281158282048414176129fb576129fb618d7a565b808201808211156129fb576129fb618d7a565b60008260030b8260030b028060030b91508082146145a9576145a9618d7a565b600381810b9083900b01637fffffff8113637fffffff19821217156129fb576129fb618d7a565b600181811c90821680618e3c57607f821691505b6020821081036149a157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060808201868352602086602085015260406080604086015282875180855260a08701915060208901945060005b81811015618ece5785518051600390810b855290860151900b858401529484019491830191600101618ea1565b50508094505050505082606083015295945050505050565b60006101a08201905083825282516020830152602083015160408301526040830151618f17606084018260030b9052565b506060830151618f2c608084018260030b9052565b506080830151618f4160a084018260030b9052565b5060a0830151618f5660c084018260030b9052565b5060c083015180151560e08401525060e0830151610100618f7a8185018315159052565b8401519050610120618f8f8482018315159052565b8401519050610140618fa48482018315159052565b84015161016084810191909152909301516101809092019190915292915050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251618fff816004850160208701618cc6565b919091016004019392505050565b6000825161901f818460208701618cc6565b9190910192915050565b60006020828403121561903b57600080fd5b81518015158114613f1f57600080fd5b60006020828403121561905d57600080fd5b81516001600160a01b0381168114613f1f57600080fd5b805160208083015191908110156149a15760001960209190910360031b1b16919050565b63ffffffff8181168382160190808211156145a9576145a9618d7a565b634e487b7160e01b600052603260045260246000fd5b600060001982036190de576190de618d7a565b5060010190565b634e487b7160e01b600052602160045260246000fd5b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201526000613f1f6080830184618cea565b6000815461914f81618e28565b60018281168015619167576001811461919a57614c31565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450614c31565b8560005260208060002060005b858110156191c05781548a8201529084019082016191a7565b5050509590910195945050505050565b7f676173207265706f72742022000000000000000000000000000000000000000081526000619202600c830184619142565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b602081526000613f1f6020830184618cea565b7f676173207265706f7274202200000000000000000000000000000000000000008152600082516192a081600c850160208701618cc6565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115612b36576000816000526020600020601f850160051c810160208610156192fd5750805b601f850160051c820191505b81811015610fbc57828155600101619309565b815167ffffffffffffffff81111561933657619336618e5c565b61934a816193448454618e28565b846192d4565b602080601f83116001811461937f57600084156193675750858301515b600019600386901b1c1916600185901b178555610fbc565b600085815260208120601f198616915b828110156193ae5788860151825594840194600190910190840161938f565b50858210156193cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156129fb576129fb618d7a565b6000613f1f8284619142565b818103619406575050565b6194108254618e28565b67ffffffffffffffff81111561942857619428618e5c565b619436816193448454618e28565b6000601f82116001811461946a57600083156194525750848201545b600019600385901b1c1916600184901b178455612261565b600085815260209020601f19841690600086815260209020845b838110156194a45782860154825560019586019590910190602001619484565b50858310156193cc5793015460001960f8600387901b161c19169092555050600190811b01905550565b634e487b7160e01b600052601260045260246000fd5b600067ffffffffffffffff808411156194ff576194ff618e5c565b604051601f8501601f19908116603f0116810190828211818310171561952757619527618e5c565b8160405280935085815286868601111561954057600080fd5b61954e866020830187618cc6565b5050509392505050565b60006020828403121561956a57600080fd5b815167ffffffffffffffff81111561958157600080fd5b8201601f8101841361959257600080fd5b612a7a848251602084016194e4565b60008160030b8360030b806195b8576195b86194ce565b6000198114637fffffff19831416156195d3576195d3618d7a565b90059392505050565b60008151808452602080850194506020840160005b8381101561960d578151875295820195908201906001016195f1565b509495945050505050565b85815260a06020820152600061963160a08301876195dc565b60ff86166040840152828103606084015261964c8186618cea565b9150508260808301529695505050505050565b600063ffffffff80831681810361967857619678618d7a565b6001019392505050565b84815260806020820152600061969b60808301866195dc565b60ff949094166040830152506060015292915050565b6000602082840312156196c357600080fd5b5051919050565b60408152600061970760408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061970760408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b7f474153205245504f52543a20000000000000000000000000000000000000000081526000835161978a81600c850160208801618cc6565b7f2000000000000000000000000000000000000000000000000000000000000000600c9184019182015283516197c781600d840160208801618cc6565b01600d01949350505050565b8381526060602082015260006197ec60608301856195dc565b9050826040830152949350505050565b600082601f83011261980d57600080fd5b613f1f838351602085016194e4565b60008060006060848603121561983157600080fd5b835167ffffffffffffffff8082111561984957600080fd5b619855878388016197fc565b945060208601519350604086015191508082111561987257600080fd5b5061987f868287016197fc565b9150509250925092565b8381526060602082015260006198a260608301856195dc565b905060ff83166040830152949350505050565b6000826198c4576198c46194ce565b500690565b6040815260006198dc6040830185618cea565b82810360208401526136b08185618cea565b85815260a06020820152600061990760a08301876195dc565b82810360408401526199198187618cea565b905084606084015282810360808401526199338185618cea565b98975050505050505050565b60008261994e5761994e6194ce565b500490565b600060ff821660ff810361996957619969618d7a565b60010192915050565b84815260806020820152600061998b60808301866195dc565b60ff85166040840152828103606084015261557f8185618cea565b60e088811b825287811b600483015286811b600883015285811b600c83015284811b601083015283901b60148201526000600e83106199f557634e487b7160e01b600052602160045260246000fd5b5060f89190911b60188201526019019695505050505050565b606081526000619a2160608301866195dc565b65ffffffffffff8516602084015282810360408401526138de8185618cea565b848152608060208201526000619a5a60808301866195dc565b65ffffffffffff85166040840152828103606084015261557f8185618cea565b8281526000602080830184516020860160005b82811015619aa957815184529284019290840190600101619a8d565b5091979650505050505050565b600060208284031215619ac857600080fd5b815167ffffffffffffffff811115619adf57600080fd5b612a7a848285016197fc565b606081526000619afe6060830186618cea565b60208301949094525060400152919050565b608081526000619b2360808301876195dc565b8281036020840152619b358187618cea565b9050846040840152828103606084015261557f8185618cea565b86815260c060208201526000619b6860c08301886195dc565b8281036040840152619b7a8188618cea565b90508560608401528281036080840152619b948186618cea565b9150508260a0830152979650505050505050565b828152604060208201526000612a7a60408301846195dc565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006136b06060830184618cea565b64ffffffffff8181168382160190808211156145a9576145a9618d7a565b87815260e060208201526000619c3960e08301896195dc565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152619c708185618cea565b9a9950505050505050505050565b60c081526000619c9160c08301896195dc565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526187b28185618cea565b85815260a060208201526000619ce660a08301876195dc565b60ff95909516604083015250606081019290925260809091015292915050565b602081526000613f1f60208301846195dc56fe646566656e64696e6720706c6179657220646964206e6f74206761696e20676f6c6461747461636b696e6720706c6179657220646964206e6f74206761696e20676f6c6441747461636b20756e697420616e6420636170747572696e6720612063686172676572a2646970667358221220d557f5cf5ee9bb7c42e30666cd4bbf6dd564a1563ee60d6dbcd8f74e1945e0df64736f6c63430008180033","sourceMap":"898:8611:329:-:0;;;1572:26:148;;;-1:-1:-1;;1572:26:148;1594:4;1572:26;;;2169:21:338;;228:9:12;186:51;;898:8611:329;;;;;;;;;;;;;;;;","linkReferences":{"src/libraries/LibCombatOutcome.sol":{"LibCombatOutcome":[{"start":7240,"length":20}]}}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106101ae5760003560e01c80638ce269ef116100ee578063baf3306811610097578063e0e809c811610071578063e0e809c8146102d3578063e20c9f71146102db578063ea3f81af146102e3578063fa7626d4146102eb57600080fd5b8063baf3306814610298578063bfcc9d1d146102a0578063d46a7065146102a857600080fd5b8063a0775414116100c8578063a077541414610270578063b5508aa914610278578063ba414fa61461028057600080fd5b80638ce269ef146102585780638f5f540b14610260578063916a17c61461026857600080fd5b80633f7286f41161015b5780636a65c69d116101355780636a65c69d146102205780637968c48b14610228578063844d3e8a1461023057806385226c811461024357600080fd5b80633f7286f4146101fb578063538de7421461020357806366d9a9a01461020b57600080fd5b8063279de9fd1161018c578063279de9fd146101e3578063326ff597146101eb5780633e5e3c23146101f357600080fd5b80630a9254e4146101b35780631038400d146101bd5780631ed7831c146101c5575b600080fd5b6101bb6102f8565b005b6101bb6105b6565b6101cd610783565b6040516101da9190618b46565b60405180910390f35b6101bb6107e5565b6101bb6108d0565b6101cd610a52565b6101cd610ab2565b6101bb610b12565b610213610fc4565b6040516101da9190618b93565b6101bb6110c8565b6101bb611212565b6101bb61023e366004618c72565b61135d565b61024b6115e3565b6040516101da9190618d16565b6101bb6116b3565b6101bb61188c565b61021361198f565b6101bb611a8a565b61024b611cca565b610288611d9a565b60405190151581526020016101da565b6101bb611edc565b6101bb6120cf565b601b546102bb906001600160a01b031681565b6040516001600160a01b0390911681526020016101da565b6101bb612268565b6101cd6123ff565b6101bb61245f565b6000546102889060ff1681565b6103006126b8565b601b54601c805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039092169190911790557f64656275670000000000000000000000000000000000000000000000000000006103586127cb565b6103626000612885565b601c546040517f99b526d600000000000000000000000000000000000000000000000000000000815260048101839052600160248201526001600160a01b03909116906399b526d690604401600060405180830381600087803b1580156103c857600080fd5b505af11580156103dc573d6000803e3d6000fd5b5050601c546103f792506001600160a01b03169050826128f9565b6021555b610406602154612a01565b60000361049257601c546021546040517ff29bced00000000000000000000000000000000000000000000000000000000081526001600160a01b039092169163f29bced09161045b9160040190815260200190565b600060405180830381600087803b15801561047557600080fd5b505af1158015610489573d6000803e3d6000fd5b505050506103fb565b61049e60215442612a82565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156104fc57600080fd5b505af1158015610510573d6000803e3d6000fd5b5050505061051c612b3b565b601e805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055610551612b3b565b601f805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055610586612b3b565b6020805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b039290921691909117905550565b6105be611212565b6105c66127cb565b6105d66021546028546001612c18565b6105e66021546029546002612c18565b6105f460016002601e612d0f565b610621600260017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe2612d0f565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561067f57600080fd5b505af1158015610693573d6000803e3d6000fd5b5050505060006106a7602154602954612e17565b905060006106b9602154602854612e17565b90506106c36120cf565b6107216106d4602154602954612e17565b60030b6106e361659085618d90565b60030b6040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b61077f610732602154602854612e17565b60030b6107416136b084618d90565b60030b6040518060400160405280601681526020017f756e65787065637465642061747461636b657220485000000000000000000000815250612ec2565b5050565b6060600d8054806020026020016040519081016040528092919081815260200182805480156107db57602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116107bd575b5050505050905090565b6107ed611212565b6107f56127cb565b6108066021546029546103e8612f0a565b6108166021546029546001612faf565b6108276021546029546101f4613087565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561088557600080fd5b505af1158015610899573d6000803e3d6000fd5b505050506108be604051806060016040528060238152602001619d5e60239139613149565b6108c66120cf565b6108ce6133bd565b565b6108d8611212565b6108e06127cb565b6108f06021546029546001612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561094e57600080fd5b505af1158015610962573d6000803e3d6000fd5b505050506109a46040518060400160405280601781526020017f41747461636b20756e697420616e64206b696c6c696e67000000000000000000815250613149565b6109ac6120cf565b6109b46133bd565b610a056109c5602154602954612e17565b60030b60006040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b6108ce610a16602154602954613617565b60408051808201909152601981527f756e657870656374656420646566656e646572206f776e65720000000000000060208201526000906136b9565b6060600f8054806020026020016040519081016040528092919081815260200182805480156107db576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107bd575050505050905090565b6060600e8054806020026020016040519081016040528092919081815260200182805480156107db576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107bd575050505050905090565b610b1a611212565b610b226127cb565b602154604080518082019091526001815260006020820181905291610b6a917f476f6c644d696e65000000000000000000000000000000000000000000000000908490613701565b9050610b7e602154602854620493e0613742565b610b90602154602954620493e0613742565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610bee57600080fd5b505af1158015610c02573d6000803e3d6000fd5b505050506000610c166021546026546137e7565b601e546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015610c8b57600080fd5b505af1158015610c9f573d6000803e3d6000fd5b5050601c546021546028546040517fe89f767200000000000000000000000000000000000000000000000000000000815260048101929092526024820152604481018690526001600160a01b03909116925063e89f76729150606401600060405180830381600087803b158015610d1557600080fd5b505af1158015610d29573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610d8b57600080fd5b505af1158015610d9f573d6000803e3d6000fd5b50505050610df0610db260215484613617565b6026546040518060400160405280601581526020017f756e6578706563746564206d696e65206f776e657200000000000000000000008152506136b9565b602154737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e5d6bf0290610e189061380b565b60400151610e27906002618db7565b610e319042618dce565b6040518263ffffffff1660e01b8152600401610e4f91815260200190565b600060405180830381600087803b158015610e6957600080fd5b505af1158015610e7d573d6000803e3d6000fd5b50505050610ecf610e926021546026546138e8565b60016040518060400160405280601881526020017f756e6578706563746564206368617267657220636f756e740000000000000000815250613986565b610ed76127cb565b610f4a610ee86021546026546137e7565b60030b610ef7602154856139ce565b610f02906002618de1565b610f0c9084618e01565b60030b6040518060400160405280601481526020017f756e657870656374656420676f6c64206761696e000000000000000000000000815250612ec2565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015610fa857600080fd5b505af1158015610fbc573d6000803e3d6000fd5b505050505050565b60606012805480602002602001604051908101604052809291908181526020016000905b828210156110bf5760008481526020908190206040805180820182526002860290920180546001600160a01b031683526001810180548351818702810187019094528084529394919385830193928301828280156110a757602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200190600401906020826003010492830192600103820291508084116110545790505b50505050508152505081526020019060010190610fe8565b50505050905090565b6110d0611212565b6110d86127cb565b6110e9602154602954602654613a67565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561114757600080fd5b505af115801561115b573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f63616e6e6f742061747461636b206f776e20656e7469747900000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b1580156111f257600080fd5b505af1158015611206573d6000803e3d6000fd5b505050506108ce6120cf565b7f97154a62cd5641a577e092d2eee7e39fcb3333dc595371a4303417dae0c2c0066028557fea47b74917f549e8fb7b30be52435f56b0a4548a5df697773d6d54875754db776029556112626127cb565b602154601e5461127b91906001600160a01b0316613b22565b602655602154601f5461129791906001600160a01b0316613b22565b60275560285460265460408051808201909152600080825260208201526112bf929190613b7e565b6029546027546040805180820190915260008152600160208201526112e5929190613b7e565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561134357600080fd5b505af1158015611357573d6000803e3d6000fd5b50505050565b6040517f4c63e56200000000000000000000000000000000000000000000000000000000815261c350600386900b136004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634c63e5629060240160006040518083038186803b1580156113c857600080fd5b505afa1580156113dc573d6000803e3d6000fd5b50506040517f4c63e56200000000000000000000000000000000000000000000000000000000815261c350600387900b136004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9250634c63e562915060240160006040518083038186803b15801561144b57600080fd5b505afa15801561145f573d6000803e3d6000fd5b505050506114758260030b600062989680613c5d565b91506114898160030b600062989680613c5d565b9050611493611212565b61149b6127cb565b6114aa60215460285486612f0a565b6114b960215460295485612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561151757600080fd5b505af115801561152b573d6000803e3d6000fd5b5050505061156d6040518060400160405280600b81526020017f41747461636b20756e6974000000000000000000000000000000000000000000815250613149565b6115756120cf565b61157d6133bd565b6000611590602154602854602954613ea1565b905060006115a5602154602854602954613f26565b90506115c56115b8602154602854612e17565b60030b6107418389618d90565b610fbc6115d6602154602954612e17565b60030b6106e38488618d90565b60606011805480602002602001604051908101604052809291908181526020016000905b828210156110bf57838290600052602060002001805461162690618e28565b80601f016020809104026020016040519081016040528092919081815260200182805461165290618e28565b801561169f5780601f106116745761010080835404028352916020019161169f565b820191906000526020600020905b81548152906001019060200180831161168257829003601f168201915b505050505081526020019060010190611607565b6116bb611212565b6116c36127cb565b6116d36021546028546001613fdd565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561173157600080fd5b505af1158015611745573d6000803e3d6000fd5b50506040517ff28dceb300000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f63616e6e6f74206d6f766520616e642061747461636b000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063f28dceb39150606401600060405180830381600087803b1580156117dc57600080fd5b505af11580156117f0573d6000803e3d6000fd5b5050601c54602154602854604080516000808252602082019092526001600160a01b03909416955063280f182094509192909161184f565b60408051808201909152600080825260208201528152602001906001900390816118285790505b506029546040518563ffffffff1660e01b81526004016118729493929190618e72565b600060405180830381600087803b15801561134357600080fd5b611894611212565b61189c6127cb565b6118ac6021546029546064614080565b6118bc6021546029546001612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561191a57600080fd5b505af115801561192e573d6000803e3d6000fd5b5050505060006119426021546026546137e7565b905061194c6120cf565b61198c61195d6021546026546137e7565b60030b61196b836064618e01565b60030b604051806060016040528060228152602001619d3c60229139612ec2565b50565b60606013805480602002602001604051908101604052809291908181526020016000905b828210156110bf5760008481526020908190206040805180820182526002860290920180546001600160a01b03168352600181018054835181870281018701909452808452939491938583019392830182828015611a7257602002820191906000526020600020906000905b82829054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020019060040190602082600301049283019260010382029150808411611a1f5790505b505050505081525050815260200190600101906119b3565b601e546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b158015611afc57600080fd5b505af1158015611b10573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663f48448146040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611b7257600080fd5b505af1158015611b86573d6000803e3d6000fd5b50506040805161018081018252602854815260295460208201526000818301819052606082018190526080820181905260a0820181905260c0820181905260e08201819052610100820181905261012082018190526101408201819052610160820181905291517feaaa54b000000000000000000000000000000000000000000000000000000000815273__$a0da77a6cce3a353ba3f24830fe121724b$__945063eaaa54b09350611c3c929190600401618ee6565b60006040518083038186803b158015611c5457600080fd5b505af4158015611c68573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561134357600080fd5b60606010805480602002602001604051908101604052809291908181526020016000905b828210156110bf578382906000526020600020018054611d0d90618e28565b80601f0160208091040260200160405190810160405280929190818152602001828054611d3990618e28565b8015611d865780601f10611d5b57610100808354040283529160200191611d86565b820191906000526020600020905b815481529060010190602001808311611d6957829003601f168201915b505050505081526020019060010190611cee565b60008054610100900460ff1615611dba5750600054610100900460ff1690565b6000737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15611ed75760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c6564000000000000000000000000000000000000000000000000000082840152825180830384018152606083019093526000929091611e5f917f667f9d70ca411d70ead50d8d5c22070dafc36ad75f3dcf5e7237b22ade9aecc491608001618fc5565b60408051601f1981840301815290829052611e799161900d565b6000604051808303816000865af19150503d8060008114611eb6576040519150601f19603f3d011682016040523d82523d6000602084013e611ebb565b606091505b5091505080806020019051810190611ed39190619029565b9150505b919050565b611ee4611212565b611eec6127cb565b611efc6021546029546064614080565b611f0c6021546029546001612f0a565b611f1c6021546028546064614080565b611f2c6021546028546001612f0a565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b158015611f8a57600080fd5b505af1158015611f9e573d6000803e3d6000fd5b505050506000611fb26021546026546137e7565b90506000611fc46021546027546137e7565b9050611fce6120cf565b61201f611fdf602154602854612e17565b60030b60006040518060400160405280601481526020017f61747461636b657220646964206e6f7420646965000000000000000000000000815250612ec2565b612070612030602154602954612e17565b60030b60006040518060400160405280601481526020017f646566656e64657220646964206e6f7420646965000000000000000000000000815250612ec2565b61208f6120816021546026546137e7565b60030b61196b846064618e01565b61077f6120a06021546027546137e7565b60030b6120ae836064618e01565b60030b604051806060016040528060228152602001619d1a60229139612ec2565b601e546040517f06447d560000000000000000000000000000000000000000000000000000000081526001600160a01b039091166004820181905290737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d5690602401600060405180830381600087803b15801561214457600080fd5b505af1158015612158573d6000803e3d6000fd5b5050601c546021546028546029546040517fe89f76720000000000000000000000000000000000000000000000000000000081526001600160a01b03909416955063e89f767294506121bd936004019283526020830191909152604082015260600190565b600060405180830381600087803b1580156121d757600080fd5b505af11580156121eb573d6000803e3d6000fd5b505050507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561224d57600080fd5b505af1158015612261573d6000803e3d6000fd5b5050505050565b612270611212565b6122786127cb565b6122896021546029546103e8612f0a565b6122996021546029546001612faf565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156122f757600080fd5b505af115801561230b573d6000803e3d6000fd5b5050505061234d6040518060400160405280601981526020017f41747461636b20756e697420616e6420636170747572696e6700000000000000815250613149565b6123556120cf565b61235d6133bd565b6123b061236e602154602954612e17565b60030b620186a06040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b6108ce6123c1602154602954613617565b6026546040518060400160405280601981526020017f756e657870656374656420646566656e646572206f776e6572000000000000008152506136b9565b6060600c8054806020026020016040519081016040528092919081815260200182805480156107db576020028201919060005260206000209081546001600160a01b031681526001909101906020018083116107bd575050505050905090565b612467611212565b61246f6127cb565b612481602154602854620186a0613742565b61249360215460295462027100612f0a565b6124a36021546029546001612faf565b6124b36021546029546001614125565b6124c360215460295460006141f9565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b03166390c5013b6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561252157600080fd5b505af1158015612535573d6000803e3d6000fd5b505050506125416120cf565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63e5d6bf02612566426064618dce565b6040518263ffffffff1660e01b815260040161258491815260200190565b600060405180830381600087803b15801561259e57600080fd5b505af11580156125b2573d6000803e3d6000fd5b505050506126086125c7602154602954612e17565b60030b61ea606040518060400160405280601681526020017f756e657870656374656420646566656e64657220485000000000000000000000815250612ec2565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63e5d6bf0261262d426064618dce565b6040518263ffffffff1660e01b815260040161264b91815260200190565b600060405180830381600087803b15801561266557600080fd5b505af1158015612679573d6000803e3d6000fd5b505050506126856120cf565b6126966123c1602154602954613617565b6108ce6126a7602154602954612e17565b60030b6106e360215460295461429e565b6040517f350d56bf00000000000000000000000000000000000000000000000000000000815260206004820152600d60248201527f574f524c445f41444452455353000000000000000000000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d9063350d56bf90606401602060405180830381865afa15801561274e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612772919061904b565b601b80546001600160a01b039290921673ffffffffffffffffffffffffffffffffffffffff1992831681179091557f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e1758054909216179055565b604080517f6e7300000000000000000000000000000000000000000000000000000000000060208201526000602282018190526030820152737109709ecfa91a80626ff3989d68f67f5b1dd12d916306447d5691612841910160405160208183030381529060405261283c90619074565b61433e565b6040517fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1681526001600160a01b039091166004820152602401611872565b604080516000815260208101825290810182905261077f7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008260016060820160408051601f198184030181529190527e7d0600012020141414000000000000000000000000000000000000000000006143da565b600061290361448f565b61290e906001619098565b63ffffffff16905060006129286129236144de565b61453c565b9050600061293582614558565b905060008190036129435750815b6040517f127de47a00000000000000000000000000000000000000000000000000000000815260806004820152600560848201527f6d6174636800000000000000000000000000000000000000000000000000000060a48201526024810182905260448101849052606481018590526001600160a01b0386169063127de47a9060c401600060405180830381600087803b1580156129e057600080fd5b505af11580156129f4573d6000803e3d6000fd5b5050505050505b92915050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110612a3a57612a3a6190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d6174636852656164790000000000008383630100080160dd1b6145b0565b949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110612ab857612ab86190b5565b602002602001018181525050612b367f746200000000000000000000000000004d61746368436f6e666967000000000060001b82600185604051602001612b0191815260200190565b60408051601f198184030181529190527eb40600202020202014000000000000000000000000000000000000000000006143da565b505050565b601d805460009182919082612b4f836190cb565b91905055604051602001612b6591815260200190565b60408051808303601f190181529082905280516020909101207fc88a5e6d0000000000000000000000000000000000000000000000000000000082526001600160a01b038116600483015268056bc75e2d6310000060248301529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063c88a5e6d90604401600060405180830381600087803b158015612bfa57600080fd5b505af1158015612c0e573d6000803e3d6000fd5b5092949350505050565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612c4d57612c4d6190b5565b6020026020010181815250508281600181518110612c6d57612c6d6190b5565b60209081029190910101526113577f74620000000000000000000000000000436f6d6261740000000000000000000082600685600d811115612cb157612cb16190e5565b604051602001612cec919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b60408051601f19818403018152919052691907000404040404040160a81b6143da565b60408051600280825260608201835260009260208301908036833701905050905083600d811115612d4257612d426190e5565b60ff1660001b81600081518110612d5b57612d5b6190b5565b60200260200101818152505082600d811115612d7957612d796190e5565b60ff1660001b81600181518110612d9257612d926190b5565b6020026020010181815250506113577f746200000000000000000000000000004172636865747970654d6f646966696560001b82600085604051602001612de2919060e09190911b815260040190565b60408051601f198184030181529190527e060300040101000000000000000000000000000000000000000000000000006143da565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110612e5057612e506190b5565b6020026020010181815250508281600181518110612e7057612e706190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d626174000000000000000000008383691907000404040404040160a81b6145b0565b60e01c95945050505050565b818314612b36577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf358381604051612ef891906190fb565b60405180910390a1612b36838361466d565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612f3f57612f3f6190b5565b6020026020010181815250508281600181518110612f5f57612f5f6190b5565b6020026020010181815250506113577f74620000000000000000000000000000436f6d6261740000000000000000000060001b82600085604051602001612cec919060e09190911b815260040190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110612fe457612fe46190b5565b6020026020010181815250508281600181518110613004576130046190b5565b6020026020010181815250506113577f7462000000000000000000000000000043617074757261626c6500000000000060001b8260008560405160200161305291151560f81b815260010190565b60408051601f198184030181529190527e010100010000000000000000000000000000000000000000000000000000006143da565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106130bc576130bc6190b5565b60200260200101818152505082816001815181106130dc576130dc6190b5565b6020026020010181815250506113577f746200000000000000000000000000004368617267657200000000000000000060001b8260008560405160200161312c919060e09190911b815260040190565b60408051601f19818403018152919052630100400160da1b6143da565b604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af11580156131ea573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061320e9190619029565b6132155750565b6022805461322290618e28565b9050600014602260405160200161323991906191d0565b6040516020818303038152906040529061326f5760405162461bcd60e51b81526004016132669190619255565b60405180910390fd5b50602481604051613280919061900d565b908152602001604051809103902054600014816040516020016132a39190619268565b604051602081830303815290604052906132d05760405162461bcd60e51b81526004016132669190619255565b5060226132dd828261931c565b507f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b031663d1a5b36f6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561333c57600080fd5b505af1158015613350573d6000803e3d6000fd5b505050505a602355604080517f2bcd50e00000000000000000000000000000000000000000000000000000000081529051737109709ecfa91a80626ff3989d68f67f5b1dd12d91632bcd50e091600480830192600092919082900301818387803b15801561224d57600080fd5b60005a604080517f4777f3cf0000000000000000000000000000000000000000000000000000000081526004810191909152601460448201527f4741535f5245504f525445525f454e41424c4544000000000000000000000000606482015260006024820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d90634777f3cf906084016020604051808303816000875af1158015613464573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134889190619029565b61348f5750565b600060a0826023546134a191906193dc565b6134ab91906193dc565b6134b6906001618dce565b9050600081116135085760405162461bcd60e51b815260206004820152601960248201527f676173207265706f7274206469646e27742075736520676173000000000000006044820152606401613266565b806024602260405161351a91906193ef565b90815260405190819003602001902055602580546001810182556000919091527f401968ff42a154441da5f6c4c935ac46b8671f0e062baaa62a7545ba53bb6e4c016135676022826193fb565b506135fb6022805461357890618e28565b80601f01602080910402602001604051908101604052809291908181526020018280546135a490618e28565b80156135f15780601f106135c6576101008083540402835291602001916135f1565b820191906000526020600020905b8154815290600101906020018083116135d457829003601f168201915b5050505050614777565b604080516020810190915260008152602290612b36908261931c565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613650576136506190b5565b6020026020010181815250508281600181518110613670576136706190b5565b602090810291909101015260006136b07f746200000000000000000000000000004f776e656442790000000000000000008383630100080160dd1b6145b0565b95945050505050565b818314612b36577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516136ef91906190fb565b60405180910390a1612b368383614870565b600061370c8561496a565b90506137218461371c87846149a7565b614a0d565b61372c858284614a75565b613737858242614a9e565b612a7a858285613a67565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110613777576137776190b5565b6020026020010181815250508281600181518110613797576137976190b5565b6020026020010181815250506113577f74620000000000000000000000000000436f6d6261740000000000000000000060001b82600285604051602001612cec919060e09190911b815260040190565b6000806137f48484614b3c565b9050806138018585614c3b565b612a7a9190618e01565b6040805160c081018252600080825260208201819052818301819052606082018190526080820181905260a082018190528251600180825281850190945291929091908160200160208202803683370190505090508281600081518110613874576138746190b5565b6020908102919091010152600080806138cd7f746200000000000000000000000000004d61746368436f6e6669670000000000857eb4060020202020201400000000000000000000000000000000000000000000614cd4565b9250925092506138de838383614da4565b9695505050505050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613921576139216190b5565b6020026020010181815250508281600181518110613941576139416190b5565b602090810291909101015260006139797f74620000000000000000000000000000436861726765727300000000000000008383614e0a565b6020900495945050505050565b818314612b36577f280f4446b28a1372417dda658d30b95b2992b12ac9c7f378535f29a97acf3583816040516139bc91906190fb565b60405180910390a1612b368383614ecc565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110613a0757613a076190b5565b6020026020010181815250508281600181518110613a2757613a276190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436861726765720000000000000000008383630100400160da1b6145b0565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110613a9c57613a9c6190b5565b6020026020010181815250508281600181518110613abc57613abc6190b5565b6020026020010181815250506113577f746200000000000000000000000000004f776e6564427900000000000000000060001b82600085604051602001613b0591815260200190565b60408051601f19818403018152919052630100080160dd1b6143da565b60006001600160a01b03821681613b388561496a565b9050613b45858284614fc6565b613b50858583615064565b613b5a858261510e565b613b66858260016151a1565b613b7385826103e8615268565b612a7a858242614a9e565b6021546040805160e081018252620186a08082526020820152614e209181019190915260006060820181905260016080830181905260a0830152613bc99291869160c082015261530d565b613bd66021548483614a75565b613be36021548484613a67565b737109709ecfa91a80626ff3989d68f67f5b1dd12d63e5d6bf02613c08426064618dce565b6040518263ffffffff1660e01b8152600401613c2691815260200190565b600060405180830381600087803b158015613c4057600080fd5b505af1158015613c54573d6000803e3d6000fd5b50505050505050565b600081831315613cd55760405162461bcd60e51b815260206004820152603b60248201527f5374645574696c7320626f756e6428696e743235362c696e743235362c696e7460448201527f323536293a204d6178206973206c657373207468616e206d696e2e00000000006064820152608401613266565b6000808512613cf157613cec600160ff1b86618dce565b613d0c565b6001613d028619600160ff1b6193dc565b613d0c91906193dc565b90506000808512613d2a57613d25600160ff1b86618dce565b613d45565b6001613d3b8619600160ff1b6193dc565b613d4591906193dc565b90506000808512613d6357613d5e600160ff1b86618dce565b613d7e565b6001613d748619600160ff1b6193dc565b613d7e91906193dc565b90506000613d8d8484846153d0565b9050600160ff1b8110613dad57613da8600160ff1b826193dc565b613dc7565b613dbb81600160ff1b6193dc565b613dc790196001618dce565b604080518082018252600c81527f426f756e6420726573756c740000000000000000000000000000000000000000602082015290517fa322c40e00000000000000000000000000000000000000000000000000000000815260048101839052919650613e9691737109709ecfa91a80626ff3989d68f67f5b1dd12d9063a322c40e90602401600060405180830381865afa158015613e69573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052613e919190810190619558565b61558a565b505050509392505050565b600080613eae8585615652565b90506000613ebc86866156f2565b90506000613eca87866156f2565b90506000613ed883836157aa565b90506000613ee68988615889565b90506000613ef48284618e01565b90506064613f028282618e01565b613f0c9088618de1565b613f1691906195a1565b96505050505050505b9392505050565b600080613f338584615652565b90506000613f4186866156f2565b90506000613f4f87866156f2565b90506000613f5d82846157aa565b90506000613f6b8989615889565b90506000613f798284618e01565b905060006064613f898382618e01565b613f939089618de1565b613f9d91906195a1565b90506000613fab8c8b6158b1565b90506064613fb98282618e01565b613fc39084618de1565b613fcd91906195a1565b9c9b505050505050505050505050565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110614012576140126190b5565b6020026020010181815250508281600181518110614032576140326190b5565b6020026020010181815250506113577f746200000000000000000000000000005265717569726573536574757000000060001b8260008560405160200161305291151560f81b815260010190565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106140b5576140b56190b5565b60200260200101818152505082816001815181106140d5576140d56190b5565b6020026020010181815250506113577f74620000000000000000000000000000476f6c644f6e4b696c6c00000000000060001b8260008560405160200161312c919060e09190911b815260040190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061415a5761415a6190b5565b602002602001018181525050828160018151811061417a5761417a6190b5565b60209081029190910101526113577f74620000000000000000000000000000537472756374757265547970650000008260008560058111156141be576141be6190e5565b604051602001613052919060f89190911b7fff0000000000000000000000000000000000000000000000000000000000000016815260010190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061422e5761422e6190b5565b602002602001018181525050828160018151811061424e5761424e6190b5565b6020026020010181815250506113577f74620000000000000000000000000000436f6d6261740000000000000000000060001b82600385604051602001612cec919060e09190911b815260040190565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106142d7576142d76190b5565b60200260200101818152505082816001815181106142f7576142f76190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d62617400000000000000000000836001691907000404040404040160a81b6145b0565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110614377576143776190b5565b602090810291909101015260006143cf7f7462776f726c640000000000000000004e616d6573706163654f776e6572000083837e140100140000000000000000000000000000000000000000000000000000006145b0565b60601c949350505050565b60006143e4615951565b9050306001600160a01b0382160361440857614403868686868661598b565b610fbc565b6040517f390baae00000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063390baae0906144559089908990899089908990600401619618565b600060405180830381600087803b15801561446f57600080fd5b505af1158015614483573d6000803e3d6000fd5b50505050505050505050565b6040805160008082526020820190925260006144d47f746200000000000000000000000000004c6173744d61746368496e64657800008383630100400160da1b6145b0565b60e01c9392505050565b604080516000808252602082019092526000613f1f7f74620000000000000000000000000000536b79506f6f6c436f6e6669670000008360027e7d0600012020141414000000000000000000000000000000000000000000006145b0565b6000428183821161454e576000612a7a565b612a7a84836193dc565b60008060015b60008290036145a9576000614572826159a0565b9050600081900361458357506145a9565b8461458d826159ab565b10614596578092505b816145a08161965f565b9250505061455e565b5092915050565b6000806145bb615951565b9050306001600160a01b038216036145e1576145d986868686615a3c565b915050612a7a565b6040517f8c364d590000000000000000000000000000000000000000000000000000000081526001600160a01b03821690638c364d599061462c908990899089908990600401619682565b602060405180830381865afa158015614649573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906145d991906196b1565b80821461077f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516146f99060208082526021908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b696e7460408201527f5d00000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f1688160405161473091906196ca565b60405180910390a17f2fe632779174374378442a8e978bccfbdcc1d6b2b0d81f7e8eb776ab2286f168826040516147679190619715565b60405180910390a161077f615a69565b61198c7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d60001c6001600160a01b0316636900a3ae6024846040516147bc919061900d565b908152604051908190036020018120547fffffffff0000000000000000000000000000000000000000000000000000000060e084901b1682526148059160040190815260200190565b600060405180830381865afa158015614822573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261484a9190810190619558565b8260405160200161485c929190619752565b604051602081830303815290604052615ba9565b80821461077f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f506040516148fc9060208082526025908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b62797460408201527f657333325d000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f998160405161493391906196ca565b60405180910390a17fafb795c9c61e4fe7468c386f925d7a5429ecad9c0495ddb8d38d690614d32f99826040516147679190619715565b60008061497683615c1a565b614981906001619098565b905061498d8382615c9e565b63ffffffff811691506149a1838381615d46565b50919050565b604080516002808252606080830184529260208301908036833701905050905082816000815181106149db576149db6190b5565b60200260200101818152505081816001815181106149fb576149fb6190b5565b60200260200101818152505092915050565b6000614a1883615de7565b905060005b8151811015611357576000828281518110614a3a57614a3a6190b5565b602002602001015190506000614a508683615e70565b9050614a6b8286836020015184600001518560400151615f4d565b5050600101614a1d565b614a7f8383615fc3565b614a8a838383616026565b612b368382600001518360200151856160f7565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110614ad357614ad36190b5565b6020026020010181815250508281600181518110614af357614af36190b5565b6020026020010181815250506113577f746200000000000000000000000000004c617374416374696f6e00000000000060001b82600085604051602001613b0591815260200190565b600080614b4984846161c3565b90506000614b5685616266565b90506000614b6d86614b688888616272565b61630b565b614b779083618d90565b905060005b8351811015614c31576000848281518110614b9957614b996190b5565b60200260200101519050600080614bb08a84616353565b90506000614bbe8b8b616272565b8211614bca5785614bde565b614bd48b8361630b565b614bde9088618d90565b9050614bea8b856139ce565b614bf49082618de1565b925050506000614c048a846163ec565b60030b1315614c1b57614c18898383616486565b90505b614c258188618e01565b96505050600101614b7c565b5050505092915050565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110614c7457614c746190b5565b6020026020010181815250508281600181518110614c9457614c946190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000476f6c640000000000000000000000008383630100400160da1b6145b0565b6060600060606000614ce4615951565b9050306001600160a01b03821603614d0d57614d018787876164eb565b93509350935050614d9b565b6040517f419b58fd0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063419b58fd90614d56908a908a908a906004016197d3565b600060405180830381865afa158015614d73573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614d01919081019061981c565b93509350939050565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a0810191909152614ddf846165f3565b6001600160a01b031660a0870152608086015260608501526040840152602083015281529392505050565b600080614e15615951565b9050306001600160a01b03821603614e3a57614e3285858561663b565b915050613f1f565b6040517fdbbf0e210000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063dbbf0e2190614e8390889088908890600401619889565b602060405180830381865afa158015614ea0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614e3291906196b1565b509392505050565b80821461077f577f41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50604051614f589060208082526022908201527f4572726f723a2061203d3d2062206e6f7420736174697366696564205b75696e60408201527f745d000000000000000000000000000000000000000000000000000000000000606082015260800190565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a881604051614f8f91906196ca565b60405180910390a17fb2de2fbe801a0df6c0cbddfd448ba3c41d48a040ca35c56c8196ef0fcae721a8826040516147679190619715565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110614ffb57614ffb6190b5565b602002602001018181525050828160018151811061501b5761501b6190b5565b6020026020010181815250506113577f746200000000000000000000000000004372656174656442794164647265737360001b82600085604051602001613b0591815260200190565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110615099576150996190b5565b602002602001018181525050826001600160a01b031660001b816001815181106150c5576150c56190b5565b6020026020010181815250506113577f746200000000000000000000000000004d61746368506c61796572000000000060001b82600085604051602001613b0591815260200190565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110615144576151446190b5565b602002602001018181525050612b367f746200000000000000000000000000004d61746368506c61796572730000000060001b8260008560405160200161518d91815260200190565b604051602081830303815290604052616660565b60408051600280825260608201835260009260208301908036833701905050905083816000815181106151d6576151d66190b5565b60200260200101818152505082816001815181106151f6576151f66190b5565b6020026020010181815250506113577f74620000000000000000000000000000506c617965720000000000000000000060001b8260008560405160200161312c919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b604080516002808252606082018352600092602083019080368337019050509050838160008151811061529d5761529d6190b5565b60200260200101818152505082816001815181106152bd576152bd6190b5565b6020026020010181815250506113577f74620000000000000000000000000000476f6c6400000000000000000000000060001b8260008560405160200161312c919060e09190911b815260040190565b600061533a826000015183602001518460400151856060015186608001518760a001518860c00151616711565b6040805160028082526060808301845293945060009392849291906020830190803683370190505090508681600081518110615378576153786190b5565b6020026020010181815250508581600181518110615398576153986190b5565b6020908102919091010152613c547f74620000000000000000000000000000436f6d6261740000000000000000000082868686615f4d565b6000818311156154485760405162461bcd60e51b815260206004820152603e60248201527f5374645574696c7320626f756e642875696e743235362c75696e743235362c7560448201527f696e74323536293a204d6178206973206c657373207468616e206d696e2e00006064820152608401613266565b8284101580156154585750818411155b15615464575082613f1f565b600061547084846193dc565b61547b906001618dce565b90506003851115801561548d57508481115b1561549c57614e328585618dce565b6154a960036000196193dc565b85101580156154c257506154bf856000196193dc565b81115b156154dd576154d3856000196193dc565b614e3290846193dc565b828511156155335760006154f184876193dc565b905060006154ff83836198b5565b90508060000361551457849350505050613f1f565b60016155208288618dce565b61552a91906193dc565b93505050614ec4565b83851015614ec457600061554786866193dc565b9050600061555583836198b5565b90508060000361556a57859350505050613f1f565b61557481866193dc565b61557f906001618dce565b979650505050505050565b60006a636f6e736f6c652e6c6f676001600160a01b031683836040516024016155b49291906198c9565b60408051601f198184030181529181526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f4b5c42770000000000000000000000000000000000000000000000000000000017905251615617919061900d565b600060405180830381855afa9150503d8060008114610fbc576040519150601f19603f3d011682016040523d82523d6000602084013e610fbc565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061568b5761568b6190b5565b60200260200101818152505082816001815181106156ab576156ab6190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d62617400000000000000000000836002691907000404040404040160a81b6145b0565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061572b5761572b6190b5565b602002602001018181525050828160018151811061574b5761574b6190b5565b602090810291909101015260006157927f74620000000000000000000000000000436f6d62617400000000000000000000836006691907000404040404040160a81b6145b0565b905060f881901c600d8111156136b0576136b06190e5565b6040805160028082526060820183526000928392919060208301908036833701905050905083600d8111156157e1576157e16190e5565b60ff1660001b816000815181106157fa576157fa6190b5565b60200260200101818152505082600d811115615818576158186190e5565b60ff1660001b81600181518110615831576158316190b5565b60209081029190910101526000612eb67f746200000000000000000000000000004172636865747970654d6f646966696583837e060300040101000000000000000000000000000000000000000000000000006145b0565b6000806158958461674c565b905060006158a385856167de565b905060006138de83836168c6565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106158ea576158ea6190b5565b602002602001018181525050828160018151811061590a5761590a6190b5565b60209081029190910101526000612eb67f74620000000000000000000000000000436f6d62617400000000000000000000836003691907000404040404040160a81b6145b0565b7f629a4c26e296b22a8e0856e9f6ecb2d1008d7e00081111962cd175fa7488e175546000906001600160a01b031680611ed7573391505090565b612261858561599a8487616962565b85616993565b60006129fb82616c2e565b6040805160018082528183019092526000918291906020808301908036833701905050905082816000815181106159e4576159e46190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d61746368536b79000000000000000083837e400200202000000000000000000000000000000000000000000000000000006145b0565b60006136b0615a4b8686616cb0565b60ff858116601b0360080285901c16615a648587616962565b616d06565b737109709ecfa91a80626ff3989d68f67f5b1dd12d3b15615b7b5760408051737109709ecfa91a80626ff3989d68f67f5b1dd12d602082018190527f6661696c656400000000000000000000000000000000000000000000000000009282019290925260016060820152600091907f70ca10bbd0dbfd9020a9f4b13402c16cb120705e0d1c0aeab10fa353ae586fc49060800160408051601f1981840301815290829052615b1a9291602001618fc5565b60408051601f1981840301815290829052615b349161900d565b6000604051808303816000865af19150503d8060008114615b71576040519150601f19603f3d011682016040523d82523d6000602084013e615b76565b606091505b505050505b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff16610100179055565b61198c81604051602401615bbd9190619255565b60408051601f198184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f41304fac00000000000000000000000000000000000000000000000000000000179052616d57565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110615c5357615c536190b5565b60209081029190910101526000615c937f746200000000000000000000000000004d61746368456e74697479436f756e748383630100400160da1b6145b0565b60e01c949350505050565b604080516001808252818301909252600091602080830190803683370190505090508281600081518110615cd457615cd46190b5565b602002602001018181525050612b367f746200000000000000000000000000004d61746368456e74697479436f756e7460001b8260008560405160200161312c919060e09190911b7fffffffff0000000000000000000000000000000000000000000000000000000016815260040190565b6000615d5182616d78565b6040805160028082526060808301845293945060009392849291906020830190803683370190505090508681600081518110615d8f57615d8f6190b5565b6020026020010181815250508581600181518110615daf57615daf6190b5565b6020908102919091010152613c547f6f7400000000000000000000000000004d61746368000000000000000000000082868686615f4d565b60408051600180825281830190925260609160009190602080830190803683370190505090508281600081518110615e2157615e216190b5565b60209081029190910101526000615e597f7462000000000000000000000000000054656d706c6174655461626c657300008383616da3565b9050612a7a615e6b8260008451616e5a565b616ee8565b6040805160608082018352600080835260208301829052828401829052835160028082529281019094529192908160200160208202803683370190505090508381600081518110615ec357615ec36190b5565b6020026020010181815250508281600181518110615ee357615ee36190b5565b602090810291909101015260008080615f3c7f7462000000000000000000000000000054656d706c617465436f6e74656e7400857e20010220000000000000000000000000000000000000000000000000000000614cd4565b92509250925061557f838383616ef9565b6000615f57615951565b9050306001600160a01b03821603615f76576144038686868686616f3c565b6040517f298314fb0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063298314fb9061445590899089908990899089906004016198ee565b6000615fcf83836167de565b90506000615ff083615fea8685600001518660200151616f52565b90617022565b8051909150156160135761600e8483600001518460200151846170f0565b611357565b61135784836000015184602001516171b3565b6000616061826000015183602001516040805160e093841b60208201529190921b602482015281516008818303018152602890910190915290565b604080516002808252606080830184529394506000939284929190602083019080368337019050509050868160008151811061609f5761609f6190b5565b60200260200101818152505085816001815181106160bf576160bf6190b5565b6020908102919091010152613c547f74620000000000000000000000000000506f736974696f6e000000000000000082868686615f4d565b6040805160038082526080820190925260009160208201606080368337019050509050848160008151811061612e5761612e6190b5565b6020026020010181815250508360030b60001b81600181518110616154576161546190b5565b6020026020010181815250508260030b60001b8160028151811061617a5761617a6190b5565b6020026020010181815250506122617f74620000000000000000000000000000456e7469746965734174506f7369746960001b8260008560405160200161518d91815260200190565b6040805160028082526060808301845292600092919060208301908036833701905050905083816000815181106161fc576161fc6190b5565b602002602001018181525050828160018151811061621c5761621c6190b5565b602090810291909101015260006162547f74620000000000000000000000000000436861726765727300000000000000008383616da3565b90506136b0615e6b8260008451616e5a565b60006129fb824261630b565b6040805160028082526060820183526000928392919060208301908036833701905050905083816000815181106162ab576162ab6190b5565b60200260200101818152505082816001815181106162cb576162cb6190b5565b602090810291909101015260006136b07f746200000000000000000000000000004c617374416374696f6e0000000000008383630100080160dd1b6145b0565b6000806163178461380b565b9050806020015183101561632f5760009150506129fb565b600081602001518461634191906193dc565b90508160400151816136b0919061993f565b60408051600280825260608201835260009283929190602083019080368337019050509050838160008151811061638c5761638c6190b5565b60200260200101818152505082816001815181106163ac576163ac6190b5565b602090810291909101015260006136b07f74620000000000000000000000000000436861726765644279537461727400008383630100080160dd1b6145b0565b604080516002808252606082018352600092839291906020830190803683370190505090508381600081518110616425576164256190b5565b6020026020010181815250508281600181518110616445576164456190b5565b60209081029190910101526000612eb67f7462000000000000000000000000000043686172676543617000000000000000838364020080010160d21b6145b0565b600080616493858561726b565b8051602082015191925060030b906164ab9085618e01565b60030b13156164c857602081015181516164c59190618d90565b92505b6164e285858584602001516164dd9190618e01565b61731b565b50909392505050565b60606000606060006164fc856173de565b9050616509878783617401565b935060006165168661743a565b905080156165e8576165288888617477565b935066ffffffffffffff841667ffffffffffffffff81111561654c5761654c618e5c565b6040519080825280601f01601f191660200182016040528015616576576020820181803683370190505b5092506020830160005b828160ff1610156165e55760006165988b8b8461748a565b905060006165b5888460ff166028026038011c64ffffffffff1690565b90506165c4826000838761750a565b6165ce8185618dce565b9350505080806165dd90619953565b915050616580565b50505b505093509350939050565b60008060008060008061660a876000016020015190565b60408801516060808a015160808b015160a08c015160c0909c0151949c939b919a50985096509190911c9350915050565b6000612a7a8261664b8686617477565b9060ff166028026038011c64ffffffffff1690565b600061666a615951565b9050306001600160a01b0382160361668d57616688858585856175d6565b612261565b6040517f150f32620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063150f3262906166d8908890889088908890600401619972565b600060405180830381600087803b1580156166f257600080fd5b505af1158015616706573d6000803e3d6000fd5b505050505050505050565b60608787878787878760405160200161673097969594939291906199a6565b6040516020818303038152906040529050979650505050505050565b604080516001808252818301909252600091829190602080830190803683370190505090508281600081518110616785576167856190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d61746368436f6e66696700000000008360037eb40600202020202014000000000000000000000000000000000000000000006145b0565b60408051808201825260008082526020820181905282516002808252606082019094529192909190816020016020820280368337019050509050838160008151811061682c5761682c6190b5565b602002602001018181525050828160018151811061684c5761684c6190b5565b60209081029190910101526000808061688e7f74620000000000000000000000000000506f736974696f6e00000000000000008564020080010160d21b614cd4565b6040805180820190915260008082526020808301918252850151602486015160e090811d909252901d8152929550909350915061557f565b6000806168d38484617611565b905060005b815181101561695a576000616906868484815181106168f9576168f96190b5565b6020026020010151617626565b90506000616934827f7462000000000000000000000000000041726d6f724d6f6469666965720000006176b2565b9050616944816020015160e01c90565b61694e9086618e01565b945050506001016168d8565b505092915050565b600080805b8360ff16811015614ec45761698960ff601b83900360080287901c1683618dce565b9150600101616967565b7f6f74000000000000000000000000000000000000000000000000000000000000847fffff0000000000000000000000000000000000000000000000000000000000001603616a1d57837f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be848484604051616a1093929190619a0e565b60405180910390a2611357565b6000616a298585616cb0565b90506000616a3686617743565b905060005b8151811015616b0b576000828281518110616a5857616a586190b5565b60200260200101519050616a846004826affffffffffffffffffffff19166177cc90919063ffffffff16565b15616b02576040517f964f667d000000000000000000000000000000000000000000000000000000008152606082901c9063964f667d90616acf908b908b908b908b90600401619a41565b600060405180830381600087803b158015616ae957600080fd5b505af1158015616afd573d6000803e3d6000fd5b505050505b50600101616a3b565b50857f8c0b5119d4cec7b284c6b1b39252a03d1e2f2d7451a5895562524c113bb952be868686604051616b4093929190619a0e565b60405180910390a2616b5b828565ffffffffffff16856177ea565b60005b8151811015613c54576000828281518110616b7b57616b7b6190b5565b60200260200101519050616ba76008826affffffffffffffffffffff19166177cc90919063ffffffff16565b15616c25576040517fa8ba8721000000000000000000000000000000000000000000000000000000008152606082901c9063a8ba872190616bf2908b908b908b908b90600401619a41565b600060405180830381600087803b158015616c0c57600080fd5b505af1158015616c20573d6000803e3d6000fd5b505050505b50600101616b5e565b604080516001808252818301909252600091829190602080830190803683370190505090508263ffffffff1660001b81600081518110616c7057616c706190b5565b60209081029190910101526000612a7a7f746200000000000000000000000000004d61746368496e646578546f456e74698383630100080160dd1b6145b0565b60008282604051602001616cc5929190619a7a565b60408051601f1981840301815291905280516020909101207f86425bff6b57326c7859e89024fe4f238ca327a1ae4a230180dd2f0e88aaa7d9189392505050565b600060208210616d2c57602082048401935060208281616d2857616d286194ce565b0691505b508254600882021b602082900380841115614ec4576001850154600882021c82179150509392505050565b80516a636f6e736f6c652e6c6f67602083016000808483855afa5050505050565b606081604051602001616d8d91815260200190565b6040516020818303038152906040529050919050565b60606000616daf615951565b9050306001600160a01b03821603616dcc57614e32858585617800565b6040517f1e7889770000000000000000000000000000000000000000000000000000000081526001600160a01b03821690631e78897790616e1590889088908890600401619889565b600060405180830381865afa158015616e32573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052614e329190810190619ab6565b600081831180616e6a5750835182115b15616ea7578383836040517f23230fa300000000000000000000000000000000000000000000000000000000815260040161326693929190619aeb565b60208401616eb58482618dce565b90506000616ec385856193dc565b6fffffffffffffffffffffffffffffffff1660809290921b9190911795945050505050565b60606000613f1f8360206000617825565b6040805160608082018352600082526020820181905291810191909152616f1f846178a0565b8152616f2b83836178ad565b604083015260208201529392505050565b6122618585858585616f4d8b6178fc565b617981565b60408051600380825260808201909252606091600091906020820184803683370190505090508481600081518110616f8c57616f8c6190b5565b6020026020010181815250508360030b60001b81600181518110616fb257616fb26190b5565b6020026020010181815250508260030b60001b81600281518110616fd857616fd86190b5565b602090810291909101015260006170107f74620000000000000000000000000000456e7469746965734174506f736974698383616da3565b90506138de615e6b8260008451616e5a565b60606000835167ffffffffffffffff81111561704057617040618e5c565b604051908082528060200260200182016040528015617069578160200160208202803683370190505b5090506000805b85518110156170e6578486828151811061708c5761708c6190b5565b6020026020010151146170de578581815181106170ab576170ab6190b5565b60200260200101518383815181106170c5576170c56190b5565b6020908102919091010152816170da816190cb565b9250505b600101617070565b5081529392505050565b60408051600380825260808201909252600091602082016060803683370190505090508481600081518110617127576171276190b5565b6020026020010181815250508360030b60001b8160018151811061714d5761714d6190b5565b6020026020010181815250508260030b60001b81600281518110617173576171736190b5565b60209081029190910101526122617f74620000000000000000000000000000456e7469746965734174506f736974698260006171ae86617cba565b617cca565b604080516003808252608082019092526000916020820160608036833701905050905083816000815181106171ea576171ea6190b5565b6020026020010181815250508260030b60001b81600181518110617210576172106190b5565b6020026020010181815250508160030b60001b81600281518110617236576172366190b5565b60209081029190910101526113577f74620000000000000000000000000000456e7469746965734174506f7369746982617d3d565b6040805180820182526000808252602082018190528251600280825260608201909452919290919081602001602082028036833701905050905083816000815181106172b9576172b96190b5565b60200260200101818152505082816001815181106172d9576172d96190b5565b60209081029190910101526000808061688e7f74620000000000000000000000000000436861726765436170000000000000008564020080010160d21b614cd4565b6040805160028082526060820183526000926020830190803683370190505090508381600081518110617350576173506190b5565b6020026020010181815250508281600181518110617370576173706190b5565b6020026020010181815250506113577f746200000000000000000000000000004368617267654361700000000000000060001b826001856040516020016173c0919060e09190911b815260040190565b60408051601f1981840301815291905264020080010160d21b6143da565b600060086173ee600260206193dc565b6173f89190618db7565b9190911c919050565b6060816000036174205750604080516020810190915260008152613f1f565b600061742c8585616cb0565b90506136b081600085617daa565b6000600860018061744d600260206193dc565b61745791906193dc565b61746191906193dc565b61746b9190618db7565b8260ff911c1692915050565b6000613f1f6174868484617dcd565b5490565b6000838360405160200161749f929190619a7a565b604051602081830303815290604052805190602001208260f81b7effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167f3b4102da22e32d82fc925482184f16c09fd4281692720b87d124aef6da48a0f1181860001c90509392505050565b8215617591576020831061753457602083048401935060208381617530576175306194ce565b0692505b82156175915760208390036000818410156175575750600019600884021c617561565b50600019600882021c5b8554600886021b818451168219821617845250818411617582575050611357565b50600194909401939182900391015b5b602082106175b35783548152600190930192601f1990910190602001617592565b8115611357576000600019600884021c8251865482191691161782525050505050565b60006175e28585617477565b905060006175ff828560ff166028026038011c64ffffffffff1690565b9050610fbc8686868460008888617e23565b6060613f1f838360000151846020015161825d565b60408051600180825281830190925260009182919060208083019080368337019050509050838160008151811061765f5761765f6190b5565b60200260200101818152505060006176a77f746200000000000000000000000000004c6576656c54656d706c61746573000060001b836000876020028860010160200261831b565b90506136b081619074565b6040805160028082526060808301845292600092919060208301908036833701905050905083816000815181106176eb576176eb6190b5565b602002602001018181525050828160018151811061770b5761770b6190b5565b602090810291909101015260006136b07f7462000000000000000000000000000054656d706c617465436f6e74656e74008383616da3565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061777d5761777d6190b5565b602090810291909101015260006177b57f746273746f726500000000000000000053746f7265486f6f6b730000000000008383617800565b9050612a7a6177c78260008451616e5a565b6183e0565b60008160ff16826177dd8560581c90565b1660ff1614905092915050565b612b36838383516177fb8560200190565b6183f1565b6060612a7a61781085858561748a565b60006178208561664b8989617477565b617daa565b606060006178338560801c90565b90506fffffffffffffffffffffffffffffffff85166000858281617859576178596194ce565b04905060405193506020840160208202810160405281855260005b82811015617894578451871c825293870193602090910190600101617874565b50505050509392505050565b60208101516000906129fb565b6060806000603885901c64ffffffffff166178d16178cc868484616e5a565b6184b0565b935090508064ffffffffff606087901c16016178f16178cc868484616e5a565b925050509250929050565b60007f8b9d8c8b908d9affffffffffffffffffab9e9d939a8d00000000000000000000820161794b57507e60030220202000000000000000000000000000000000000000000000000000919050565b6129fb6179787f746273746f72650000000000000000005461626c65730000000000000000000084618530565b60206000616d06565b7f6f74000000000000000000000000000000000000000000000000000000000000867fffff0000000000000000000000000000000000000000000000000000000000001603617a0d57857f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a986868686604051617a009493929190619b10565b60405180910390a2610fbc565b6000617a1887617743565b905060005b8151811015617af1576000828281518110617a3a57617a3a6190b5565b60200260200101519050617a666001826affffffffffffffffffffff19166177cc90919063ffffffff16565b15617ae8576040517f57066c9c000000000000000000000000000000000000000000000000000000008152606082901c906357066c9c90617ab5908c908c908c908c908c908c90600401619b4f565b600060405180830381600087803b158015617acf57600080fd5b505af1158015617ae3573d6000803e3d6000fd5b505050505b50600101617a1d565b50867f8dbb3a9672eebfd3773e72dd9c102393436816d832c7ba9e1e1ac8fcadcac7a987878787604051617b289493929190619b10565b60405180910390a26000617b3c8888616cb0565b90506000602087019050617b548260008951846183f1565b6000617b5f8561743a565b1115617be3576000617b718a8a617dcd565b878155905060208601915060008060005b617b8b8861743a565b8160ff161015617bde57617ba08d8d8361748a565b9250617bbb8a8260ff166028026038011c64ffffffffff1690565b9150617bca83600084886183f1565b617bd48286618dce565b9450600101617b82565b505050505b60005b8351811015614483576000848281518110617c0357617c036190b5565b60200260200101519050617c2f6002826affffffffffffffffffffff19166177cc90919063ffffffff16565b15617cb1576040517f5b28cdaf000000000000000000000000000000000000000000000000000000008152606082901c90635b28cdaf90617c7e908e908e908e908e908e908e90600401619b4f565b600060405180830381600087803b158015617c9857600080fd5b505af1158015617cac573d6000803e3d6000fd5b505050505b50600101617be6565b606081613f1f816020600061854c565b6000617cd4615951565b9050306001600160a01b03821603617cf257616688858585856185a0565b6040517fef6ea8620000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063ef6ea862906166d8908890889088908890600401619972565b6000617d47615951565b9050306001600160a01b03821603617d6357612b3683836185db565b6040517f505a181d0000000000000000000000000000000000000000000000000000000081526001600160a01b0382169063505a181d90613c269086908690600401619ba8565b60405160208101601f19603f8484010116604052828252614ec48585858461750a565b60008282604051602001617de2929190619a7a565b60408051601f1981840301815291905280516020909101207f14e2fcc58e58e68ec7edc30c8d50dccc3ce2714a623ec81f46b6a63922d76569189392505050565b7f7462000000000000000000000000000000000000000000000000000000000000877fffff0000000000000000000000000000000000000000000000000000000000001614617ee3577f74620000000000000000000000000000000000000000000000000000000000008788604051602001617ea191815260200190565b60408051601f19818403018152908290527f31b46683000000000000000000000000000000000000000000000000000000008252613266939291600401619bc1565b6000617efe828760ff166028026038011c64ffffffffff1690565b9050600083518564ffffffffff1683617f1791906193dc565b617f219190618dce565b9050808214158015617f43575081617f398688619c02565b64ffffffffff1614155b15617f93576040517fa65010b400000000000000000000000000000000000000000000000000000000815264ffffffffff8088166004830152808716602483015283166044820152606401613266565b818664ffffffffff161115617fe4576040517f7e8578d30000000000000000000000000000000000000000000000000000000081526004810183905264ffffffffff87166024820152604401613266565b6000617ff18489846185ee565b90506000617ffe8b617743565b905060005b81518110156180c9576000828281518110618020576180206190b5565b6020026020010151905061804c6010826affffffffffffffffffffff19166177cc90919063ffffffff16565b156180c057606081901c6001600160a01b03166355eb5a288e8e8e8e8e8d8f6040518863ffffffff1660e01b815260040161808d9796959493929190619c20565b600060405180830381600087803b1580156180a757600080fd5b505af11580156180bb573d6000803e3d6000fd5b505050505b50600101618003565b5064ffffffffff881660005b8a60ff168160ff161015618108576180fc878260ff166028026038011c64ffffffffff1690565b909101906001016180d5565b508b7ffe158a7adba34e256807c8a149028d3162918713c3838afc643ce9f96716ebfd8c8c848c888d60405161814396959493929190619c7e565b60405180910390a25082841461816457600061815f8c8c617dcd565b839055505b60006181718c8c8c61748a565b9050618185818a64ffffffffff16896177ea565b5060005b815181101561824f5760008282815181106181a6576181a66190b5565b602002602001015190506181d26020826affffffffffffffffffffff19166177cc90919063ffffffff16565b1561824657606081901c6001600160a01b031663635845338e8e8e8e8e8a8f6040518863ffffffff1660e01b81526004016182139796959493929190619c20565b600060405180830381600087803b15801561822d57600080fd5b505af1158015618241573d6000803e3d6000fd5b505050505b50600101618189565b505050505050505050505050565b60408051600380825260808201909252606091600091906020820184803683370190505090508481600081518110618297576182976190b5565b6020026020010181815250508360030b60001b816001815181106182bd576182bd6190b5565b6020026020010181815250508260030b60001b816002815181106182e3576182e36190b5565b602090810291909101015260006170107f746200000000000000000000000000004c6576656c506f736974696f6e496e648383616da3565b60606000618327615951565b9050306001600160a01b0382160361834e5761834687878787876186bc565b9150506136b0565b6040517f4dc77d970000000000000000000000000000000000000000000000000000000081526001600160a01b03821690634dc77d979061839b908a908a908a908a908a90600401619ccd565b600060405180830381865afa1580156183b8573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526183469190810190619ab6565b60606000613f1f8360156000617825565b821561846b576020831061841b57602083048401935060208381618417576184176194ce565b0692505b821561846b5760208390036000600019600885021c1990506008850281811c91508351811c905081198754168282161787555081841161845c575050611357565b50600194909401939182900391015b5b6020821061848d5780518455600190930192601f199091019060200161846c565b8115611357576000600019600884021c8554835182191691161785555050505050565b606060006184be8360801c90565b90506fffffffffffffffffffffffffffffffff83168067ffffffffffffffff8111156184ec576184ec618e5c565b6040519080825280601f01601f191660200182016040528015618516576020820181803683370190505b509250602083016185288382846187bf565b505050919050565b6040805160208101849052908101829052600090606001616cc5565b8251606090600061855d8583618db7565b9050604051925060208301601f19603f83860101166040528184526000602088015b84821015617894578051871b8352918701916001919091019060200161857f565b60006185ac8585617477565b905060006185c9828560ff166028026038011c64ffffffffff1690565b9050610fbc8686866000858888617e23565b61077f82826185e9856178fc565b61880a565b600064ffffffffff821115618632576040517f7149a3c100000000000000000000000000000000000000000000000000000000815260048101839052602401613266565b8366ffffffffffffff811660ff851660280260380182901c64ffffffffff16808510618664578085038201915061866c565b848103820391505b5064ffffffffff6038602860ff8816020181811b197fffffffffffffffffffffffffffffffffffffffffffffffffff000000000000009490941690921792909216918416901b1790509392505050565b606081831115618702576040517fa8c547820000000000000000000000000000000000000000000000000000000081526004810184905260248101839052604401613266565b600061870e8787617477565b9050600061872b828760ff166028026038011c64ffffffffff1690565b9050808510158061873b57508084115b15618796578081861015618759576187546001866193dc565b61875b565b855b6040517f7e8578d300000000000000000000000000000000000000000000000000000000815260048101929092526024820152604401613266565b60006187a389898961748a565b90506187b28187888803617daa565b9998505050505050505050565b5b602081106187df578251825260209283019290910190601f19016187c0565b806000036187ec57505050565b6000600019600883021c905080835116811985511617835250505050565b7f6f74000000000000000000000000000000000000000000000000000000000000837fffff000000000000000000000000000000000000000000000000000000000000160361889057827f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d07836040516188839190619d06565b60405180910390a2505050565b600061889b84617743565b905060005b815181101561896e5760008282815181106188bd576188bd6190b5565b602002602001015190506188e96040826affffffffffffffffffffff19166177cc90919063ffffffff16565b15618965576040517f9faeaf45000000000000000000000000000000000000000000000000000000008152606082901c90639faeaf4590618932908990899089906004016197d3565b600060405180830381600087803b15801561894c57600080fd5b505af1158015618960573d6000803e3d6000fd5b505050505b506001016188a0565b50837f0e1f72f429eb97e64878619984a91e687ae91610348b9ff4216782cc96e49d078460405161899f9190619d06565b60405180910390a260006189b38585616cb0565b9050618a0c8160006189c4866173de565b67ffffffffffffffff8111156189dc576189dc618e5c565b6040519080825280601f01601f191660200182016040528015618a06576020820181803683370190505b506177ea565b6000618a178461743a565b1115618a38576000618a298686617dcd565b9050618a36816020618b09565b505b60005b8251811015610fbc576000838281518110618a5857618a586190b5565b60200260200101519050618a846080826affffffffffffffffffffff19166177cc90919063ffffffff16565b15618b00576040517f83b5c95b000000000000000000000000000000000000000000000000000000008152606082901c906383b5c95b90618acd908a908a908a906004016197d3565b600060405180830381600087803b158015618ae757600080fd5b505af1158015618afb573d6000803e3d6000fd5b505050505b50600101618a3b565b60006020618b1883601f618dce565b618b22919061993f565b618b2c9084618dce565b90505b80831015612b365760008355600183019250618b2f565b6020808252825182820181905260009190848201906040850190845b81811015618b875783516001600160a01b031683529284019291840191600101618b62565b50909695505050505050565b600060208083018184528085518083526040925060408601915060408160051b8701018488016000805b84811015618c5157898403603f19018652825180516001600160a01b03168552880151888501889052805188860181905290890190839060608701905b80831015618c3c5783517fffffffff00000000000000000000000000000000000000000000000000000000168252928b019260019290920191908b0190618bfa565b50978a01979550505091870191600101618bbd565b50919998505050505050505050565b8035600381900b8114611ed757600080fd5b60008060008060808587031215618c8857600080fd5b618c9185618c60565b9350618c9f60208601618c60565b9250618cad60408601618c60565b9150618cbb60608601618c60565b905092959194509250565b60005b83811015618ce1578181015183820152602001618cc9565b50506000910152565b60008151808452618d02816020860160208601618cc6565b601f01601f19169290920160200192915050565b600060208083016020845280855180835260408601915060408160051b87010192506020870160005b82811015618d6d57603f19888603018452618d5b858351618cea565b94509285019290850190600101618d3f565b5092979650505050505050565b634e487b7160e01b600052601160045260246000fd5b600382810b9082900b03637fffffff198112637fffffff821317156129fb576129fb618d7a565b80820281158282048414176129fb576129fb618d7a565b808201808211156129fb576129fb618d7a565b60008260030b8260030b028060030b91508082146145a9576145a9618d7a565b600381810b9083900b01637fffffff8113637fffffff19821217156129fb576129fb618d7a565b600181811c90821680618e3c57607f821691505b6020821081036149a157634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b600060808201868352602086602085015260406080604086015282875180855260a08701915060208901945060005b81811015618ece5785518051600390810b855290860151900b858401529484019491830191600101618ea1565b50508094505050505082606083015295945050505050565b60006101a08201905083825282516020830152602083015160408301526040830151618f17606084018260030b9052565b506060830151618f2c608084018260030b9052565b506080830151618f4160a084018260030b9052565b5060a0830151618f5660c084018260030b9052565b5060c083015180151560e08401525060e0830151610100618f7a8185018315159052565b8401519050610120618f8f8482018315159052565b8401519050610140618fa48482018315159052565b84015161016084810191909152909301516101809092019190915292915050565b7fffffffff000000000000000000000000000000000000000000000000000000008316815260008251618fff816004850160208701618cc6565b919091016004019392505050565b6000825161901f818460208701618cc6565b9190910192915050565b60006020828403121561903b57600080fd5b81518015158114613f1f57600080fd5b60006020828403121561905d57600080fd5b81516001600160a01b0381168114613f1f57600080fd5b805160208083015191908110156149a15760001960209190910360031b1b16919050565b63ffffffff8181168382160190808211156145a9576145a9618d7a565b634e487b7160e01b600052603260045260246000fd5b600060001982036190de576190de618d7a565b5060010190565b634e487b7160e01b600052602160045260246000fd5b60408152600560408201527f4572726f720000000000000000000000000000000000000000000000000000006060820152608060208201526000613f1f6080830184618cea565b6000815461914f81618e28565b60018281168015619167576001811461919a57614c31565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0084168752821515830287019450614c31565b8560005260208060002060005b858110156191c05781548a8201529084019082016191a7565b5050509590910195945050505050565b7f676173207265706f72742022000000000000000000000000000000000000000081526000619202600c830184619142565b7f2220697320616c72656164792072756e6e696e6720616e64206f6e6c79206f6e81527f65207265706f72742063616e2062652072756e20617420612074696d650000006020820152603d019392505050565b602081526000613f1f6020830184618cea565b7f676173207265706f7274202200000000000000000000000000000000000000008152600082516192a081600c850160208701618cc6565b7f2220616c7265616479207573656420666f722074686973207465737400000000600c939091019283015250602801919050565b601f821115612b36576000816000526020600020601f850160051c810160208610156192fd5750805b601f850160051c820191505b81811015610fbc57828155600101619309565b815167ffffffffffffffff81111561933657619336618e5c565b61934a816193448454618e28565b846192d4565b602080601f83116001811461937f57600084156193675750858301515b600019600386901b1c1916600185901b178555610fbc565b600085815260208120601f198616915b828110156193ae5788860151825594840194600190910190840161938f565b50858210156193cc5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b818103818111156129fb576129fb618d7a565b6000613f1f8284619142565b818103619406575050565b6194108254618e28565b67ffffffffffffffff81111561942857619428618e5c565b619436816193448454618e28565b6000601f82116001811461946a57600083156194525750848201545b600019600385901b1c1916600184901b178455612261565b600085815260209020601f19841690600086815260209020845b838110156194a45782860154825560019586019590910190602001619484565b50858310156193cc5793015460001960f8600387901b161c19169092555050600190811b01905550565b634e487b7160e01b600052601260045260246000fd5b600067ffffffffffffffff808411156194ff576194ff618e5c565b604051601f8501601f19908116603f0116810190828211818310171561952757619527618e5c565b8160405280935085815286868601111561954057600080fd5b61954e866020830187618cc6565b5050509392505050565b60006020828403121561956a57600080fd5b815167ffffffffffffffff81111561958157600080fd5b8201601f8101841361959257600080fd5b612a7a848251602084016194e4565b60008160030b8360030b806195b8576195b86194ce565b6000198114637fffffff19831416156195d3576195d3618d7a565b90059392505050565b60008151808452602080850194506020840160005b8381101561960d578151875295820195908201906001016195f1565b509495945050505050565b85815260a06020820152600061963160a08301876195dc565b60ff86166040840152828103606084015261964c8186618cea565b9150508260808301529695505050505050565b600063ffffffff80831681810361967857619678618d7a565b6001019392505050565b84815260806020820152600061969b60808301866195dc565b60ff949094166040830152506060015292915050565b6000602082840312156196c357600080fd5b5051919050565b60408152600061970760408301600a81527f2020457870656374656400000000000000000000000000000000000000000000602082015260400190565b905082602083015292915050565b60408152600061970760408301600a81527f2020202041637475616c00000000000000000000000000000000000000000000602082015260400190565b7f474153205245504f52543a20000000000000000000000000000000000000000081526000835161978a81600c850160208801618cc6565b7f2000000000000000000000000000000000000000000000000000000000000000600c9184019182015283516197c781600d840160208801618cc6565b01600d01949350505050565b8381526060602082015260006197ec60608301856195dc565b9050826040830152949350505050565b600082601f83011261980d57600080fd5b613f1f838351602085016194e4565b60008060006060848603121561983157600080fd5b835167ffffffffffffffff8082111561984957600080fd5b619855878388016197fc565b945060208601519350604086015191508082111561987257600080fd5b5061987f868287016197fc565b9150509250925092565b8381526060602082015260006198a260608301856195dc565b905060ff83166040830152949350505050565b6000826198c4576198c46194ce565b500690565b6040815260006198dc6040830185618cea565b82810360208401526136b08185618cea565b85815260a06020820152600061990760a08301876195dc565b82810360408401526199198187618cea565b905084606084015282810360808401526199338185618cea565b98975050505050505050565b60008261994e5761994e6194ce565b500490565b600060ff821660ff810361996957619969618d7a565b60010192915050565b84815260806020820152600061998b60808301866195dc565b60ff85166040840152828103606084015261557f8185618cea565b60e088811b825287811b600483015286811b600883015285811b600c83015284811b601083015283901b60148201526000600e83106199f557634e487b7160e01b600052602160045260246000fd5b5060f89190911b60188201526019019695505050505050565b606081526000619a2160608301866195dc565b65ffffffffffff8516602084015282810360408401526138de8185618cea565b848152608060208201526000619a5a60808301866195dc565b65ffffffffffff85166040840152828103606084015261557f8185618cea565b8281526000602080830184516020860160005b82811015619aa957815184529284019290840190600101619a8d565b5091979650505050505050565b600060208284031215619ac857600080fd5b815167ffffffffffffffff811115619adf57600080fd5b612a7a848285016197fc565b606081526000619afe6060830186618cea565b60208301949094525060400152919050565b608081526000619b2360808301876195dc565b8281036020840152619b358187618cea565b9050846040840152828103606084015261557f8185618cea565b86815260c060208201526000619b6860c08301886195dc565b8281036040840152619b7a8188618cea565b90508560608401528281036080840152619b948186618cea565b9150508260a0830152979650505050505050565b828152604060208201526000612a7a60408301846195dc565b7fffff000000000000000000000000000000000000000000000000000000000000841681528260208201526060604082015260006136b06060830184618cea565b64ffffffffff8181168382160190808211156145a9576145a9618d7a565b87815260e060208201526000619c3960e08301896195dc565b60ff8816604084015264ffffffffff87811660608501528616608084015260a0830185905282810360c0840152619c708185618cea565b9a9950505050505050505050565b60c081526000619c9160c08301896195dc565b60ff8816602084015265ffffffffffff8716604084015264ffffffffff8616606084015284608084015282810360a08401526187b28185618cea565b85815260a060208201526000619ce660a08301876195dc565b60ff95909516604083015250606081019290925260809091015292915050565b602081526000613f1f60208301846195dc56fe646566656e64696e6720706c6179657220646964206e6f74206761696e20676f6c6461747461636b696e6720706c6179657220646964206e6f74206761696e20676f6c6441747461636b20756e697420616e6420636170747572696e6720612063686172676572a2646970667358221220d557f5cf5ee9bb7c42e30666cd4bbf6dd564a1563ee60d6dbcd8f74e1945e0df64736f6c63430008180033","sourceMap":"898:8611:329:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2289:569:338;;;:::i;:::-;;8643:864:329;;;:::i;2161:134:155:-;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3985:340:329;;;:::i;3085:387::-;;;:::i;2930:133:155:-;;;:::i;2631:141::-;;;:::i;6740:1041:329:-;;;:::i;2447:178:155:-;;;:::i;:::-;;;;;;;:::i;5230:228:329:-;;;:::i;1596:395::-;;;:::i;2093:988::-;;;;;;:::i;:::-;;:::i;2301:140:155:-;;;:::i;:::-;;;;;;;:::i;7785:295:329:-;;;:::i;5462:382::-;;;:::i;2778:146:155:-;;;:::i;8084:555:329:-;;;:::i;1866:141:155:-;;;:::i;1819:584:148:-;;;:::i;:::-;;;4683:14:341;;4676:22;4658:41;;4646:2;4631:18;1819:584:148;4518:187:341;5848:888:329;;;:::i;1995:94::-;;;:::i;210:27:144:-;;;;;-1:-1:-1;;;;;210:27:144;;;;;;-1:-1:-1;;;;;4874:55:341;;;4856:74;;4844:2;4829:18;210:27:144;4710:226:341;3476:505:329;;;:::i;2013:142:155:-;;;:::i;4329:897:329:-;;;:::i;1572:26:148:-;;;;;;;;;2289:569:338;2328:13;:11;:13::i;:::-;2362:12;;2347:5;:28;;-1:-1:-1;;2347:28:338;-1:-1:-1;;;;;2362:12:338;;;2347:28;;;;;;2382:25;2414:12;:10;:12::i;:::-;2432:24;2454:1;2432:21;:24::i;:::-;2502:5;;:40;;;;;;;;5109:25:341;;;2502:5:338;5150:18:341;;;5143:50;-1:-1:-1;;;;;2502:5:338;;;;:25;;5082:18:341;;2502:40:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2611:5:338;;2593:33;;-1:-1:-1;;;;;;2611:5:338;;-1:-1:-1;2618:7:338;2593:17;:33::i;:::-;2581:9;:45;2632:78;2639:25;2654:9;;2639:14;:25::i;:::-;2668:1;2639:30;2632:78;;2679:5;;2693:9;;2679:24;;;;;-1:-1:-1;;;;;2679:5:338;;;;:13;;:24;;;;5350:25:341;;;5338:2;5323:18;;5204:177;2679:24:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2632:78;;;2715:52;2740:9;;2751:15;2715:24;:52::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;2773:12:338;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2802:9;:7;:9::i;:::-;2794:5;:17;;-1:-1:-1;;2794:17:338;-1:-1:-1;;;;;2794:17:338;;;;;;;;;;2823:9;:7;:9::i;:::-;2817:3;:15;;-1:-1:-1;;2817:15:338;-1:-1:-1;;;;;2817:15:338;;;;;;;;;;2844:9;:7;:9::i;:::-;2838:3;:15;;-1:-1:-1;;2838:15:338;-1:-1:-1;;;;;2838:15:338;;;;;;;;;;-1:-1:-1;2289:569:338:o;8643:864:329:-;8689:13;:11;:13::i;:::-;8709:12;:10;:12::i;:::-;8727:68;8747:9;;8758:8;;8768:26;8727:19;:68::i;:::-;8801:66;8821:9;;8832:8;;8842:24;8801:19;:66::i;:::-;8874:82;8899:26;8927:24;8953:2;8874:24;:82::i;:::-;8985:83;9010:24;9036:26;9064:3;8985:24;:83::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;9097:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9118:28;9149:37;9166:9;;9177:8;;9149:16;:37::i;:::-;9118:68;;9192:28;9223:37;9240:9;;9251:8;;9223:16;:37::i;:::-;9192:68;;9266:11;:9;:11::i;:::-;9284:106;9293:37;9310:9;;9321:8;;9293:16;:37::i;:::-;9284:106;;9332:31;9357:6;9332:22;:31;:::i;:::-;9284:106;;;;;;;;;;;;;;;;;;;:8;:106::i;:::-;9396;9405:37;9422:9;;9433:8;;9405:16;:37::i;:::-;9396:106;;9444:31;9469:6;9444:22;:31;:::i;:::-;9396:106;;;;;;;;;;;;;;;;;;;:8;:106::i;:::-;8683:824;;8643:864::o;2161:134:155:-;2208:33;2272:16;2253:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2253:35:155;;;;;;;;;;;;;;;;;;;;;;;2161:134;:::o;3985:340:329:-;4030:13;:11;:13::i;:::-;4050:12;:10;:12::i;:::-;4069:44;4086:9;;4097:8;;4107:5;4069:16;:44::i;:::-;4119:41;4134:9;;4145:8;;4155:4;4119:14;:41::i;:::-;4166:37;4178:9;;4189:8;;4199:3;4166:11;:37::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;4209:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4230:53;;;;;;;;;;;;;;;;;;:14;:53::i;:::-;4289:11;:9;:11::i;:::-;4306:14;:12;:14::i;:::-;3985:340::o;3085:387::-;3121:13;:11;:13::i;:::-;3141:12;:10;:12::i;:::-;3159:40;3176:9;;3187:8;;3197:1;3159:16;:40::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;3205:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3226:41;;;;;;;;;;;;;;;;;;:14;:41::i;:::-;3273:11;:9;:11::i;:::-;3290:14;:12;:14::i;:::-;3311:76;3320:37;3337:9;;3348:8;;3320:16;:37::i;:::-;3311:76;;3359:1;3311:76;;;;;;;;;;;;;;;;;:8;:76::i;:::-;3393:74;3402:32;3414:9;;3425:8;;3402:11;:32::i;:::-;3393:74;;;;;;;;;;;;;;;;;3436:1;;3393:8;:74::i;2930:133:155:-;2976:33;3040:16;3021:35;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;3021:35:155;;;;;;;;;;;;;;;;;;;;;;2930:133;:::o;2631:141::-;2679:35;2747:18;2726:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2726:39:155;;;;;;;;;;;;;;;;;;;;;;2631:141;:::o;6740:1041:329:-;6778:13;:11;:13::i;:::-;6798:12;:10;:12::i;:::-;6879:9;;6905:28;;;;;;;;;6923:1;6905:28;;6844:16;6905:28;;;;;;6844:16;6863:71;;;;6844:16;;6863:15;:71::i;:::-;6844:90;;6973:48;6992:9;;7003:8;;7013:7;6973:18;:48::i;:::-;7027;7046:9;;7057:8;;7067:7;7027:18;:48::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;7081:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7102:18;7123:37;7142:9;;7153:6;;7123:18;:37::i;:::-;7181:5;;7167:20;;;;;-1:-1:-1;;;;;7181:5:329;;;7167:20;;;4856:74:341;7102:58:329;;-1:-1:-1;7167:13:329;;;;4829:18:341;;7167:20:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7193:5:329;;7205:9;;7216:8;;7193:42;;;;;;;;6270:25:341;;;;6311:18;;;6304:34;6354:18;;;6347:34;;;-1:-1:-1;;;;;7193:5:329;;;;-1:-1:-1;7193:11:329;;-1:-1:-1;6243:18:341;;7193:42:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:149;309:37;;-1:-1:-1;;;;;7241:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7291:75;7300:32;7312:9;;7323:8;7300:11;:32::i;:::-;7334:6;;7291:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;7440:9;;7398:7;;;;7424:26;;:15;:26::i;:::-;:37;;;:41;;7464:1;7424:41;:::i;:::-;7406:59;;:15;:59;:::i;:::-;7398:68;;;;;;;;;;;;;5350:25:341;;5338:2;5323:18;;5204:177;7398:68:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7473:75;7482:34;7498:9;;7509:6;;7482:15;:34::i;:::-;7518:1;7473:75;;;;;;;;;;;;;;;;;:8;:75::i;:::-;7590:12;:10;:12::i;:::-;7608:148;7624:37;7643:9;;7654:6;;7624:18;:37::i;:::-;7608:148;;7684:32;7696:9;;7707:8;7684:11;:32::i;:::-;:36;;7719:1;7684:36;:::i;:::-;7669:51;;:12;:51;:::i;:::-;7608:148;;;;;;;;;;;;;;;;;;;:8;:148::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;7762:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6772:1009;;6740:1041::o;2447:178:155:-;2503:48;2592:26;2563:55;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2563:55:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2447:178;:::o;5230:228:329:-;5288:13;:11;:13::i;:::-;5308:12;:10;:12::i;:::-;5326:40;5338:9;;5349:8;;5359:6;;5326:11;:40::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;5372:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;5393:43:329;;;;;7570:2:341;5393:43:329;;;7552:21:341;7609:2;7589:18;;;7582:30;7648:26;7628:18;;;7621:54;5393:15:329;;-1:-1:-1;5393:15:329;;-1:-1:-1;7692:18:341;;5393:43:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5442:11;:9;:11::i;1596:395::-;1643:21;1632:8;:32;1681:21;1670:8;:32;1709:12;:10;:12::i;:::-;1755:9;;1766:5;;1736:36;;1755:9;-1:-1:-1;;;;;1766:5:329;1736:18;:36::i;:::-;1727:6;:45;1814:9;;1825:3;;1795:34;;1814:9;-1:-1:-1;;;;;1825:3:329;1795:18;:34::i;:::-;1778:14;:51;1847:8;;1857:6;;1865:28;;;;;;;;;-1:-1:-1;1865:28:329;;;;;;;1836:58;;1847:8;1857:6;1836:10;:58::i;:::-;1911:8;;1921:14;;1937:28;;;;;;;;;-1:-1:-1;1937:28:329;;1961:1;1937:28;;;;1900:66;;1911:8;1921:14;1900:10;:66::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;1972:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1596:395::o;2093:988::-;2212:34;;;;;2239:6;2222:23;;;;;2212:34;;;4658:41:341;2212:9:329;;;;4631:18:341;;2212:34:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2252:34:329;;;;;2279:6;2262:23;;;;;2252:34;;;4658:41:341;2252:9:329;;-1:-1:-1;2252:9:329;;-1:-1:-1;4631:18:341;;2252:34:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2314:35;2320:13;2314:35;;2335:1;2338:10;2314:5;:35::i;:::-;2292:58;;2378:35;2384:13;2378:35;;2399:1;2402:10;2378:5;:35::i;:::-;2356:58;;2421:13;:11;:13::i;:::-;2441:12;:10;:12::i;:::-;2459:53;2476:9;;2487:8;;2497:14;2459:16;:53::i;:::-;2518;2535:9;;2546:8;;2556:14;2518:16;:53::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;2577:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2598:29;;;;;;;;;;;;;;;;;;:14;:29::i;:::-;2633:11;:9;:11::i;:::-;2650:14;:12;:14::i;:::-;2671:20;2694:64;2728:9;;2739:8;;2749;;2694:33;:64::i;:::-;2671:87;;2764:20;2787:64;2821:9;;2832:8;;2842;;2787:33;:64::i;:::-;2764:87;;2858:106;2867:37;2884:9;;2895:8;;2867:16;:37::i;:::-;2858:106;;2906:31;2923:14;2906;:31;:::i;2858:106::-;2970;2979:37;2996:9;;3007:8;;2979:16;:37::i;:::-;2970:106;;3018:31;3035:14;3018;:31;:::i;2301:140:155:-;2349:34;2416:18;2395:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7785:295:329;7846:13;:11;:13::i;:::-;7866:12;:10;:12::i;:::-;7884:44;7902:9;;7913:8;;7923:4;7884:17;:44::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;7934:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;7955:41:329;;;;;8364:2:341;7955:41:329;;;8346:21:341;8403:2;8383:18;;;8376:30;8442:24;8422:18;;;8415:52;7955:15:329;;-1:-1:-1;7955:15:329;;-1:-1:-1;8484:18:341;;7955:41:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8002:5:329;;8022:9;;8033:8;;8043:21;;;8002:5;8043:21;;;;;;;;;-1:-1:-1;;;;;8002:5:329;;;;-1:-1:-1;8002:19:329;;-1:-1:-1;8022:9:329;;8033:8;;8043:21;;;-1:-1:-1;;;;;;;;;;;;;;;;;8043:21:329;;;;;;;;;;;;;;;;8066:8;;8002:73;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;5462:382;5501:13;:11;:13::i;:::-;5521:12;:10;:12::i;:::-;5539:40;5554:9;;5565:8;;5575:3;5539:14;:40::i;:::-;5585;5602:9;;5613:8;;5623:1;5585:16;:40::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;5631:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5652:18;5673:37;5692:9;;5703:6;;5673:18;:37::i;:::-;5652:58;;5716:11;:9;:11::i;:::-;5734:105;5743:37;5762:9;;5773:6;;5743:18;:37::i;:::-;5734:105;;5782:18;:12;5797:3;5782:18;:::i;:::-;5734:105;;;;;;;;;;;;;;;;;;;:8;:105::i;:::-;5495:349;5462:382::o;2778:146:155:-;2826:40;2899:18;2878:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2878:39:155;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8084:555:329;8156:5;;8142:20;;;;;-1:-1:-1;;;;;8156:5:329;;;8142:20;;;4856:74:341;8142:13:329;;;;4829:18:341;;8142:20:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:149;309:37;;-1:-1:-1;;;;;8168:15:329;;:17;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;8241:367:329;;;;;;;;8279:8;;8241:367;;8307:8;;8241:367;;;;8232:1;8241:367;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8191:423;;;;;:16;;-1:-1:-1;8191:33:329;;-1:-1:-1;8191:423:329;;8232:1;8241:367;8191:423;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;317:28:149;309:37;;-1:-1:-1;;;;;8620:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1866:141:155;1915:34;1982:18;1961:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1819:584:148;1853:4;1873:7;;;;;;;1869:528;;;-1:-1:-1;1903:7:148;;;;;;;;1819:584::o;1869:528::-;1941:17;2990:42;2978:55;3059:16;1980:374;;2196:43;;;1671:64;2196:43;;;11624:74:341;;;2221:17:148;11714:18:341;;;11707:34;2196:43:148;;;;;;;;;11597:18:341;;;2196:43:148;;;-1:-1:-1;;1671:64:148;;2086:175;;2135:34;;2086:175;;;:::i;:::-;;;;-1:-1:-1;;2086:175:148;;;;;;;;;;2047:232;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2020:259;;;2323:7;2312:27;;;;;;;;;;;;:::i;:::-;2297:42;;2002:352;1980:374;2374:12;1819:584;-1:-1:-1;1819:584:148:o;5848:888:329:-;5909:13;:11;:13::i;:::-;5929:12;:10;:12::i;:::-;5947:40;5962:9;;5973:8;;5983:3;5947:14;:40::i;:::-;5993;6010:9;;6021:8;;6031:1;5993:16;:40::i;:::-;6039;6054:9;;6065:8;;6075:3;6039:14;:40::i;:::-;6085;6102:9;;6113:8;;6123:1;6085:16;:40::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;6131:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6152:18;6173:37;6192:9;;6203:6;;6173:18;:37::i;:::-;6152:58;;6216:26;6245:45;6264:9;;6275:14;;6245:18;:45::i;:::-;6216:74;;6296:11;:9;:11::i;:::-;6314:74;6323:37;6340:9;;6351:8;;6323:16;:37::i;:::-;6314:74;;6362:1;6314:74;;;;;;;;;;;;;;;;;:8;:74::i;:::-;6394;6403:37;6420:9;;6431:8;;6403:16;:37::i;:::-;6394:74;;6442:1;6394:74;;;;;;;;;;;;;;;;;:8;:74::i;:::-;6475:105;6484:37;6503:9;;6514:6;;6484:18;:37::i;:::-;6475:105;;6523:18;:12;6538:3;6523:18;:::i;6475:105::-;6586:145;6602:45;6621:9;;6632:14;;6602:18;:45::i;:::-;6586:145;;6655:26;:20;6678:3;6655:26;:::i;:::-;6586:145;;;;;;;;;;;;;;;;;;;:8;:145::i;1995:94::-;2029:5;;3114:21:338;;;;;-1:-1:-1;;;;;2029:5:329;;;3114:21:338;;;4856:74:341;;;2029:5:329;3114:13:338;;;;4829:18:341;;3114:21:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;2042:5:329::1;::::0;2054:9:::1;::::0;2065:8:::1;::::0;2075::::1;::::0;2042:42:::1;::::0;;;;-1:-1:-1;;;;;2042:5:329;;::::1;::::0;-1:-1:-1;2042:11:329::1;::::0;-1:-1:-1;2042:42:329::1;::::0;::::1;;6270:25:341::0;;;6326:2;6311:18;;6304:34;;;;6369:2;6354:18;;6347:34;6258:2;6243:18;;6068:319;2042:42:329::1;;;;;;;;;;;;;;;;;;::::0;::::1;;;;;;;;;;;;::::0;::::1;;;;;;;;;317:28:149::0;309:37;;-1:-1:-1;;;;;3148:12:338;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1995:94:329;:::o;3476:505::-;3514:13;:11;:13::i;:::-;3534:12;:10;:12::i;:::-;3552:44;3569:9;;3580:8;;3590:5;3552:16;:44::i;:::-;3602:41;3617:9;;3628:8;;3638:4;3602:14;:41::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;3649:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3670:43;;;;;;;;;;;;;;;;;;:14;:43::i;:::-;3719:11;:9;:11::i;:::-;3736:14;:12;:14::i;:::-;3784:82;3793:37;3810:9;;3821:8;;3793:16;:37::i;:::-;3784:82;;3832:7;3784:82;;;;;;;;;;;;;;;;;:8;:82::i;:::-;3897:79;3906:32;3918:9;;3929:8;;3906:11;:32::i;:::-;3940:6;;3897:79;;;;;;;;;;;;;;;;;:8;:79::i;2013:142:155:-;2062:35;2130:18;2109:39;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;2109:39:155;;;;;;;;;;;;;;;;;;;;;;2013:142;:::o;4329:897:329:-;4376:13;:11;:13::i;:::-;4396:12;:10;:12::i;:::-;4414:48;4433:9;;4444:8;;4454:7;4414:18;:48::i;:::-;4469:46;4486:9;;4497:8;;4507:7;4469:16;:46::i;:::-;4521:41;4536:9;;4547:8;;4557:4;4521:14;:41::i;:::-;4568:65;4586:9;;4597:8;;4607:25;4568:17;:65::i;:::-;4639:49;4665:9;;4676:8;;4686:1;4639:25;:49::i;:::-;317:28:149;309:37;;-1:-1:-1;;;;;4694:12:329;;:14;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4715:11;:9;:11::i;:::-;4733:7;;4741:21;:15;4759:3;4741:21;:::i;:::-;4733:30;;;;;;;;;;;;;5350:25:341;;5338:2;5323:18;;5204:177;4733:30:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4828:81;4837:37;4854:9;;4865:8;;4837:16;:37::i;:::-;4828:81;;4876:6;4828:81;;;;;;;;;;;;;;;;;:8;:81::i;:::-;4916:7;;4924:21;:15;4942:3;4924:21;:::i;:::-;4916:30;;;;;;;;;;;;;5350:25:341;;5338:2;5323:18;;5204:177;4916:30:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4952:11;:9;:11::i;:::-;5021:79;5030:32;5042:9;;5053:8;;5030:11;:32::i;5021:79::-;5106:115;5115:37;5132:9;;5143:8;;5115:16;:37::i;:::-;5106:115;;5154:40;5174:9;;5185:8;;5154:19;:40::i;242:135:144:-;295:30;;;;;12963:2:341;295:30:144;;;12945:21:341;13002:2;12982:18;;;12975:30;13041:15;13021:18;;;13014:43;295:13:144;;;;13074:18:341;;295:30:144;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;280:12;:45;;-1:-1:-1;;;;;280:45:144;;;;-1:-1:-1;;280:45:144;;;;;;;;1066:42:37;2374:38;;;;;;;;3985:340:329:o;3287:94:338:-;625:63:139;;;642:18;625:63;;;13604:92:341;309:37:149;13712:11:341;;;13705:100;;;13821:12;;;13814:101;3324:13:338;;;;3338:37;;13931:12:341;625:63:139;;;;;;;;;;;;617:72;;;:::i;:::-;3338:18:338;:37::i;:::-;3324:52;;;;;;;;;;-1:-1:-1;;;;;4874:55:341;;;3324:52:338;;;4856:74:341;4829:18;;3324:52:338;4710:226:341;4512:193:240;4587:16;;;4558:26;4587:16;;;;;;;4661:24;;;14445:19:341;;;4610:90:240;1222:66;4587:16;4658:1;14480:12:341;;;4661:24:240;;;-1:-1:-1;;4661:24:240;;;;;;;;;1351:66;4610:26;:90::i;1600:513:338:-;1667:19;1755:20;:18;:20::i;:::-;:24;;1778:1;1755:24;:::i;:::-;1747:33;;;-1:-1:-1;1739:42:338;1813:47;1834:25;:23;:25::i;:::-;1813:20;:47::i;:::-;1785:75;;1864:26;1893:46;1921:17;1893:27;:46::i;:::-;1864:75;-1:-1:-1;1969:1:338;1947:23;;;1943:72;;-1:-1:-1;1999:11:338;1943:72;2019:68;;;;;14966:3:341;2019:68:338;;;14948:22:341;15007:1;14986:19;;;14979:30;15046:7;15025:19;;;15018:36;15106:20;;;15099:36;;;15151:18;;;15144:34;;;15194:18;;;15187:34;;;-1:-1:-1;;;;;2019:17:338;;;;;15071:19:341;;2019:68:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2092:18;;1600:513;;;;;:::o;3212:267:218:-;3310:16;;;3324:1;3310:16;;;;;;;;;3260:13;;;;3310:16;;;;;;;;;;;;-1:-1:-1;3310:16:218;3281:45;;3347:2;3332:9;3342:1;3332:12;;;;;;;;:::i;:::-;;;;;;;;;;:17;3356:13;3372:64;1067:66;3409:9;3356:13;-1:-1:-1;;;3372:26:218;:64::i;:::-;3356:80;3212:267;-1:-1:-1;;;;3212:267:218:o;5067:261:208:-;5173:16;;;5187:1;5173:16;;;;;;;;;5144:26;;5173:16;;;;;;;;;;;-1:-1:-1;5173:16:208;5144:45;;5210:11;5195:9;5205:1;5195:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5228:95;1234:66;1218:83;;5265:9;5276:1;5297:9;5279:29;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;5279:29:208;;;;-1:-1:-1;;5279:29:208;;;;;;;;;1363:66;5228:26;:95::i;:::-;5138:190;5067:261;;:::o;2862:211:338:-;3004:9;:11;;2899:15;;;;3004:11;2899:15;3004:11;;;:::i;:::-;;;;;2987:29;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;2987:29:338;;;;;;;-1:-1:-1;;2987:29:338;;;;;;;2977:40;;2987:29;2977:40;;;;3027:24;;;-1:-1:-1;;;;;11642:55:341;;3027:24:338;;;11624:74:341;3041:9:338;11714:18:341;;;11707:34;2977:40:338;-1:-1:-1;3027:7:338;;;;11597:18:341;;3027:24:338;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3064:4:338;;2862:211;-1:-1:-1;;;;2862:211:338:o;12723:318:187:-;12854:16;;;12868:1;12854:16;;;;;;;;12825:26;;12854:16;;;;;;;;;;-1:-1:-1;12854:16:187;12825:45;;12891:11;12876:9;12886:1;12876:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;12923:6;12908:9;12918:1;12908:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;12936:100;1300:66;12973:9;12984:1;13010:9;13004:16;;;;;;;;:::i;:::-;12987:34;;;;;;;16293:3:341;16289:16;;;;16307:66;16285:89;16273:102;;16400:1;16391:11;;16148:260;12987:34:187;;;;-1:-1:-1;;12987:34:187;;;;;;;;;-1:-1:-1;;;12936:26:187;:100::i;3801:350:179:-;3926:16;;;3940:1;3926:16;;;;;;;;3897:26;;3926:16;;;;;;;;;;-1:-1:-1;3926:16:179;3897:45;;3985:8;3979:15;;;;;;;;:::i;:::-;3971:24;;3963:33;;3948:9;3958:1;3948:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;4039:8;4033:15;;;;;;;;:::i;:::-;4025:24;;4017:33;;4002:9;4012:1;4002:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;4057:89;1277:66;1261:83;;4094:9;4105:1;4126:3;4108:23;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;4108:23:179;;;;-1:-1:-1;;4108:23:179;;;;;;;;;1406:66;4057:26;:89::i;3111:338:187:-;3239:16;;;3253:1;3239:16;;;;;;;;3190:12;;;;3239:16;3253:1;3239:16;;;;;;;;;;-1:-1:-1;3239:16:187;3210:45;;3276:11;3261:9;3271:1;3261:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3308:6;3293:9;3303:1;3293:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3321:13;3337:64;1300:66;3374:9;3321:13;-1:-1:-1;;;3337:26:187;:64::i;:::-;3421:21;;;3111:338;-1:-1:-1;;;;;3111:338:187:o;5021:176:148:-;5100:1;5095;:6;5091:100;;5122:30;5148:3;5122:30;;;;;;:::i;:::-;;;;;;;;5166:14;5175:1;5178;5166:8;:14::i;3868:293:187:-;3982:16;;;3996:1;3982:16;;;;;;;;3953:26;;3982:16;;;;;;;;;;-1:-1:-1;3982:16:187;3953:45;;4019:11;4004:9;4014:1;4004:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4051:6;4036:9;4046:1;4036:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4064:92;1300:66;1284:83;;4101:9;4112:1;4133:6;4115:26;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;4781:284:181;4887:16;;;4901:1;4887:16;;;;;;;;4858:26;;4887:16;;;;;;;;;;-1:-1:-1;4887:16:181;4858:45;;4924:11;4909:9;4919:1;4909:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4956:6;4941:9;4951:1;4941:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4969:91;1067:66;1051:83;;5006:9;5017:1;5038:5;5020:25;;;;;;17207:14:341;17200:22;17195:3;17191:32;17179:45;;17249:1;17240:11;;17056:201;5020:25:181;;;;-1:-1:-1;;5020:25:181;;;;;;;;;1196:66;4969:26;:91::i;4778:285:185:-;4885:16;;;4899:1;4885:16;;;;;;;;4856:26;;4885:16;;;;;;;;;;-1:-1:-1;4885:16:185;4856:45;;4922:11;4907:9;4917:1;4907:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4954:6;4939:9;4949:1;4939:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4967:91;1061:66;1045:83;;5004:9;5015:1;5036:5;5018:25;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;5018:25:185;;;;-1:-1:-1;;5018:25:185;;;;;;;;;-1:-1:-1;;;4967:26:185;:91::i;330:580:12:-;394:39;;;;;;;;;17468:21:341;;;;17525:2;17505:18;;;17498:30;17564:22;17544:18;;;17537:50;309:37:149;17639:20:341;;;17632:52;394:8:12;;;;17604:19:341;;394:39:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;389:53;;330:580;:::o;389:53::-;468:22;462:36;;;;;:::i;:::-;;;502:1;462:41;558:22;511:150;;;;;;;;:::i;:::-;;;;;;;;;;;;;447:220;;;;;-1:-1:-1;;;447:220:12;;;;;;;;:::i;:::-;;;;;;;;;;681:12;694:4;681:18;;;;;;:::i;:::-;;;;;;;;;;;;;;703:1;681:23;736:4;706:67;;;;;;;;:::i;:::-;;;;;;;;;;;;;673:101;;;;;-1:-1:-1;;;673:101:12;;;;;;;;:::i;:::-;-1:-1:-1;780:22:12;:29;805:4;780:22;:29;:::i;:::-;;317:28:149;309:37;;-1:-1:-1;;;;;815:19:12;;:21;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;868:9;842:23;:35;883:22;;;;;;;;:20;;;;:22;;;;;309:37:149;;883:22:12;;;;;;;309:37:149;883:20:12;:22;;;;;;;;;;914:534;953:11;967:9;987:39;;;;;;;;;17468:21:341;;;;17525:2;17505:18;;;17498:30;17564:22;17544:18;;;17537:50;309:37:149;17639:20:341;;;17632:52;953:23:12;;-1:-1:-1;987:8:12;;;;17604:19:341;;987:39:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;982:53;;1028:7;914:534::o;982:53::-;1151:15;1201:3;1195;1169:23;;:29;;;;:::i;:::-;:35;;;;:::i;:::-;:39;;1207:1;1169:39;:::i;:::-;1151:57;;1232:1;1222:7;:11;1214:49;;;;-1:-1:-1;;;1214:49:12;;23077:2:341;1214:49:12;;;23059:21:341;23116:2;23096:18;;;23089:30;23155:27;23135:18;;;23128:55;23200:18;;1214:49:12;22875:349:341;1214:49:12;1308:7;1269:12;1282:22;1269:36;;;;;;:::i;:::-;;;;;;;;;;;;;;:46;1321:16;:45;;;;;;;-1:-1:-1;1321:45:12;;;;;;;1343:22;1321:45;;:::i;:::-;;1372:38;1387:22;1372:38;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:14;:38::i;:::-;1416:27;;;;;;;;;-1:-1:-1;1416:27:12;;:22;;:27;;:22;:27;:::i;3356:319:230:-;3479:16;;;3493:1;3479:16;;;;;;;;3429:13;;;;3479:16;3493:1;3479:16;;;;;;;;;;-1:-1:-1;3479:16:230;3450:45;;3516:11;3501:9;3511:1;3501:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3548:6;3533:9;3543:1;3533:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3561:13;3577:64;1061:66;3614:9;3561:13;-1:-1:-1;;;3577:26:230;:64::i;:::-;3561:80;3356:319;-1:-1:-1;;;;;3356:319:230:o;4370:185:148:-;4457:1;4452;:6;4448:101;;4479:31;4506:3;4479:31;;;;;;:::i;:::-;;;;;;;;4524:14;4533:1;4536;4524:8;:14::i;447:437:303:-;580:14;609:30;627:11;609:17;:30::i;:::-;600:39;;644:71;664:11;677:37;694:11;707:6;677:16;:37::i;:::-;644:19;:71::i;:::-;720:42;732:11;745:6;753:8;720:11;:42::i;:::-;766:52;781:11;794:6;802:15;766:14;:52::i;:::-;822:41;834:11;847:6;855:7;822:11;:41::i;6772:299:187:-;6890:16;;;6904:1;6890:16;;;;;;;;6861:26;;6890:16;;;;;;;;;;-1:-1:-1;6890:16:187;6861:45;;6927:11;6912:9;6922:1;6912:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6959:6;6944:9;6954:1;6944:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;6972:94;1300:66;1284:83;;7009:9;7020:1;7041:8;7023:28;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;1010:240:294;1085:5;1098:25;1126:40;1146:11;1159:6;1126:19;:40::i;:::-;1098:68;;1226:19;1194:29;1203:11;1216:6;1194:8;:29::i;:::-;:51;;;;:::i;10868:414:208:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10991:16:208;;11005:1;10991:16;;;;;;;;;-1:-1:-1;;;;10991:16:208;;;;;;;;;;;;;-1:-1:-1;10991:16:208;10962:45;;11028:11;11013:9;11023:1;11013:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;11047:24;;;11134:80;1234:66;11179:9;1363:66;11134:21;:80::i;:::-;11046:168;;;;;;11227:50;11234:11;11247:15;11264:12;11227:6;:50::i;:::-;11220:57;10868:414;-1:-1:-1;;;;;;10868:414:208:o;6517:341:186:-;6638:16;;;6652:1;6638:16;;;;;;;;6594:7;;;;6638:16;6652:1;6638:16;;;;;;;;;;-1:-1:-1;6638:16:186;6609:45;;6675:11;6660:9;6670:1;6660:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6707:7;6692:9;6702:1;6692:12;;;;;;;;:::i;:::-;;;;;;;;;;:22;6721:19;6743:57;1063:66;6787:9;6721:19;6743:33;:57::i;:::-;6845:2;6831:16;;;;-1:-1:-1;;;;;6517:341:186:o;5469:178:148:-;5550:1;5545;:6;5541:100;;5572:30;5598:3;5572:30;;;;;;:::i;:::-;;;;;;;;5616:14;5625:1;5628;5616:8;:14::i;3378:331:185:-;3499:16;;;3513:1;3499:16;;;;;;;;3451:11;;;;3499:16;3513:1;3499:16;;;;;;;;;;-1:-1:-1;3499:16:185;3470:45;;3536:11;3521:9;3531:1;3521:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3568:6;3553:9;3563:1;3553:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3581:13;3597:64;1061:66;3634:9;3581:13;-1:-1:-1;;;3597:26:185;:64::i;4736:287:230:-;4845:16;;;4859:1;4845:16;;;;;;;;4816:26;;4845:16;;;;;;;;;;-1:-1:-1;4845:16:230;4816:45;;4882:11;4867:9;4877:1;4867:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4914:6;4899:9;4909:1;4899:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4927:91;1061:66;1045:83;;4964:9;4975:1;4996:5;4978:25;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;4978:25:230;;;;-1:-1:-1;;4978:25:230;;;;;;;;;-1:-1:-1;;;4927:26:230;:91::i;407:569:298:-;488:7;-1:-1:-1;;;;;693:21:304;;488:7:298;582:30;600:11;582:17;:30::i;:::-;559:53;;617:62;638:11;651:12;665:13;617:20;:62::i;:::-;683:57;699:11;712:13;727:12;683:15;:57::i;:::-;744:44;762:11;775:12;744:17;:44::i;:::-;793:40;804:11;817:12;831:1;793:10;:40::i;:::-;837:50;846:11;859:12;400:4;837:8;:50::i;:::-;891:58;906:11;919:12;933:15;891:14;:58::i;1043:549:329:-;1156:9;;1187:214;;;;;;;;1216:7;1187:214;;;;;;;1271:6;1187:214;;;;;;;-1:-1:-1;1187:214:329;;;;;;1325:1;1187:214;;;;;;;;;;1138:269;;1156:9;1173:6;;1187:214;;;;1138:10;:269::i;:::-;1413:40;1425:9;;1436:6;1444:8;1413:11;:40::i;:::-;1459:37;1471:9;;1482:6;1490:5;1459:11;:37::i;:::-;1557:7;;1565:21;:15;1583:3;1565:21;:::i;:::-;1557:30;;;;;;;;;;;;;5350:25:341;;5338:2;5323:18;;5204:177;1557:30:329;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1043:549;;;:::o;2899:1203:159:-;2979:13;3019:3;3012;:10;;3004:82;;;;-1:-1:-1;;;3004:82:159;;25568:2:341;3004:82:159;;;25550:21:341;25607:2;25587:18;;;25580:30;25646:34;25626:18;;;25619:62;25717:29;25697:18;;;25690:57;25764:19;;3004:82:159;25366:423:341;3004:82:159;3514:10;3531:1;3527;:5;:74;;3573:27;-1:-1:-1;;;3581:1:159;3573:27;:::i;:::-;3527:74;;;3567:1;3536:28;3553:11;;-1:-1:-1;;;3536:28:159;:::i;:::-;:32;;;;:::i;:::-;3514:87;;3611:12;3632:1;3626:3;:7;:80;;3676:29;-1:-1:-1;;;3684:3:159;3676:29;:::i;:::-;3626:80;;;3670:1;3637:30;3654:13;;-1:-1:-1;;;3637:30:159;:::i;:::-;:34;;;;:::i;:::-;3611:95;;3716:12;3737:1;3731:3;:7;:80;;3781:29;-1:-1:-1;;;3789:3:159;3781:29;:::i;:::-;3731:80;;;3775:1;3742:30;3759:13;;-1:-1:-1;;;3742:30:159;:::i;:::-;:34;;;;:::i;:::-;3716:95;;3822:9;3834:22;3841:2;3845:4;3851;3834:6;:22::i;:::-;3822:34;;-1:-1:-1;;;3953:1:159;:18;:83;;4017:18;-1:-1:-1;;;4017:1:159;:18;:::i;:::-;3953:83;;;3983:18;4000:1;-1:-1:-1;;;3983:18:159;:::i;:::-;3981:25;;:21;4005:1;3981:25;:::i;:::-;4046:49;;;;;;;;;;;;;;;;4075:19;;;;;;;;5350:25:341;;;3944:92:159;;-1:-1:-1;4046:49:159;;4075:11;;;;5323:18:341;;4075:19:159;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;4075:19:159;;;;;;;;;;;;:::i;:::-;4046:12;:49::i;:::-;2994:1108;;;;2899:1203;;;;;:::o;2283:670:292:-;2412:5;2425:18;2446:41;2465:11;2478:8;2446:18;:41::i;:::-;2425:62;;2494:34;2531:42;2551:11;2564:8;2531:19;:42::i;:::-;2494:79;;2579:34;2616:42;2636:11;2649:8;2616:19;:42::i;:::-;2579:79;;2664:30;2697:62;2722:17;2741;2697:24;:62::i;:::-;2664:95;;2766:21;2790:50;2818:11;2831:8;2790:27;:50::i;:::-;2766:74;-1:-1:-1;2847:9:292;2859:42;2766:74;2859:24;:42;:::i;:::-;2847:54;-1:-1:-1;2945:3:292;2931:9;2847:54;2945:3;2931:9;:::i;:::-;2915:26;;:12;:26;:::i;:::-;2914:34;;;;:::i;:::-;2907:41;;;;;;;;2283:670;;;;;;:::o;2957:826::-;3086:5;3099:18;3120:41;3139:11;3152:8;3120:18;:41::i;:::-;3099:62;;3168:34;3205:42;3225:11;3238:8;3205:19;:42::i;:::-;3168:79;;3253:34;3290:42;3310:11;3323:8;3290:19;:42::i;:::-;3253:79;;3339:30;3372:62;3397:17;3416;3372:24;:62::i;:::-;3339:95;;3440:21;3464:50;3492:11;3505:8;3464:27;:50::i;:::-;3440:74;-1:-1:-1;3521:9:292;3533:42;3440:74;3533:24;:42;:::i;:::-;3521:54;-1:-1:-1;3581:12:292;3627:3;3613:9;3521:54;3627:3;3613:9;:::i;:::-;3597:26;;:12;:26;:::i;:::-;3596:34;;;;:::i;:::-;3581:49;;3637:29;3669:48;3695:11;3708:8;3669:25;:48::i;:::-;3637:80;-1:-1:-1;3775:3:292;3741:29;3637:80;3775:3;3741:29;:::i;:::-;3731:40;;:6;:40;:::i;:::-;3730:48;;;;:::i;:::-;3723:55;2957:826;-1:-1:-1;;;;;;;;;;;;2957:826:292:o;4787:284:234:-;4893:16;;;4907:1;4893:16;;;;;;;;4864:26;;4893:16;;;;;;;;;;-1:-1:-1;4893:16:234;4864:45;;4930:11;4915:9;4925:1;4915:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4962:6;4947:9;4957:1;4947:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4975:91;1073:66;1057:83;;5012:9;5023:1;5044:5;5026:25;;;;;;17207:14:341;17200:22;17195:3;17191:32;17179:45;;17249:1;17240:11;;17056:201;4784:285:193;4891:16;;;4905:1;4891:16;;;;;;;;4862:26;;4891:16;;;;;;;;;;-1:-1:-1;4891:16:193;4862:45;;4928:11;4913:9;4923:1;4913:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4960:6;4945:9;4955:1;4945:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4973:91;1067:66;1051:83;;5010:9;5021:1;5042:5;5024:25;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;4950:299:243;5066:16;;;5080:1;5066:16;;;;;;;;5037:26;;5066:16;;;;;;;;;;-1:-1:-1;5066:16:243;5037:45;;5103:11;5088:9;5098:1;5088:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5135:6;5120:9;5130:1;5120:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5148:96;1145:66;5185:9;1129:83;5222:5;5216:12;;;;;;;;:::i;:::-;5199:30;;;;;;;16293:3:341;16289:16;;;;16307:66;16285:89;16273:102;;16400:1;16391:11;;16148:260;8273:320:187;8405:16;;;8419:1;8405:16;;;;;;;;8376:26;;8405:16;;;;;;;;;;-1:-1:-1;8405:16:187;8376:45;;8442:11;8427:9;8437:1;8427:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;8474:6;8459:9;8469:1;8459:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;8487:101;1300:66;1284:83;;8524:9;8535:1;8556:15;8538:35;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;4538:344:187;4672:16;;;4686:1;4672:16;;;;;;;;4620:15;;;;4672:16;4686:1;4672:16;;;;;;;;;;-1:-1:-1;4672:16:187;4643:45;;4709:11;4694:9;4704:1;4694:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4741:6;4726:9;4736:1;4726:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;4754:13;4770:64;1300:66;4807:9;4818:1;-1:-1:-1;;;4770:26:187;:64::i;3403:307:133:-;3513:16;;;3527:1;3513:16;;;;;;;;;3463:13;;;;3513:16;;;;;;;;;;;;-1:-1:-1;3513:16:133;3484:45;;3568:11;3535:9;3545:1;3535:12;;;;;;;;:::i;:::-;;;;;;;;;;:45;3587:13;3603:64;1169:66;3640:9;3587:13;1298:66;3603:26;:64::i;:::-;3681:23;;;3403:307;-1:-1:-1;;;;3403:307:133:o;10761:455:37:-;10933:21;10957:17;:15;:17::i;:::-;10933:41;-1:-1:-1;11009:4:37;-1:-1:-1;;;;;10984:30:37;;;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:37;;;;;:86;;11156:7;;11165:8;;11175:10;;11187:4;;11193:11;;11119:86;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10927:289;10761:455;;;;;:::o;3156:236:197:-;3248:16;;;3194:17;3248:16;;;;;;;;;3271:13;3287:64;1075:66;3219:45;3271:13;-1:-1:-1;;;3287:26:197;:64::i;:::-;3365:21;;;3156:236;-1:-1:-1;;;3156:236:197:o;4977:241:240:-;5072:16;;;5021:14;5072:16;;;;;;;;;5095:13;5111:64;1222:66;5043:45;5159:1;1351:66;5111:26;:64::i;3847:210:301:-;3907:7;3943:15;3907:7;3983:21;;;:49;;4031:1;3983:49;;;4007:21;4022:6;4007:12;:21;:::i;1005:395:338:-;1075:7;;1130:1;1136:240;1157:1;1143:15;;;1136:240;;1166:19;1188:20;1197:10;1188:8;:20::i;:::-;1166:42;-1:-1:-1;1233:1:338;1218:16;;;1214:42;;1244:5;;;1214:42;1304:9;1266:34;1288:11;1266:21;:34::i;:::-;:47;1262:92;;1336:11;1323:24;;1262:92;1359:12;;;;:::i;:::-;;;;1160:216;1136:240;;;-1:-1:-1;1387:10:338;1005:395;-1:-1:-1;;1005:395:338:o;17775:457:37:-;17932:7;17947:21;17971:17;:15;:17::i;:::-;17947:41;-1:-1:-1;18023:4:37;-1:-1:-1;;;;;17998:30:37;;;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:37;;;;;:80;;18178:7;;18187:8;;18197:10;;18209:11;;18141:80;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;4759:257:148:-;4819:1;4814;:6;4810:200;;4841:40;;;;;29816:2:341;29798:21;;;29855:2;29835:18;;;29828:30;29894:34;29889:2;29874:18;;29867:62;29965:3;29960:2;29945:18;;29938:31;30001:3;29986:19;;29614:397;4841:40:148;;;;;;;;4900:30;4928:1;4900:30;;;;;;:::i;:::-;;;;;;;;4949;4977:1;4949:30;;;;;;:::i;:::-;;;;;;;;4993:6;:4;:6::i;1754:155:12:-;1818:86;317:28:149;309:37;;-1:-1:-1;;;;;1860:11:12;;1872:12;1885:4;1872:18;;;;;;:::i;:::-;;;;;;;;;;;;;;;1860:31;;;;;;;;;;;;5350:25:341;;;5338:2;5323:18;;5204:177;1860:31:12;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;1860:31:12;;;;;;;;;;;;:::i;:::-;1898:4;1830:73;;;;;;;;;:::i;:::-;;;;;;;;;;;;;1818:11;:86::i;4088:277:148:-;4156:1;4151;:6;4147:212;;4178:44;;;;;32017:2:341;31999:21;;;32056:2;32036:18;;;32029:30;32095:34;32090:2;32075:18;;32068:62;32166:7;32161:2;32146:18;;32139:35;32206:3;32191:19;;31815:401;4178:44:148;;;;;;;;4241:34;4273:1;4241:34;;;;;;:::i;:::-;;;;;;;;4294;4326:1;4294:34;;;;;;:::i;159:327:287:-;216:14;236:18;257:35;280:11;257:22;:35::i;:::-;:39;;295:1;257:39;:::i;:::-;236:60;;300:48;323:11;336;300:22;:48::i;:::-;369:20;;;;-1:-1:-1;440:43:287;450:11;369:20;450:11;440:9;:43::i;:::-;232:254;159:327;;;:::o;831:191:304:-;950:16;;;964:1;950:16;;;908:25;950:16;;;;;908:25;950:16;;;;;;;;;;-1:-1:-1;950:16:304;939:27;;984:11;970:8;979:1;970:11;;;;;;;;:::i;:::-;;;;;;:25;;;;;1013:6;999:8;1008:1;999:11;;;;;;;;:::i;:::-;;;;;;:20;;;;;831:191;;;;:::o;415:519:309:-;495:25;523:30;542:10;523:18;:30::i;:::-;495:58;;563:9;558:374;578:8;:15;574:1;:19;558:374;;;606:21;646:8;655:1;646:11;;;;;;;;:::i;:::-;;;;;;;606:52;;665:42;710:43;730:10;742;710:19;:43::i;:::-;665:88;;759:168;788:10;806:8;822:15;:26;;;856:15;:30;;;894:15;:27;;;759:21;:168::i;:::-;-1:-1:-1;;595:3:309;;558:374;;826:257:300;918:43;941:11;954:6;918:22;:43::i;:::-;965;978:11;991:6;999:8;965:12;:43::i;:::-;1012:68;1036:11;1049:8;:10;;;1061:8;:10;;;1073:6;1012:23;:68::i;4778:287:196:-;4887:16;;;4901:1;4887:16;;;;;;;;4858:26;;4887:16;;;;;;;;;;-1:-1:-1;4887:16:196;4858:45;;4924:11;4909:9;4919:1;4909:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4956:6;4941:9;4951:1;4941:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4969:91;1067:66;1051:83;;5006:9;5017:1;5038:5;5020:25;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;1743:1011:294;1828:15;1851:25;1879:34;1892:11;1905:7;1879:12;:34::i;:::-;1851:62;;1920:17;1940:27;1955:11;1940:14;:27::i;:::-;1920:47;;1973:26;2016:60;2026:11;2039:36;2054:11;2067:7;2039:14;:36::i;:::-;2016:9;:60::i;:::-;2002:74;;:11;:74;:::i;:::-;1973:103;;2088:9;2083:644;2103:8;:15;2099:1;:19;2083:644;;;2133:20;2156:8;2165:1;2156:11;;;;;;;;:::i;:::-;;;;;;;2133:34;;2176:17;2211;2231:45;2250:11;2263:12;2231:18;:45::i;:::-;2211:65;;2287:20;2322:36;2337:11;2350:7;2322:14;:36::i;:::-;2310:9;:48;:141;;2431:20;2310:141;;;2385:33;2395:11;2408:9;2385;:33::i;:::-;2371:47;;:11;:47;:::i;:::-;2287:164;;2493:38;2505:11;2518:12;2493:11;:38::i;:::-;2476:55;;:14;:55;:::i;:::-;2462:69;;2201:339;;2598:1;2552:43;2569:11;2582:12;2552:16;:43::i;:::-;:47;;;2548:140;;;2625:54;2640:11;2653:12;2667:11;2625:14;:54::i;:::-;2611:68;;2548:140;2696:24;2709:11;2696:24;;:::i;:::-;;-1:-1:-1;;;2120:3:294;;2083:644;;;;2733:16;;;1743:1011;;;;:::o;3388:333:192:-;3511:16;;;3525:1;3511:16;;;;;;;;3461:13;;;;3511:16;3525:1;3511:16;;;;;;;;;;-1:-1:-1;3511:16:192;3482:45;;3548:11;3533:9;3543:1;3533:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3580:6;3565:9;3575:1;3565:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3593:13;3609:64;1055:66;3646:9;3593:13;-1:-1:-1;;;3609:26:192;:64::i;15347:431:37:-;15477:12;15491:14;15507:12;15527:21;15551:17;:15;:17::i;:::-;15527:41;-1:-1:-1;15603:4:37;-1:-1:-1;;;;;15578:30:37;;;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:37;;;;;:63;;15736:7;;15745:8;;15755:11;;15704:63;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;15704:63:37;;;;;;;;;;;;:::i;15347:431::-;;;;;;;;:::o;15201:342:208:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15513:25:208;15526:11;15513:12;:25::i;:::-;-1:-1:-1;;;;;15349:189:208;15483:21;;;15349:189;15459:16;;;15349:189;15437:14;;;15349:189;15412:17;;;15349:189;15388:16;;;15349:189;;;15357:6;15201:342;-1:-1:-1;;;15201:342:208:o;21091:444:37:-;21233:7;21248:21;21272:17;:15;:17::i;:::-;21248:41;-1:-1:-1;21324:4:37;-1:-1:-1;;;;;21299:30:37;;;21295:236;;21346:69;21378:7;21387:8;21397:17;21346:31;:69::i;:::-;21339:76;;;;;21295:236;21443:81;;;;;-1:-1:-1;;;;;21443:43:37;;;;;:81;;21487:7;;21496:8;;21506:17;;21443:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;21295:236::-;21242:293;21091:444;;;;;:::o;5202:262:148:-;5264:1;5259;:6;5255:203;;5286:41;;;;;35135:2:341;35117:21;;;35174:2;35154:18;;;35147:30;35213:34;35208:2;35193:18;;35186:62;35284:4;35279:2;35264:18;;35257:32;35321:3;35306:19;;34933:398;5286:41:148;;;;;;;;5346:31;5375:1;5346:31;;;;;;:::i;:::-;;;;;;;;5396;5425:1;5396:31;;;;;;:::i;4832:299:189:-;4947:16;;;4961:1;4947:16;;;;;;;;4918:26;;4947:16;;;;;;;;;;-1:-1:-1;4947:16:189;4918:45;;4984:11;4969:9;4979:1;4969:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5016:12;5001:9;5011:1;5001:12;;;;;;;;:::i;:::-;;;;;;:27;;;;;5035:91;1079:66;1063:83;;5072:9;5083:1;5104:5;5086:25;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;5137:342:215;5260:16;;;5274:1;5260:16;;;;;;;;5231:26;;5260:16;;;;;;;;;;-1:-1:-1;5260:16:215;5231:45;;5297:11;5282:9;5292:1;5282:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5353:13;-1:-1:-1;;;;;5337:31:215;5329:40;;5314:9;5324:1;5314:12;;;;;;;;:::i;:::-;;;;;;:55;;;;;5376:98;1069:66;1053:83;;5413:9;5424:1;5445:12;5427:32;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;8867:223:216;8955:16;;;8969:1;8955:16;;;;;;;;;8926:26;;8955:16;;;;;;;;;;;-1:-1:-1;8955:16:216;8926:45;;8992:2;8977:9;8987:1;8977:12;;;;;;;;:::i;:::-;;;;;;:17;;;;;9001:84;1071:66;1055:83;;9042:9;9053:1;9074:8;9056:28;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;9056:28:216;;;;;;;;;;;;;9001:30;:84::i;4755:286:231:-;4863:16;;;4877:1;4863:16;;;;;;;;4834:26;;4863:16;;;;;;;;;;-1:-1:-1;4863:16:231;4834:45;;4900:11;4885:9;4895:1;4885:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4932:6;4917:9;4927:1;4917:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;4945:91;1059:66;1043:83;;4982:9;4993:1;5014:5;4996:25;;;;;;;36189:3:341;36185:16;;;;36203:66;36181:89;36169:102;;36296:1;36287:11;;36042:262;4812:289:192;4921:16;;;4935:1;4921:16;;;;;;;;4892:26;;4921:16;;;;;;;;;;-1:-1:-1;4921:16:192;4892:45;;4958:11;4943:9;4953:1;4943:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4990:6;4975:9;4985:1;4975:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;5003:93;1055:66;1039:83;;5040:9;5051:1;5072:7;5054:27;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;15980:581:187;16071:24;16098:186;16118:6;:13;;;16139:6;:16;;;16163:6;:15;;;16186:6;:22;;;16216:6;:15;;;16239:6;:15;;;16262:6;:16;;;16098:12;:186::i;:::-;16388:16;;;16402:1;16388:16;;;16327:25;16388:16;;;;;16071:213;;-1:-1:-1;16291:30:187;;16327:25;16291:30;;16388:16;16402:1;16388:16;;;;;;;;;;-1:-1:-1;16388:16:187;16359:45;;16425:11;16410:9;16420:1;16410:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;16457:6;16442:9;16452:1;16442:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;16470:86;1300:66;16502:9;16513:11;16526:15;16543:12;16470:21;:86::i;1434:1263:159:-;1518:14;1559:3;1552;:10;;1544:85;;;;-1:-1:-1;;;1544:85:159;;36511:2:341;1544:85:159;;;36493:21:341;36550:2;36530:18;;;36523:30;36589:34;36569:18;;;36562:62;36660:32;36640:18;;;36633:60;36710:19;;1544:85:159;36309:426:341;1544:85:159;1863:3;1858:1;:8;;:20;;;;;1875:3;1870:1;:8;;1858:20;1854:34;;;-1:-1:-1;1887:1:159;1880:8;;1854:34;1899:12;1914:9;1920:3;1914;:9;:::i;:::-;:13;;1926:1;1914:13;:::i;:::-;1899:28;;2122:1;2117;:6;;:18;;;;;2134:1;2127:4;:8;2117:18;2113:38;;;2144:7;2150:1;2144:3;:7;:::i;2113:38::-;2170:15;2184:1;-1:-1:-1;;2170:15:159;:::i;:::-;2165:1;:20;;:46;;;;-1:-1:-1;2196:15:159;2210:1;-1:-1:-1;;2196:15:159;:::i;:::-;2189:4;:22;2165:46;2161:82;;;2227:15;2241:1;-1:-1:-1;;2227:15:159;:::i;:::-;2220:23;;:3;:23;:::i;2161:82::-;2347:3;2343:1;:7;2339:352;;;2366:12;2381:7;2385:3;2381:1;:7;:::i;:::-;2366:22;-1:-1:-1;2402:11:159;2416;2423:4;2366:22;2416:11;:::i;:::-;2402:25;;2445:3;2452:1;2445:8;2441:24;;2462:3;2455:10;;;;;;;2441:24;2500:1;2488:9;2494:3;2488;:9;:::i;:::-;:13;;;;:::i;:::-;2479:22;;2352:160;;2339:352;;;2526:3;2522:1;:7;2518:173;;;2545:12;2560:7;2566:1;2560:3;:7;:::i;:::-;2545:22;-1:-1:-1;2581:11:159;2595;2602:4;2545:22;2595:11;:::i;:::-;2581:25;;2624:3;2631:1;2624:8;2620:24;;2641:3;2634:10;;;;;;;2620:24;2667:9;2673:3;2667;:9;:::i;:::-;:13;;2679:1;2667:13;:::i;:::-;2658:22;1434:1263;-1:-1:-1;;;;;;;1434:1263:159:o;9884:212::-;9966:11;702:42;-1:-1:-1;;;;;9982:36:159;10065:2;10069;10019:53;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;10019:53:159;;;;;;;;;;;;;;;;;;;;9982:91;;;10019:53;9982:91;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6003:342:187;6135:16;;;6149:1;6135:16;;;;;;;;6084:14;;;;6135:16;6149:1;6135:16;;;;;;;;;;-1:-1:-1;6135:16:187;6106:45;;6172:11;6157:9;6167:1;6157:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;6204:6;6189:9;6199:1;6189:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;6217:13;6233:64;1300:66;6270:9;6281:1;-1:-1:-1;;;6233:26:187;:64::i;11910:363::-;12055:16;;;12069:1;12055:16;;;;;;;;11992:26;;;;12055:16;12069:1;12055:16;;;;;;;;;;-1:-1:-1;12055:16:187;12026:45;;12092:11;12077:9;12087:1;12077:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;12124:6;12109:9;12119:1;12109:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;12137:13;12153:64;1300:66;12190:9;12201:1;-1:-1:-1;;;12153:26:187;:64::i;:::-;12137:80;-1:-1:-1;12247:20:187;;;;12230:38;;;;;;;;:::i;2930:398:179:-;3069:16;;;3083:1;3069:16;;;;;;;;3023:9;;;;3069:16;3083:1;3069:16;;;;;;;;;;-1:-1:-1;3069:16:179;3040:45;;3128:8;3122:15;;;;;;;;:::i;:::-;3114:24;;3106:33;;3091:9;3101:1;3091:12;;;;;;;;:::i;:::-;;;;;;:48;;;;;3182:8;3176:15;;;;;;;;:::i;:::-;3168:24;;3160:33;;3145:9;3155:1;3145:12;;;;;;;;:::i;:::-;;;;;;;;;;:48;3200:13;3216:64;1277:66;3253:9;3200:13;1406:66;3216:26;:64::i;3894:352:292:-;3991:5;4004:15;4022:35;4045:11;4022:22;:35::i;:::-;4004:53;;4064:28;4095:33;4108:11;4121:6;4095:12;:33::i;:::-;4064:64;;4135:21;4159:53;4194:7;4203:8;4159:34;:53::i;7462:356:187:-;7608:16;;;7622:1;7608:16;;;;;;;;7550:21;;;;7608:16;7622:1;7608:16;;;;;;;;;;-1:-1:-1;7608:16:187;7579:45;;7645:11;7630:9;7640:1;7630:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7677:6;7662:9;7672:1;7662:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;7690:13;7706:64;1300:66;7743:9;7754:1;-1:-1:-1;;;7706:26:187;:64::i;1836:227:37:-;1066:42;1925:22;1886:7;;-1:-1:-1;;;;;1925:22:37;;1953:106;;2001:10;1994:17;;;1836:227;:::o;23107:355:36:-;23279:178;23313:7;23338:8;23368:63;23407:11;23420:10;23368:38;:63::i;:::-;23446:4;23279:16;:178::i;1382:108:304:-;1433:7;1453:34;1476:10;1453:22;:34::i;2705:298:221:-;2825:16;;;2839:1;2825:16;;;;;;;;;2771:17;;;;2825:16;;;;;;;;;;;;-1:-1:-1;2825:16:221;2796:45;;2862:11;2847:9;2857:1;2847:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;2880:13;2896:64;1127:66;2933:9;2880:13;1256:66;2896:26;:64::i;36171:541:36:-;36328:7;36465:242;36509:59;36550:7;36559:8;36509:40;:59::i;:::-;36586:31;;;;4323:19:16;:27;579:1:43;4322:44:16;4288:79;;;4275:93;36635:63:36;36674:11;36687:10;36635:38;:63::i;:::-;36465:17;:242::i;2410:424:148:-;2990:42;2978:55;3059:16;2445:359;;2645:67;;;1671:64;2645:67;;;37447:74:341;;;2670:17:148;37537:18:341;;;37530:34;;;;2705:4:148;37580:18:341;;;37573:34;2482:11:148;;1671:64;2579:43;;37420:18:341;;2645:67:148;;;-1:-1:-1;;2645:67:148;;;;;;;;;;2534:196;;;2645:67;2534:196;;:::i;:::-;;;;-1:-1:-1;;2534:196:148;;;;;;;;;;2499:245;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;2445:359:148;2813:7;:14;;;;;;;;2410:424::o;5630:121:162:-;5685:59;5740:2;5701:42;;;;;;;;:::i;:::-;;;;-1:-1:-1;;5701:42:162;;;;;;;;;;;;;;;;;;;;5685:15;:59::i;3328:290:209:-;3442:16;;;3456:1;3442:16;;;;;;;;;3385:20;;;;3442:16;;;;;;;;;;;;-1:-1:-1;3442:16:209;3413:45;;3479:11;3464:9;3474:1;3464:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;3497:13;3513:64;1081:66;3550:9;3497:13;-1:-1:-1;;;3513:26:209;:64::i;:::-;3591:21;;;3328:290;-1:-1:-1;;;;3328:290:209:o;4642:259::-;4742:16;;;4756:1;4742:16;;;;;;;;;4713:26;;4742:16;;;;;;;;;;;-1:-1:-1;4742:16:209;4713:45;;4779:11;4764:9;4774:1;4764:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;4797:99;1081:66;1065:83;;4834:9;4845:1;4866:13;4848:33;;;;;;;36189:3:341;36185:16;;;;36203:66;36181:89;36169:102;;36296:1;36287:11;;36042:262;3398:421:205;3487:24;3514:25;3527:11;3514:12;:25::i;:::-;3643:16;;;3657:1;3643:16;;;3582:25;3643:16;;;;;3487:52;;-1:-1:-1;3546:30:205;;3582:25;3546:30;;3643:16;3657:1;3643:16;;;;;;;;;;-1:-1:-1;3643:16:205;3614:45;;3680:14;3665:9;3675:1;3665:12;;;;;;;;:::i;:::-;;;;;;:29;;;;;3715:6;3700:9;3710:1;3700:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3728:86;1066:66;3760:9;3771:11;3784:15;3801:12;3728:21;:86::i;3310:311:245:-;3417:16;;;3431:1;3417:16;;;;;;;;;3358:22;;3388:26;;3417:16;;;;;;;;;;;;-1:-1:-1;3417:16:245;3388:45;;3454:2;3439:9;3449:1;3439:12;;;;;;;;:::i;:::-;;;;;;;;;;:17;3463:18;3484:51;1075:66;3522:9;3463:18;3484:27;:51::i;:::-;3463:72;;3549:66;:44;3570:5;3577:1;3580:5;:12;3549:20;:44::i;:::-;:64;:66::i;16675:483:244:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;16821:16:244;;16835:1;16821:16;;;;;;;;;-1:-1:-1;;16821:16:244;;;;;;;;;;;;;-1:-1:-1;16821:16:244;16792:45;;16858:10;16843:9;16853:1;16843:12;;;;;;;;:::i;:::-;;;;;;:25;;;;;16907:7;16874:9;16884:1;16874:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;16923:24;;;17010:80;1347:66;17055:9;1476:66;17010:21;:80::i;:::-;16922:168;;;;;;17103:50;17110:11;17123:15;17140:12;17103:6;:50::i;6458:480:37:-;6645:21;6669:17;:15;:17::i;:::-;6645:41;-1:-1:-1;6721:4:37;-1:-1:-1;;;;;6696:30:37;;;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:37;;;;;:91;;6868:7;;6877:8;;6887:10;;6899:14;;6915:11;;6836:91;;;:::i;265:559:300:-;338:36;377:33;390:11;403:6;377:12;:33::i;:::-;338:72;;414:43;460:100;553:6;460:80;488:11;501:16;:18;;;521:16;:18;;;460:27;:80::i;:::-;:92;;:100::i;:::-;568:33;;414:146;;-1:-1:-1;568:37:300;564:258;;613:103;636:11;649:16;:18;;;669:16;:18;;;689:26;613:22;:103::i;:::-;564:258;;;733:84;765:11;778:16;:18;;;798:16;:18;;;733:31;:84::i;7412:429:233:-;7505:24;7532:32;7545:6;:8;;;7555:6;:8;;;9865:22;;;42851:3:341;42847:16;;;9865:22:233;;;42835:29:341;42893:16;;;;42880:11;;;42873:37;9865:22:233;;;;;;;;;42926:11:341;;;;9865:22:233;;;;9775:117;7532:32;7668:16;;;7682:1;7668:16;;;7607:25;7668:16;;;;;7505:59;;-1:-1:-1;7571:30:233;;7607:25;7571:30;;7668:16;7682:1;7668:16;;;;;;;;;;-1:-1:-1;7668:16:233;7639:45;;7705:11;7690:9;7700:1;7690:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;7737:6;7722:9;7732:1;7722:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;7750:86;1110:66;7782:9;7793:11;7806:15;7823:12;7750:21;:86::i;11448:355:190:-;11563:16;;;11577:1;11563:16;;;;;;;;;11534:26;;11563:16;;;;;;;;;;-1:-1:-1;11563:16:190;11534:45;;11600:11;11585:9;11595:1;11585:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;11655:1;11648:9;;11632:27;;11617:9;11627:1;11617:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;11703:1;11696:9;;11680:27;;11665:9;11675:1;11665:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;11714:84;1081:66;1065:83;;11755:9;11766:1;11787:8;11769:28;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;3495:377:186;3631:16;;;3645:1;3631:16;;;3569:25;3631:16;;;;;3569:25;3602:26;;3631:16;3645:1;3631:16;;;;;;;;;;-1:-1:-1;3631:16:186;3602:45;;3668:11;3653:9;3663:1;3653:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3700:7;3685:9;3695:1;3685:12;;;;;;;;:::i;:::-;;;;;;;;;;:22;3714:18;3735:51;1063:66;3773:9;3714:18;3735:27;:51::i;:::-;3714:72;;3800:66;:44;3821:5;3828:1;3831:5;:12;3800:20;:44::i;1254:132:294:-;1322:5;1342:39;1352:11;1365:15;1342:9;:39::i;3380:328:196:-;3503:16;;;3517:1;3503:16;;;;;;;;3453:13;;;;3503:16;3517:1;3503:16;;;;;;;;;;-1:-1:-1;3503:16:196;3474:45;;3540:11;3525:9;3535:1;3525:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3572:6;3557:9;3567:1;3557:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3585:13;3601:64;1067:66;3638:9;3585:13;-1:-1:-1;;;3601:26:196;:64::i;1390:349:294:-;1469:5;1482:34;1519:28;1535:11;1519:15;:28::i;:::-;1482:65;;1566:11;:21;;;1557:6;:30;1553:44;;;1596:1;1589:8;;;;;1553:44;1604:26;1642:11;:21;;;1633:6;:30;;;;:::i;:::-;1604:59;;1710:11;:22;;;1689:18;:43;;;;:::i;3388:328:183:-;3511:16;;;3525:1;3511:16;;;;;;;;3461:13;;;;3511:16;3525:1;3511:16;;;;;;;;;;-1:-1:-1;3511:16:183;3482:45;;3548:11;3533:9;3543:1;3533:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3580:6;3565:9;3575:1;3565:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;3593:13;3609:64;1075:66;3646:9;3593:13;-1:-1:-1;;;3609:26:183;:64::i;2731:332:182:-;2853:16;;;2867:1;2853:16;;;;;;;;2807:9;;;;2853:16;2867:1;2853:16;;;;;;;;;;-1:-1:-1;2853:16:182;2824:45;;2890:11;2875:9;2885:1;2875:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;2922:6;2907:9;2917:1;2907:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;2935:13;2951:64;1126:66;2988:9;2935:13;-1:-1:-1;;;2951:26:182;:64::i;2758:372:294:-;2852:5;2865:24;2892:35;2906:11;2919:7;2892:13;:35::i;:::-;2966:7;;2947:16;;;;2865:62;;-1:-1:-1;2938:35:294;;;:25;;:6;:25;:::i;:::-;:35;;;2934:91;;;3002:16;;;;2992:7;;:26;;3002:16;2992:26;:::i;:::-;2983:35;;2934:91;3031:74;3057:11;3070:7;3098:6;3079:3;:16;;;:25;;;;:::i;:::-;3031;:74::i;:::-;-1:-1:-1;3119:6:294;;2758:372;-1:-1:-1;;;2758:372:294:o;32759:1315:36:-;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:36;;33317:753;;33414:66;33462:7;33471:8;33414:47;:66::i;:::-;33397:83;-1:-1:-1;6445:61:15;;;33532:33:36;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;33532:33:36;-1:-1:-1;33518:47:36;-1:-1:-1;894:4:31;884:15;;33573:21:36;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:36;33808:25;:14;33831:1;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;33808:25:36;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;14449:594:208:-;14541:24;14573:17;14598:18;14624:15;14647:17;14672:22;14737:26;14754:5;14761:1;35409:27:14;35423:4;35409:27;35403:34;;35277:170;14737:26:208;35409:27:14;;;35403:34;35409:27;;;;35403:34;35409:27;;;35403:34;35409:27;;;35403:34;35409:27;;;;35403:34;14729:35:208;;35403:34:14;;;;-1:-1:-1;35403:34:14;-1:-1:-1;35403:34:14;-1:-1:-1;15000:37:208;;;;;-1:-1:-1;14449:594:208;-1:-1:-1;;14449:594:208:o;39909:262:36:-;40051:7;40073:93;40148:17;40073:66;40121:7;40130:8;40073:47;:66::i;:::-;:74;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;12345:451:37;12505:21;12529:17;:15;:17::i;:::-;12505:41;-1:-1:-1;12581:4:37;-1:-1:-1;;;;;12556:30:37;;;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:37;;;;;:90;;12736:7;;12745:8;;12755:17;;12774:10;;12695:90;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;12499:297;12345:451;;;;:::o;19314:332:187:-;19521:12;19565:6;19573:9;19584:8;19594:15;19611:8;19621;19631:9;19548:93;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;19541:100;;19314:332;;;;;;;;;:::o;6980:285:208:-;7096:16;;;7110:1;7096:16;;;;;;;;;7044:15;;;;7096:16;;;;;;;;;;;;-1:-1:-1;7096:16:208;7067:45;;7133:11;7118:9;7128:1;7118:12;;;;;;;;:::i;:::-;;;;;;;;;;:26;7151:13;7167:64;1234:66;7204:9;7215:1;1363:66;7167:26;:64::i;5420:454:233:-;-1:-1:-1;;;;;;;;;;;;;;;;;;5556:16:233;;5570:1;5556:16;;;;;;;;;-1:-1:-1;;;;5556:16:233;;;;;;;;;;;;;-1:-1:-1;5556:16:233;5527:45;;5593:11;5578:9;5588:1;5578:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5625:6;5610:9;5620:1;5610:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5639:24;;;5726:80;1110:66;5771:9;-1:-1:-1;;;5726:21:233;:80::i;:::-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;35409:27:14;;35403:34;35409:27;;;35403:34;8561:33:233;8957:48;;;;;;;;;;5638:168;;-1:-1:-1;5638:168:233;;-1:-1:-1;5638:168:233;-1:-1:-1;5819:50:233;8812:198;2829:519:297;2947:19;2974:24;3001:39;3022:7;3031:8;3001:20;:39::i;:::-;2974:66;;3052:9;3047:297;3067:7;:14;3063:1;:18;3047:297;;;3096:18;3117:43;3140:7;3149;3157:1;3149:10;;;;;;;;:::i;:::-;;;;;;;3117:22;:43::i;:::-;3096:64;-1:-1:-1;3168:23:297;3194:65;3096:64;1073:66:180;3194:29:297;:65::i;:::-;3168:91;;3314:23;3326:10;35423:4:14;35409:27;35403:34;1273:38:297;;;1189:126;3314:23;3297:40;;;;:::i;:::-;;-1:-1:-1;;;3083:3:297;;3047:297;;;;2968:380;2829:519;;;;:::o;51823:242:36:-;51919:7;;;51958:84;51978:10;51974:14;;:1;:14;51958:84;;;52003:32;4275:93:16;4323:19;:27;;;579:1:43;4322:44:16;4288:79;;;4275:93;52003:32:36;;:::i;:::-;;-1:-1:-1;51990:3:36;;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:45;17798:4:36;:14;;;;;:41;;;;:::i;:::-;17794:236;;;17851:170;;;;;3536:35:17;;;;;17851:54:36;;:170;;17927:7;;17956:8;;17983:5;;18006:4;;17851:170;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;17794:236;-1:-1:-1;17742:3:36;;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:45;18455:4:36;:14;;;;;:40;;;;:::i;:::-;18451:234;;;18507:169;;;;;3536:35:17;;;;;18507:53:36;;:169;;18582:7;;18611:8;;18638:5;;18661:4;;18507:169;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18451:234;-1:-1:-1;18399:3:36;;18365:326;;3329:297:212;3440:16;;;3454:1;3440:16;;;;;;;;;3384:19;;;;3440:16;;;;;;;;;;;;-1:-1:-1;3440:16:212;3411:45;;3493:10;3485:19;;3477:28;;3462:9;3472:1;3462:12;;;;;;;;:::i;:::-;;;;;;;;;;:43;3512:13;3528:64;1081:66;3565:9;3512:13;-1:-1:-1;;;3528:26:212;:64::i;50806:191:36:-;50908:7;50972;50981:8;50955:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;50955:35:36;;;;;;;;;50945:46;;50955:35;50945:46;;;;42361:22;50938:53;;50806:191;-1:-1:-1;;;50806:191:36:o;8945:812:35:-;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:35;;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;181:376:162:-;275:14;;131:42;448:2;435:16;;251:21;;275:14;435:16;131:42;484:5;473:68;464:77;;401:150;;181:376;:::o;5675:127:205:-;5741:12;5785:11;5768:29;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;5768:29:205;;;;;;;;;;;;;5761:36;;5675:127;;;:::o;18598:431:37:-;18734:12;18754:21;18778:17;:15;:17::i;:::-;18754:41;-1:-1:-1;18830:4:37;-1:-1:-1;;;;;18805:30:37;;;18801:224;;18852:63;18878:7;18887:8;18897:17;18852:25;:63::i;18801:224::-;18943:75;;;;;-1:-1:-1;;;;;18943:37:37;;;;;:75;;18981:7;;18990:8;;19000:17;;18943:75;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;18943:75:37;;;;;;;;;;;;:::i;2003:574:34:-;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:34;2420:11;2426:5;2420:3;:11;:::i;:::-;692:17;2555:15;2547:3;2536:14;;;;2535:36;;;;;;-1:-1:-1;;;;;2003:574:34:o;45284:220:47:-;45350:24;45382:30;45415:32;45433:6;45441:2;45445:1;45415:17;:32::i;21513:330:244:-;-1:-1:-1;;;;;;;;;;;;;;;;;;;;;;;;;21720:25:244;21733:11;21720:12;:25::i;:::-;21694:51;;21794:44;21808:15;21825:12;21794:13;:44::i;:::-;21772:18;;;21752:86;21753:17;;;21752:86;21753:6;21513:330;-1:-1:-1;;;21513:330:244:o;12066:286:36:-;12253:94;12263:7;12272:8;12282:10;12294:14;12310:11;12323:23;12338:7;12323:14;:23::i;:::-;12253:9;:94::i;3673:446:190:-;3810:16;;;3824:1;3810:16;;;;;;;;;3748:25;;3781:26;;3810:16;;;;3748:25;;3810:16;;;;;-1:-1:-1;3810:16:190;3781:45;;3847:11;3832:9;3842:1;3832:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;3902:1;3895:9;;3879:27;;3864:9;3874:1;3864:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;3950:1;3943:9;;3927:27;;3912:9;3922:1;3912:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3961:18;3982:51;1081:66;4020:9;3961:18;3982:27;:51::i;:::-;3961:72;;4047:66;:44;4068:5;4075:1;4078:5;:12;4047:20;:44::i;834:531:99:-;912:16;936:25;978:3;:10;964:25;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;964:25:99;;936:53;;995:21;1027:9;1022:150;1042:3;:10;1038:1;:14;1022:150;;;1081:7;1071:3;1075:1;1071:6;;;;;;;;:::i;:::-;;;;;;;:17;1067:99;;1126:3;1130:1;1126:6;;;;;;;;:::i;:::-;;;;;;;1100:8;1109:13;1100:23;;;;;;;;:::i;:::-;;;;;;;;;;:32;1142:15;;;;:::i;:::-;;;;1067:99;1054:3;;1022:150;;;-1:-1:-1;1302:31:99;;;834:531;-1:-1:-1;;;834:531:99:o;5475:362:190:-;5598:16;;;5612:1;5598:16;;;;;;;;;5569:26;;5598:16;;;;;;;;;;-1:-1:-1;5598:16:190;5569:45;;5635:11;5620:9;5630:1;5620:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5690:1;5683:9;;5667:27;;5652:9;5662:1;5652:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;5738:1;5731:9;;5715:27;;5700:9;5710:1;5700:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;5749:83;1081:66;5787:9;1065:83;5801:30;5821:8;5801:18;:30::i;:::-;5749:27;:83::i;16000:306::-;16105:16;;;16119:1;16105:16;;;;;;;;;16076:26;;16105:16;;;;;;;;;;-1:-1:-1;16105:16:190;16076:45;;16142:11;16127:9;16137:1;16127:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;16197:1;16190:9;;16174:27;;16159:9;16169:1;16159:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;16245:1;16238:9;;16222:27;;16207:9;16217:1;16207:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;16256:45;1081:66;16291:9;16256:24;:45::i;5631:455:182:-;-1:-1:-1;;;;;;;;;;;;;;;;;;5768:16:182;;5782:1;5768:16;;;;;;;;;-1:-1:-1;;;;5768:16:182;;;;;;;;;;;;;-1:-1:-1;5768:16:182;5739:45;;5805:11;5790:9;5800:1;5790:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5837:6;5822:9;5832:1;5822:12;;;;;;;;:::i;:::-;;;;;;;;;;:21;5851:24;;;5938:80;1126:66;5983:9;-1:-1:-1;;;5938:21:182;:80::i;4915:311::-;5041:16;;;5055:1;5041:16;;;;;;;;5012:26;;5041:16;;;;;;;;;;-1:-1:-1;5041:16:182;5012:45;;5078:11;5063:9;5073:1;5063:12;;;;;;;;:::i;:::-;;;;;;:26;;;;;5110:6;5095:9;5105:1;5095:12;;;;;;;;:::i;:::-;;;;;;:21;;;;;5123:98;1126:66;1110:83;;5160:9;5171:1;5192:12;5174:32;;;;;;;16554:3:341;16550:16;;;;16538:29;;16592:1;16583:11;;16413:187;5174:32:182;;;;-1:-1:-1;;5174:32:182;;;;;;;;;-1:-1:-1;;;5123:26:182;:98::i;4598:171:16:-;4672:7;579:1:43;1354:13;1366:1;376:2;1354:13;:::i;:::-;1353:30;;;;:::i;:::-;4694:70:16;;;;;4598:171;-1:-1:-1;4598:171:16:o;48823:360:36:-;48949:12;48973:6;48983:1;48973:11;48969:26;;-1:-1:-1;48986:9:36;;;;;;;;;-1:-1:-1;48986:9:36;;;;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:16:-;5451:7;579:1:43;1704;;1684:13;1696:1;376:2;1684:13;:::i;:::-;:17;;;;:::i;:::-;:21;;;;:::i;:::-;1683:38;;;;:::i;:::-;5487:11:16;5466:79;5479:65;;5466:79;;5377:173;-1:-1:-1;;5377:173:16:o;53939:303:36:-;54060:14;54154:82;54185:48;54215:7;54224:8;54185:29;:48::i;:::-;4711:21:35;;4605:137;52742:274:36;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:35:-;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:43;804:25:44;;782:48;6806:135:35;;;-1:-1:-1;;;579:1:43;804:25:44;;782:48;6806:135:35;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:35;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:35;;;;7974:2;7957:19;7760:253;;;8081:10;;8077:375;;8101:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;8389:20:35;;8299:21;;8322:9;;8295:37;8385:31;;8244:184;8201:237;;-1:-1:-1;6076:2380:35;;;;:::o;28764:791:36:-;29023:37;29063:66;29111:7;29120:8;29063:47;:66::i;:::-;29023:106;-1:-1:-1;29135:26:36;29171:49;29023:106;29202:17;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;29171:49:36;29135:86;;29259:291;29313:7;29338:8;29373:17;29423:19;29464:1;29479:10;29521:22;29259:36;:291::i;2674:178:304:-;2765:16;2794:55;2817:7;2826:8;:10;;;2838:8;:10;;;2794:22;:55::i;7457:327:202:-;7569:16;;;7583:1;7569:16;;;;;;;;;7525:7;;;;7569:16;;;;;;;;;;;;-1:-1:-1;7569:16:202;7540:45;;7606:2;7591:9;7601:1;7591:12;;;;;;;;:::i;:::-;;;;;;:17;;;;;7633:18;7654:88;1075:66;1059:83;;7697:9;7708:1;7711:6;7720:2;7711:11;7725:6;7734:1;7725:10;7739:2;7724:17;7654:32;:88::i;:::-;7633:109;-1:-1:-1;7758:14:202;7633:109;7758:14;:::i;4820:351:244:-;4966:16;;;4980:1;4966:16;;;4906:23;4966:16;;;;;4906:23;4937:26;;4966:16;4980:1;4966:16;;;;;;;;;;-1:-1:-1;4966:16:244;4937:45;;5003:10;4988:9;4998:1;4988:12;;;;;;;;:::i;:::-;;;;;;:25;;;;;5052:7;5019:9;5029:1;5019:12;;;;;;;;:::i;:::-;;;;;;;;;;:41;5067:18;5088:51;1347:66;5126:9;5067:18;5088:27;:51::i;3658:342:41:-;3774:16;;;3788:1;3774:16;;;;;;;;;3715:22;;3745:26;;3774:16;;;;;;;;;;;;-1:-1:-1;3774:16:41;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:17:-;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:35:-;1055:68;1061:14;1077:6;1085:4;:11;1098:24;1117:4;894::31;884:15;;758:151;1098:24:35;1055:5;:68::i;37180:522:36:-;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;:93::-;37440:12;:257::i;2681:1129:49:-;2801:22;2831:21;2855;:11;2997:3:34;2975:25;;2901:104;2855:21:49;2831:45;-1:-1:-1;692:17:34;3238:38;;2882:20:49;3044:11;3238:38:34;3044:11:49;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;20462:171:244:-;35423:4:14;35409:27;;35403:34;20527:29:244;;20601:26;35277:170:14;20736:510:244;20846:23;;20903:14;975:16:15;7017:70;;;6995:94;;21024:51:244;:41;21045:5;20903:14;6995:94:15;21024:20:244;:41::i;:::-;:49;:51::i;:::-;21004:73;-1:-1:-1;21093:4:244;-1:-1:-1;21093:4:244;6995:94:15;7059:27;7017:70;;;6995:94;21121:34:244;21188:51;:41;21209:5;21216:6;21121:34;21188:20;:41::i;:51::-;21167:74;;20897:349;;20736:510;;;;;:::o;4015:652:36:-;4082:11;4318:64;;;4314:111;;-1:-1:-1;1342:66:42;;4015:652:36;-1:-1:-1;4015:652:36:o;4314:111::-;4469:185;4515:85;1213:66:42;4591:7:36;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:45;13976:4:36;:14;;;;;:33;;;;:::i;:::-;13972:248;;;14021:190;;;;;3536:35:17;;;;;14021:47:36;;:190;;14080:7;;14099:8;;14119:10;;14141:14;;14167:11;;14190;;14021:190;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;13972:248;-1:-1:-1;13920:3:36;;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:36;894:4:31;884:15;;14520:54:36;;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:35;;;14915:102:36;-1:-1:-1;894:4:31;884:15;;15191:47:36;;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:36;:14;15615:1;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;15592:25:36;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:36;;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:45;16125:4:36;:14;;;;;:32;;;;:::i;:::-;16121:246;;;16169:189;;;;;3536:35:17;;;;;16169:46:36;;:189;;16227:7;;16246:8;;16266:10;;16288:14;;16314:11;;16337;;16169:189;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;16121:246;-1:-1:-1;16069:3:36;;16035:338;;44950:222:48;45014:12;45104:6;45128:39;45104:6;45161:2;45165:1;45128:17;:39::i;11569:424:37:-;11720:21;11744:17;:15;:17::i;:::-;11720:41;-1:-1:-1;11796:4:37;-1:-1:-1;;;;;11771:30:37;;;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:37;;;;;:81;;11939:7;;11948:8;;11958:17;;11977:4;;11901:81;;;:::i;13847:301::-;13931:21;13955:17;:15;:17::i;:::-;13931:41;-1:-1:-1;14007:4:37;-1:-1:-1;;;;;13982:30:37;;;13978:166;;14022:41;14045:7;14054:8;14022:22;:41::i;13978:166::-;14084:53;;;;;-1:-1:-1;;;;;14084:34:37;;;;;:53;;14119:7;;14128:8;;14084:53;;;:::i;5042:669:35:-;5458:4;5452:11;5499:4;5487:17;;-1:-1:-1;;5373:16:35;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:36:-;53492:7;53576;53585:8;53559:35;;;;;;;;;:::i;:::-;;;;-1:-1:-1;;53559:35:36;;;;;;;;;53549:46;;53559:35;53549:46;;;;42524:40;53522:73;;53371:230;-1:-1:-1;;;53371:230:36:o;44254:4001::-;44673:14;44652:7;:35;;;44648:161;;44743:14;44759:7;44792;44775:25;;;;;;14445:19:341;;14489:2;14480:12;;14316:182;44775:25:36;;;;-1:-1:-1;;44775:25:36;;;;;;;;;;44704:98;;;;;;;;;;:::i;44648:161::-;44815:27;44845:49;:22;44876:17;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;44845:49:36;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:36;45270:30;45289:11;45270:16;:30;:::i;:::-;:53;;;;45225:98;45221:218;;;45340:92;;;;;45987:12:341;46026:15;;;45340:92:36;;;46008:34:341;46078:15;;;46058:18;;;46051:43;46130:15;;46110:18;;;46103:43;45950:18;;45340:92:36;45781:371:341;45221:218:36;45545:19;45526:16;:38;;;45522:140;;;45581:74;;;;;;;;46330:25:341;;;46403:12;46391:25;;46371:18;;;46364:53;46303:18;;45581:74:36;46157:266:341;45522:140:36;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:45;46104:4:36;:14;;;;;:42;;;;:::i;:::-;46100:394;;;3536:35:17;;;;-1:-1:-1;;;;;46158:55:36;;46235:7;46264:8;46303:17;46350:16;46391:11;46430:22;46470:4;46158:327;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;46100:394;-1:-1:-1;46048:3:36;;46014:486;;;-1:-1:-1;46558:32:36;;;:13;46698:107;46716:17;46712:21;;:1;:21;;;46698:107;;;46761:33;:22;46792:1;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;46761:33:36;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:35;;;-1:-1:-1;47216:248:36;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:45;47858:4:36;:14;;;;;:41;;;;:::i;:::-;47854:391;;;3536:35:17;;;;-1:-1:-1;;;;;47911:54:36;;47987:7;48016:8;48055:17;48102:16;48143:11;48182:21;48221:4;47911:325;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;47854:391;-1:-1:-1;47802:3:36;;47768:483;;;;44498:3757;;;;44254:4001;;;;;;;:::o;3629:435:201:-;3759:16;;;3773:1;3759:16;;;;;;;;;3700:22;;3730:26;;3759:16;;;;3700:22;;3759:16;;;;;-1:-1:-1;3759:16:201;3730:45;;3796:7;3781:9;3791:1;3781:12;;;;;;;;:::i;:::-;;;;;;:22;;;;;3847:1;3840:9;;3824:27;;3809:9;3819:1;3809:12;;;;;;;;:::i;:::-;;;;;;:42;;;;;3895:1;3888:9;;3872:27;;3857:9;3867:1;3857:12;;;;;;;;:::i;:::-;;;;;;;;;;:42;3906:18;3927:51;1081:66;3965:9;3906:18;3927:27;:51::i;22026:506:37:-;22203:12;22223:21;22247:17;:15;:17::i;:::-;22223:41;-1:-1:-1;22299:4:37;-1:-1:-1;;;;;22274:30:37;;;22270:258;;22321:80;22352:7;22361:8;22371:17;22390:5;22397:3;22321:30;:80::i;:::-;22314:87;;;;;22270:258;22429:92;;;;;-1:-1:-1;;;;;22429:42:37;;;;;:92;;22472:7;;22481:8;;22491:17;;22510:5;;22517:3;;22429:92;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;22429:92:37;;;;;;;;;;;;:::i;40103:220:47:-;40169:24;40201:30;40234:32;40252:6;40260:2;40264:1;40234:17;:32::i;1489:2340:35:-;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:43;804:25:44;;782:48;2208:18:35;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:35;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:35;;;;3346:2;3329:19;3132:253;;;3453:10;;3449:376;;3473:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;3761:21:35;;3672:20;;3694:9;;3668:36;3757:32;;3617:184;3573:238;;-1:-1:-1;1489:2340:35;;;;:::o;3545:418:34:-;3597:17;3622:19;3644:13;3652:4;2997:3;2975:25;;2901:104;3644:13;3622:35;-1:-1:-1;692:17:34;3238:38;;;3767:18;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3767:18:34;-1:-1:-1;3760:25:34;-1:-1:-1;3854:4:34;3844:15;;3914:44;3926:11;3844:15;3950:7;3914:11;:44::i;:::-;3616:347;;;3545:418;;;:::o;51249:282:36:-;51494:30;;;;;;48905:19:341;;;48940:12;;;48933:28;;;51337:7:36;;48977:12:341;;51494:30:36;48717:278:341;830:1343:49;1002:12;;955:17;;980:19;1043:26;1058:11;1002:12;1043:26;:::i;:::-;1020:49;;1441:4;1435:11;;-1:-1:-1;1484:4:49;1474:15;;-1:-1:-1;;5373:16:35;1531:32:49;;;5373:16:35;5369:32;1503:4:49;1496:69;1607:12;1601:4;1594:26;1651:1;1721:4;1714:5;1710:16;1628:535;1741:11;1738:1;1735:18;1628:535;;;2134:19;;2113:41;;2091:64;;2007:31;;;;1828:1;1821:9;;;;;1920:4;1902:23;1628:535;;24152:738:36;24403:37;24443:66;24491:7;24500:8;24443:47;:66::i;:::-;24403:106;-1:-1:-1;24515:26:36;24551:49;24403:106;24582:17;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;24551:49:36;24515:86;;24608:277;24662:7;24687:8;24722:17;24765:1;24787:19;24820:4;24856:22;24608:36;:277::i;25552:145::-;25636:56;25649:7;25658:8;25668:23;25683:7;25668:14;:23::i;:::-;25636:12;:56::i;7468:1525:15:-;7596:14;1145:16;7622:25;;7618:120;;;7664:67;;;;;;;;5350:25:341;;;5323:18;;7664:67:15;5204:177:341;7618:120:15;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:15;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:15;;;;;:::o;40903:1149:36:-;41080:12;41153:3;41145:5;:11;41141:83;;;41173:44;;;;;;;;49174:25:341;;;49215:18;;;49208:34;;;49147:18;;41173:44:36;49000:248:341;41141:83:36;41433:29;41465:66;41513:7;41522:8;41465:47;:66::i;:::-;41433:98;-1:-1:-1;41537:19:36;41559:41;41433:98;41582:17;7070:16:15;;1063;7070;975;7059:27;7017:70;6995:94;;;6878:222;41559:41:36;41537:63;;41619:11;41610:5;:20;;:41;;;;41640:11;41634:3;:17;41610:41;41606:157;;;41704:11;41726;41717:5;:20;;:38;;41748:7;41754:1;41748:3;:7;:::i;:::-;41717:38;;;41740:5;41717:38;41668:88;;;;;;;;49174:25:341;;;;49215:18;;;49208:34;49147:18;;41668:88:36;49000:248:341;41606:157:36;41833:16;41852:79;41894:7;41903:8;41913:17;41852:41;:79::i;:::-;41833:98;;41963:78;41994:8;42012:5;42033;42027:3;:11;41963:12;:78::i;:::-;41956:85;40903:1149;-1:-1:-1;;;;;;;;;40903:1149:36:o;1229:823:31:-;1346:324;1363:2;1353:6;:12;1346:324;;1453:18;;1435:37;;1604:2;1616:17;;;;1591:15;;;;-1:-1:-1;;1643:12:31;1346:324;;;1679:6;1689:1;1679:11;1675:24;;1229:823;;;:::o;1675:24::-;1738:12;-1:-1:-1;;579:1:43;804:25:44;;782:48;1738:32:31;;2019:4;2007:9;2001:16;1997:27;1942:4;1938:9;1924:11;1918:18;1914:34;1867:167;1848:9;1832:210;1824:224;1229:823;;;:::o;26296:1804:36:-;26484:23;26463:7;:44;;;26459:173;;26593:7;26561:50;26602:8;26561:50;;;;;;:::i;:::-;;;;;;;;26296:1804;;;:::o;26459:173::-;26773:22;26798:24;26814:7;26798:15;:24::i;:::-;26773:49;;26833:9;26828:235;26848:5;:12;26844:1;:16;26828:235;;;26875:9;26897:5;26903:1;26897:8;;;;;;;;:::i;:::-;;;;;;;26875:31;;26918:36;1049:6:45;26918:4:36;:14;;;;;:36;;;;:::i;:::-;26914:143;;;26966:82;;;;;3536:35:17;;;;;26966:50:36;;:82;;27017:7;;27026:8;;27036:11;;26966:82;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;26914:143;-1:-1:-1;26862:3:36;;26828:235;;;;27143:7;27111:50;27152:8;27111:50;;;;;;:::i;:::-;;;;;;;;27194:26;27223:59;27264:7;27273:8;27223:40;:59::i;:::-;27194:88;;27288:113;27320:18;27348:1;27367:30;:11;:28;:30::i;:::-;27357:41;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;27357:41:36;;27288:13;:113::i;:::-;27620:1;27587:30;:11;:28;:30::i;:::-;:34;27583:236;;;27631:33;27667:66;27715:7;27724:8;27667:47;:66::i;:::-;27631:102;;27741:71;27772:25;27807:2;27741:12;:71::i;:::-;27623:196;27583:236;27868:9;27863:233;27883:5;:12;27879:1;:16;27863:233;;;27910:9;27932:5;27938:1;27932:8;;;;;;;;:::i;:::-;;;;;;;27910:31;;27953:35;1149:6:45;27953:4:36;:14;;;;;:35;;;;:::i;:::-;27949:141;;;28000:81;;;;;3536:35:17;;;;;28000:49:36;;:81;;28050:7;;28059:8;;28069:11;;28000:81;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;27949:141;-1:-1:-1;27897:3:36;;27863:233;;4032:370:35;4154:13;4203:2;4188:11;:6;4197:2;4188:11;:::i;:::-;4187:18;;;;:::i;:::-;4170:35;;:14;:35;:::i;:::-;4154:51;;4211:187;4235:5;4218:14;:22;4211:187;;;4333:1;4317:14;4310:25;4382:1;4366:14;4362:22;4344:40;;4211:187;;14:681:341;185:2;237:21;;;307:13;;210:18;;;329:22;;;156:4;;185:2;408:15;;;;382:2;367:18;;;156:4;451:218;465:6;462:1;459:13;451:218;;;530:13;;-1:-1:-1;;;;;526:62:341;514:75;;644:15;;;;609:12;;;;487:1;480:9;451:218;;;-1:-1:-1;686:3:341;;14:681;-1:-1:-1;;;;;;14:681:341:o;700:1697::-;904:4;933:2;973;962:9;958:18;1003:2;992:9;985:21;1026:6;1061;1055:13;1092:6;1084;1077:22;1118:2;1108:12;;1151:2;1140:9;1136:18;1129:25;;1213:2;1203:6;1200:1;1196:14;1185:9;1181:30;1177:39;1251:2;1243:6;1239:15;1272:1;1293;1303:1065;1319:6;1314:3;1311:15;1303:1065;;;1388:22;;;-1:-1:-1;;1384:95:341;1372:108;;1503:13;;1590:9;;-1:-1:-1;;;;;1586:58:341;1571:74;;1684:11;;1678:18;1716:15;;;1709:27;;;1797:19;;1543:15;;;1829:24;;;1919:21;;;;1964:1;;1887:2;1875:15;;;1978:282;1994:8;1989:3;1986:17;1978:282;;;2075:15;;2092:66;2071:88;2057:103;;2229:17;;;;2022:1;2013:11;;;;;2186:14;;;;1978:282;;;-1:-1:-1;2346:12:341;;;;2283:5;-1:-1:-1;;;2311:15:341;;;;1345:1;1336:11;1303:1065;;;-1:-1:-1;2385:6:341;;700:1697;-1:-1:-1;;;;;;;;;700:1697:341:o;2402:160::-;2468:20;;2528:1;2517:20;;;2507:31;;2497:59;;2552:1;2549;2542:12;2567:393;2645:6;2653;2661;2669;2722:3;2710:9;2701:7;2697:23;2693:33;2690:53;;;2739:1;2736;2729:12;2690:53;2762:27;2779:9;2762:27;:::i;:::-;2752:37;;2808:36;2840:2;2829:9;2825:18;2808:36;:::i;:::-;2798:46;;2863:36;2895:2;2884:9;2880:18;2863:36;:::i;:::-;2853:46;;2918:36;2950:2;2939:9;2935:18;2918:36;:::i;:::-;2908:46;;2567:393;;;;;;;:::o;2965:250::-;3050:1;3060:113;3074:6;3071:1;3068:13;3060:113;;;3150:11;;;3144:18;3131:11;;;3124:39;3096:2;3089:10;3060:113;;;-1:-1:-1;;3207:1:341;3189:16;;3182:27;2965:250::o;3220:330::-;3262:3;3300:5;3294:12;3327:6;3322:3;3315:19;3343:76;3412:6;3405:4;3400:3;3396:14;3389:4;3382:5;3378:16;3343:76;:::i;:::-;3464:2;3452:15;-1:-1:-1;;3448:88:341;3439:98;;;;3539:4;3435:109;;3220:330;-1:-1:-1;;3220:330:341:o;3555:862::-;3717:4;3746:2;3786;3775:9;3771:18;3816:2;3805:9;3798:21;3839:6;3874;3868:13;3905:6;3897;3890:22;3943:2;3932:9;3928:18;3921:25;;4005:2;3995:6;3992:1;3988:14;3977:9;3973:30;3969:39;3955:53;;4043:2;4035:6;4031:15;4064:1;4074:314;4088:6;4085:1;4082:13;4074:314;;;-1:-1:-1;;4165:9:341;4157:6;4153:22;4149:95;4144:3;4137:108;4268:40;4301:6;4292;4286:13;4268:40;:::i;:::-;4258:50;-1:-1:-1;4366:12:341;;;;4331:15;;;;4110:1;4103:9;4074:314;;;-1:-1:-1;4405:6:341;;3555:862;-1:-1:-1;;;;;;;3555:862:341:o;5386:184::-;-1:-1:-1;;;5435:1:341;5428:88;5535:4;5532:1;5525:15;5559:4;5556:1;5549:15;5575:249;5673:1;5662:16;;;5644;;;;5640:39;-1:-1:-1;;5694:77:341;;5783:10;5773:21;;5691:104;5688:130;;;5798:18;;:::i;6392:168::-;6465:9;;;6496;;6513:15;;;6507:22;;6493:37;6483:71;;6534:18;;:::i;6565:125::-;6630:9;;;6651:10;;;6648:36;;;6664:18;;:::i;6877:237::-;6915:7;6992:1;6989;6978:16;6974:1;6971;6960:16;6956:39;7029:11;7026:1;7015:26;7004:37;;7072:11;7063:7;7060:24;7050:58;;7088:18;;:::i;7119:245::-;7215:1;7186:16;;;7204;;;;7182:39;7245:10;7236:20;;-1:-1:-1;;7258:76:341;;7233:102;7230:128;;;7338:18;;:::i;7721:437::-;7800:1;7796:12;;;;7843;;;7864:61;;7918:4;7910:6;7906:17;7896:27;;7864:61;7971:2;7963:6;7960:14;7940:18;7937:38;7934:218;;-1:-1:-1;;;8005:1:341;7998:88;8109:4;8106:1;8099:15;8137:4;8134:1;8127:15;8513:184;-1:-1:-1;;;8562:1:341;8555:88;8662:4;8659:1;8652:15;8686:4;8683:1;8676:15;8798:1099;9088:4;9136:3;9125:9;9121:19;9167:6;9156:9;9149:25;9193:2;9231:6;9226:2;9215:9;9211:18;9204:34;9257:2;9295:3;9290:2;9279:9;9275:18;9268:31;9319:6;9354;9348:13;9385:6;9377;9370:22;9423:3;9412:9;9408:19;9401:26;;9462:2;9454:6;9450:15;9436:29;;9483:1;9493:335;9507:6;9504:1;9501:13;9493:335;;;9566:13;;9602:9;;9634:1;9660:18;;;9648:31;;9734:11;;;9728:18;9713:34;;9699:12;;;9692:56;9803:15;;;;9768:12;;;;9529:1;9522:9;9493:335;;;9497:3;;9845;9837:11;;;;;;9884:6;9879:2;9868:9;9864:18;9857:34;8798:1099;;;;;;;:::o;9902:1543::-;10110:4;10152:3;10141:9;10137:19;10129:27;;10183:6;10172:9;10165:25;10232:6;10226:13;10221:2;10210:9;10206:18;10199:41;10294:2;10286:6;10282:15;10276:22;10271:2;10260:9;10256:18;10249:50;10346:2;10338:6;10334:15;10328:22;10359:50;10405:2;10394:9;10390:18;10376:12;8777:1;8766:20;8754:33;;8702:91;10359:50;;10458:2;10450:6;10446:15;10440:22;10471:53;10519:3;10508:9;10504:19;10488:14;8777:1;8766:20;8754:33;;8702:91;10471:53;;10573:3;10565:6;10561:16;10555:23;10587:53;10635:3;10624:9;10620:19;10604:14;8777:1;8766:20;8754:33;;8702:91;10587:53;;10689:3;10681:6;10677:16;10671:23;10703:53;10751:3;10740:9;10736:19;10720:14;8777:1;8766:20;8754:33;;8702:91;10703:53;-1:-1:-1;10805:3:341;10793:16;;10787:23;4492:13;;4485:21;10866:3;10851:19;;4473:34;10819:52;10920:3;10912:6;10908:16;10902:23;10944:3;10956:51;11003:2;10992:9;10988:18;10972:14;4492:13;4485:21;4473:34;;4422:91;10956:51;11044:15;;11038:22;;-1:-1:-1;11079:3:341;11091:51;11123:18;;;11038:22;4492:13;4485:21;4473:34;;4422:91;11091:51;11179:15;;11173:22;;-1:-1:-1;11214:3:341;11226:51;11258:18;;;11173:22;4492:13;4485:21;4473:34;;4422:91;11226:51;11302:15;;11296:22;11337:3;11356:18;;;11349:30;;;;11422:15;;;11416:22;11410:3;11395:19;;;11388:51;;;;9902:1543;;-1:-1:-1;;9902:1543:341:o;11752:430::-;11949:66;11941:6;11937:79;11932:3;11925:92;11907:3;12046:6;12040:13;12062:74;12129:6;12125:1;12120:3;12116:11;12109:4;12101:6;12097:17;12062:74;:::i;:::-;12156:16;;;;12174:1;12152:24;;11752:430;-1:-1:-1;;;11752:430:341:o;12187:287::-;12316:3;12354:6;12348:13;12370:66;12429:6;12424:3;12417:4;12409:6;12405:17;12370:66;:::i;:::-;12452:16;;;;;12187:287;-1:-1:-1;;12187:287:341:o;12479:277::-;12546:6;12599:2;12587:9;12578:7;12574:23;12570:32;12567:52;;;12615:1;12612;12605:12;12567:52;12647:9;12641:16;12700:5;12693:13;12686:21;12679:5;12676:32;12666:60;;12722:1;12719;12712:12;13103:313;13173:6;13226:2;13214:9;13205:7;13201:23;13197:32;13194:52;;;13242:1;13239;13232:12;13194:52;13274:9;13268:16;-1:-1:-1;;;;;13317:5:341;13313:54;13306:5;13303:65;13293:93;;13382:1;13379;13372:12;13954:357;14072:12;;14119:4;14108:16;;;14102:23;;14072:12;14137:16;;14134:171;;;-1:-1:-1;;14211:4:341;14207:17;;;;14204:1;14200:25;14196:98;14185:110;;13954:357;-1:-1:-1;13954:357:341:o;14503:172::-;14570:10;14600;;;14612;;;14596:27;;14635:11;;;14632:37;;;14649:18;;:::i;15232:184::-;-1:-1:-1;;;15281:1:341;15274:88;15381:4;15378:1;15371:15;15405:4;15402:1;15395:15;15421:195;15460:3;-1:-1:-1;;15484:5:341;15481:77;15478:103;;15561:18;;:::i;:::-;-1:-1:-1;15608:1:341;15597:13;;15421:195::o;15959:184::-;-1:-1:-1;;;16008:1:341;16001:88;16108:4;16105:1;16098:15;16132:4;16129:1;16122:15;16605:446;16855:2;16844:9;16837:21;16894:1;16889:2;16878:9;16874:18;16867:29;16932:7;16927:2;16916:9;16912:18;16905:35;16978:3;16971:4;16960:9;16956:20;16949:33;16818:4;16999:46;17040:3;17029:9;17025:19;17017:6;16999:46;:::i;17821:781::-;17871:3;17912:5;17906:12;17941:36;17967:9;17941:36;:::i;:::-;17996:1;18013:17;;;18039:191;;;;18244:1;18239:357;;;;18006:590;;18039:191;18087:66;18076:9;18072:82;18067:3;18060:95;18210:6;18203:14;18196:22;18188:6;18184:35;18179:3;18175:45;18168:52;;18039:191;;18239:357;18270:5;18267:1;18260:16;18299:4;18344;18341:1;18331:18;18371:1;18385:165;18399:6;18396:1;18393:13;18385:165;;;18477:14;;18464:11;;;18457:35;18520:16;;;;18414:10;;18385:165;;;-1:-1:-1;;;18570:16:341;;;;;17821:781;-1:-1:-1;;;;;17821:781:341:o;18607:664::-;18957:66;18952:3;18945:79;18927:3;19043:47;19086:2;19081:3;19077:12;19069:6;19043:47;:::i;:::-;19110:66;19099:78;;19206:31;19201:2;19193:11;;19186:52;19262:2;19254:11;;18607:664;-1:-1:-1;;;18607:664:341:o;19276:220::-;19425:2;19414:9;19407:21;19388:4;19445:45;19486:2;19475:9;19471:18;19463:6;19445:45;:::i;19795:694::-;20138:66;20133:3;20126:79;20108:3;20234:6;20228:13;20250:75;20318:6;20313:2;20308:3;20304:12;20297:4;20289:6;20285:17;20250:75;:::i;:::-;20389:66;20384:2;20344:16;;;;20376:11;;;20369:87;-1:-1:-1;20480:2:341;20472:11;;19795:694;-1:-1:-1;19795:694:341:o;20494:543::-;20596:2;20591:3;20588:11;20585:446;;;20632:1;20656:5;20653:1;20646:16;20700:4;20697:1;20687:18;20770:2;20758:10;20754:19;20751:1;20747:27;20741:4;20737:38;20806:4;20794:10;20791:20;20788:47;;;-1:-1:-1;20829:4:341;20788:47;20884:2;20879:3;20875:12;20872:1;20868:20;20862:4;20858:31;20848:41;;20939:82;20957:2;20950:5;20947:13;20939:82;;;21002:17;;;20983:1;20972:13;20939:82;;21273:1464;21399:3;21393:10;21426:18;21418:6;21415:30;21412:56;;;21448:18;;:::i;:::-;21477:97;21567:6;21527:38;21559:4;21553:11;21527:38;:::i;:::-;21521:4;21477:97;:::i;:::-;21629:4;;21686:2;21675:14;;21703:1;21698:782;;;;22524:1;22541:6;22538:89;;;-1:-1:-1;22593:19:341;;;22587:26;22538:89;-1:-1:-1;;21170:1:341;21166:11;;;21162:84;21158:89;21148:100;21254:1;21250:11;;;21145:117;22640:81;;21668:1063;;21698:782;17768:1;17761:14;;;17805:4;17792:18;;-1:-1:-1;;21734:79:341;;;21911:236;21925:7;21922:1;21919:14;21911:236;;;22014:19;;;22008:26;21993:42;;22106:27;;;;22074:1;22062:14;;;;21941:19;;21911:236;;;21915:3;22175:6;22166:7;22163:19;22160:261;;;22236:19;;;22230:26;-1:-1:-1;;22319:1:341;22315:14;;;22331:3;22311:24;22307:97;22303:102;22288:118;22273:134;;22160:261;-1:-1:-1;;;;;22467:1:341;22451:14;;;22447:22;22434:36;;-1:-1:-1;21273:1464:341:o;22742:128::-;22809:9;;;22830:11;;;22827:37;;;22844:18;;:::i;23229:197::-;23357:3;23382:38;23416:3;23408:6;23382:38;:::i;23431:1554::-;23550:3;23544:4;23541:13;23538:26;;23557:5;;23431:1554::o;23538:26::-;23587:37;23619:3;23613:10;23587:37;:::i;:::-;23647:18;23639:6;23636:30;23633:56;;;23669:18;;:::i;:::-;23698:97;23788:6;23748:38;23780:4;23774:11;23748:38;:::i;23698:97::-;23821:1;23849:2;23841:6;23838:14;23866:1;23861:867;;;;24772:1;24789:6;24786:89;;;-1:-1:-1;24841:19:341;;;24835:26;24786:89;-1:-1:-1;;21170:1:341;21166:11;;;21162:84;21158:89;21148:100;21254:1;21250:11;;;21145:117;24888:81;;23831:1148;;23861:867;17768:1;17761:14;;;17805:4;17792:18;;-1:-1:-1;;23897:79:341;;;17768:1;17761:14;;;17805:4;17792:18;;24120:9;24142:251;24156:7;24153:1;24150:14;24142:251;;;24238:21;;;24232:28;24217:44;;24288:1;24361:18;;;;24316:15;;;;24179:4;24172:12;24142:251;;;24146:3;24421:6;24412:7;24409:19;24406:263;;;24482:21;;24476:28;-1:-1:-1;;24579:3:341;24567:1;24563:14;;;24559:24;24555:97;24551:102;24536:118;24521:134;;;-1:-1:-1;;24715:1:341;24699:14;;;24695:22;24682:36;;-1:-1:-1;23431:1554:341:o;24990:184::-;-1:-1:-1;;;25039:1:341;25032:88;25139:4;25136:1;25129:15;25163:4;25160:1;25153:15;25974:674;26050:5;26080:18;26121:2;26113:6;26110:14;26107:40;;;26127:18;;:::i;:::-;26261:2;26255:9;26327:2;26315:15;;-1:-1:-1;;26311:24:341;;;26337:2;26307:33;26303:42;26291:55;;;26361:18;;;26381:22;;;26358:46;26355:72;;;26407:18;;:::i;:::-;26447:10;26443:2;26436:22;26476:6;26467:15;;26506:6;26498;26491:22;26546:3;26537:6;26532:3;26528:16;26525:25;26522:45;;;26563:1;26560;26553:12;26522:45;26576:66;26635:6;26628:4;26620:6;26616:17;26611:3;26576:66;:::i;:::-;;;;25974:674;;;;;:::o;26653:459::-;26733:6;26786:2;26774:9;26765:7;26761:23;26757:32;26754:52;;;26802:1;26799;26792:12;26754:52;26835:9;26829:16;26868:18;26860:6;26857:30;26854:50;;;26900:1;26897;26890:12;26854:50;26923:22;;26976:4;26968:13;;26964:27;-1:-1:-1;26954:55:341;;27005:1;27002;26995:12;26954:55;27028:78;27098:7;27093:2;27087:9;27082:2;27078;27074:11;27028:78;:::i;27117:389::-;27155:1;27196;27193;27182:16;27232:1;27229;27218:16;27253:3;27243:37;;27260:18;;:::i;:::-;-1:-1:-1;;27376:3:341;27373:75;-1:-1:-1;;27299:3:341;27296:75;27292:157;27289:183;;;27452:18;;:::i;:::-;27486:14;;;27117:389;-1:-1:-1;;;27117:389:341:o;27511:439::-;27564:3;27602:5;27596:12;27629:6;27624:3;27617:19;27655:4;27684;27679:3;27675:14;27668:21;;27723:4;27716:5;27712:16;27746:1;27756:169;27770:6;27767:1;27764:13;27756:169;;;27831:13;;27819:26;;27865:12;;;;27900:15;;;;27792:1;27785:9;27756:169;;;-1:-1:-1;27941:3:341;;27511:439;-1:-1:-1;;;;;27511:439:341:o;27955:708::-;28323:6;28312:9;28305:25;28366:3;28361:2;28350:9;28346:18;28339:31;28286:4;28393:57;28445:3;28434:9;28430:19;28422:6;28393:57;:::i;:::-;28498:4;28490:6;28486:17;28481:2;28470:9;28466:18;28459:45;28552:9;28544:6;28540:22;28535:2;28524:9;28520:18;28513:50;28580:33;28606:6;28598;28580:33;:::i;:::-;28572:41;;;28650:6;28644:3;28633:9;28629:19;28622:35;27955:708;;;;;;;;:::o;28668:201::-;28706:3;28734:10;28779:2;28772:5;28768:14;28806:2;28797:7;28794:15;28791:41;;28812:18;;:::i;:::-;28861:1;28848:15;;28668:201;-1:-1:-1;;;28668:201:341:o;28874:546::-;29196:6;29185:9;29178:25;29239:3;29234:2;29223:9;29219:18;29212:31;29159:4;29260:57;29312:3;29301:9;29297:19;29289:6;29260:57;:::i;:::-;29365:4;29353:17;;;;29348:2;29333:18;;29326:45;-1:-1:-1;29402:2:341;29387:18;29380:34;29252:65;28874:546;-1:-1:-1;;28874:546:341:o;29425:184::-;29495:6;29548:2;29536:9;29527:7;29523:23;29519:32;29516:52;;;29564:1;29561;29554:12;29516:52;-1:-1:-1;29587:16:341;;29425:184;-1:-1:-1;29425:184:341:o;30180:346::-;30408:2;30397:9;30390:21;30371:4;30428:49;30473:2;30462:9;30458:18;30093:2;30081:15;;30128:12;30121:4;30112:14;;30105:36;30166:2;30157:12;;30016:159;30428:49;30420:57;;30513:6;30508:2;30497:9;30493:18;30486:34;30180:346;;;;:::o;30695:::-;30923:2;30912:9;30905:21;30886:4;30943:49;30988:2;30977:9;30973:18;30608:2;30596:15;;30643:12;30636:4;30627:14;;30620:36;30681:2;30672:12;;30531:159;31046:764;31436:14;31431:3;31424:27;31406:3;31480:6;31474:13;31496:75;31564:6;31559:2;31554:3;31550:12;31543:4;31535:6;31531:17;31496:75;:::i;:::-;31635:3;31630:2;31590:16;;;31622:11;;;31615:24;31664:13;;31686:76;31664:13;31748:2;31740:11;;31733:4;31721:17;;31686:76;:::i;:::-;31782:17;31801:2;31778:26;;31046:764;-1:-1:-1;;;;31046:764:341:o;32927:466::-;33225:6;33214:9;33207:25;33268:2;33263;33252:9;33248:18;33241:30;33188:4;33288:56;33340:2;33329:9;33325:18;33317:6;33288:56;:::i;:::-;33280:64;;33380:6;33375:2;33364:9;33360:18;33353:34;32927:466;;;;;;:::o;33398:236::-;33451:5;33504:3;33497:4;33489:6;33485:17;33481:27;33471:55;;33522:1;33519;33512:12;33471:55;33544:84;33624:3;33615:6;33609:13;33602:4;33594:6;33590:17;33544:84;:::i;33639:654::-;33780:6;33788;33796;33849:2;33837:9;33828:7;33824:23;33820:32;33817:52;;;33865:1;33862;33855:12;33817:52;33898:9;33892:16;33927:18;33968:2;33960:6;33957:14;33954:34;;;33984:1;33981;33974:12;33954:34;34007:60;34059:7;34050:6;34039:9;34035:22;34007:60;:::i;:::-;33997:70;;34107:2;34096:9;34092:18;34086:25;34076:35;;34157:2;34146:9;34142:18;34136:25;34120:41;;34186:2;34176:8;34173:16;34170:36;;;34202:1;34199;34192:12;34170:36;;34225:62;34279:7;34268:8;34257:9;34253:24;34225:62;:::i;:::-;34215:72;;;33639:654;;;;;:::o;34298:441::-;34560:6;34549:9;34542:25;34603:2;34598;34587:9;34583:18;34576:30;34523:4;34623:56;34675:2;34664:9;34660:18;34652:6;34623:56;:::i;:::-;34615:64;;34727:4;34719:6;34715:17;34710:2;34699:9;34695:18;34688:45;34298:441;;;;;;:::o;36740:112::-;36772:1;36798;36788:35;;36803:18;;:::i;:::-;-1:-1:-1;36837:9:341;;36740:112::o;36857:383::-;37054:2;37043:9;37036:21;37017:4;37080:45;37121:2;37110:9;37106:18;37098:6;37080:45;:::i;:::-;37173:9;37165:6;37161:22;37156:2;37145:9;37141:18;37134:50;37201:33;37227:6;37219;37201:33;:::i;37618:794::-;38011:6;38000:9;37993:25;38054:3;38049:2;38038:9;38034:18;38027:31;37974:4;38081:57;38133:3;38122:9;38118:19;38110:6;38081:57;:::i;:::-;38186:9;38178:6;38174:22;38169:2;38158:9;38154:18;38147:50;38220:33;38246:6;38238;38220:33;:::i;:::-;38206:47;;38289:6;38284:2;38273:9;38269:18;38262:34;38345:9;38337:6;38333:22;38327:3;38316:9;38312:19;38305:51;38373:33;38399:6;38391;38373:33;:::i;:::-;38365:41;37618:794;-1:-1:-1;;;;;;;;37618:794:341:o;38417:120::-;38457:1;38483;38473:35;;38488:18;;:::i;:::-;-1:-1:-1;38522:9:341;;38417:120::o;38542:175::-;38579:3;38623:4;38616:5;38612:16;38652:4;38643:7;38640:17;38637:43;;38660:18;;:::i;:::-;38709:1;38696:15;;38542:175;-1:-1:-1;;38542:175:341:o;38722:604::-;39030:6;39019:9;39012:25;39073:3;39068:2;39057:9;39053:18;39046:31;38993:4;39100:57;39152:3;39141:9;39137:19;39129:6;39100:57;:::i;:::-;39205:4;39197:6;39193:17;39188:2;39177:9;39173:18;39166:45;39259:9;39251:6;39247:22;39242:2;39231:9;39227:18;39220:50;39287:33;39313:6;39305;39287:33;:::i;39331:863::-;39634:3;39658:15;;;39646:28;;39703:15;;;39699:1;39690:11;;39683:36;39748:15;;;39744:1;39735:11;;39728:36;39794:15;;;39789:2;39780:12;;39773:37;39840:15;;;39835:2;39826:12;;39819:37;39886:15;;;39881:2;39872:12;;39865:37;39606:3;39932:2;39921:14;;39911:202;;-1:-1:-1;;;39966:1:341;39959:88;40070:4;40067:1;40060:15;40098:4;40095:1;40088:15;39911:202;-1:-1:-1;40147:3:341;40143:16;;;;40138:2;40129:12;;40122:38;40185:2;40176:12;;39331:863;-1:-1:-1;;;;;;39331:863:341:o;40199:512::-;40450:2;40439:9;40432:21;40413:4;40476:56;40528:2;40517:9;40513:18;40505:6;40476:56;:::i;:::-;40580:14;40572:6;40568:27;40563:2;40552:9;40548:18;40541:55;40644:9;40636:6;40632:22;40627:2;40616:9;40612:18;40605:50;40672:33;40698:6;40690;40672:33;:::i;40716:616::-;41026:6;41015:9;41008:25;41069:3;41064:2;41053:9;41049:18;41042:31;40989:4;41096:57;41148:3;41137:9;41133:19;41125:6;41096:57;:::i;:::-;41201:14;41193:6;41189:27;41184:2;41173:9;41169:18;41162:55;41265:9;41257:6;41253:22;41248:2;41237:9;41233:18;41226:50;41293:33;41319:6;41311;41293:33;:::i;41337:639::-;41587:6;41582:3;41575:19;41557:3;41613:2;41646;41641:3;41637:12;41678:6;41672:13;41743:2;41735:6;41731:15;41764:1;41774:175;41788:6;41785:1;41782:13;41774:175;;;41851:13;;41837:28;;41887:14;;;;41924:15;;;;41810:1;41803:9;41774:175;;;-1:-1:-1;41965:5:341;;41337:639;-1:-1:-1;;;;;;;41337:639:341:o;41981:335::-;42060:6;42113:2;42101:9;42092:7;42088:23;42084:32;42081:52;;;42129:1;42126;42119:12;42081:52;42162:9;42156:16;42195:18;42187:6;42184:30;42181:50;;;42227:1;42224;42217:12;42181:50;42250:60;42302:7;42293:6;42282:9;42278:22;42250:60;:::i;42321:360::-;42524:2;42513:9;42506:21;42487:4;42544:45;42585:2;42574:9;42570:18;42562:6;42544:45;:::i;:::-;42620:2;42605:18;;42598:34;;;;-1:-1:-1;42663:2:341;42648:18;42641:34;42536:53;42321:360;-1:-1:-1;42321:360:341:o;42948:691::-;43282:3;43271:9;43264:22;43245:4;43309:57;43361:3;43350:9;43346:19;43338:6;43309:57;:::i;:::-;43414:9;43406:6;43402:22;43397:2;43386:9;43382:18;43375:50;43448:33;43474:6;43466;43448:33;:::i;:::-;43434:47;;43517:6;43512:2;43501:9;43497:18;43490:34;43572:9;43564:6;43560:22;43555:2;43544:9;43540:18;43533:50;43600:33;43626:6;43618;43600:33;:::i;43644:898::-;44097:6;44086:9;44079:25;44140:3;44135:2;44124:9;44120:18;44113:31;44060:4;44167:57;44219:3;44208:9;44204:19;44196:6;44167:57;:::i;:::-;44272:9;44264:6;44260:22;44255:2;44244:9;44240:18;44233:50;44306:33;44332:6;44324;44306:33;:::i;:::-;44292:47;;44375:6;44370:2;44359:9;44355:18;44348:34;44431:9;44423:6;44419:22;44413:3;44402:9;44398:19;44391:51;44459:33;44485:6;44477;44459:33;:::i;:::-;44451:41;;;44529:6;44523:3;44512:9;44508:19;44501:35;43644:898;;;;;;;;;:::o;44547:363::-;44785:6;44774:9;44767:25;44828:2;44823;44812:9;44808:18;44801:30;44748:4;44848:56;44900:2;44889:9;44885:18;44877:6;44848:56;:::i;45133:464::-;45379:66;45371:6;45367:79;45356:9;45349:98;45483:6;45478:2;45467:9;45463:18;45456:34;45526:2;45521;45510:9;45506:18;45499:30;45330:4;45546:45;45587:2;45576:9;45572:18;45564:6;45546:45;:::i;45602:174::-;45669:12;45701:10;;;45713;;;45697:27;;45736:11;;;45733:37;;;45750:18;;:::i;46428:900::-;46851:6;46840:9;46833:25;46894:3;46889:2;46878:9;46874:18;46867:31;46814:4;46921:57;46973:3;46962:9;46958:19;46950:6;46921:57;:::i;:::-;47026:4;47014:17;;47009:2;46994:18;;46987:45;47051:12;47099:15;;;47094:2;47079:18;;47072:43;47152:15;;47146:3;47131:19;;47124:44;47199:3;47184:19;;47177:35;;;47249:22;;;47243:3;47228:19;;47221:51;47289:33;47253:6;47307;47289:33;:::i;:::-;47281:41;46428:900;-1:-1:-1;;;;;;;;;;46428:900:341:o;47333:788::-;47697:3;47686:9;47679:22;47660:4;47724:57;47776:3;47765:9;47761:19;47753:6;47724:57;:::i;:::-;47829:4;47821:6;47817:17;47812:2;47801:9;47797:18;47790:45;47883:14;47875:6;47871:27;47866:2;47855:9;47851:18;47844:55;47947:12;47939:6;47935:25;47930:2;47919:9;47915:18;47908:53;47998:6;47992:3;47981:9;47977:19;47970:35;48054:9;48046:6;48042:22;48036:3;48025:9;48021:19;48014:51;48082:33;48108:6;48100;48082:33;:::i;48126:586::-;48444:6;48433:9;48426:25;48487:3;48482:2;48471:9;48467:18;48460:31;48407:4;48508:57;48560:3;48549:9;48545:19;48537:6;48508:57;:::i;:::-;48613:4;48601:17;;;;48596:2;48581:18;;48574:45;-1:-1:-1;48650:2:341;48635:18;;48628:34;;;;48693:3;48678:19;;;48671:35;48500:65;48126:586;-1:-1:-1;;48126:586:341:o;49253:261::-;49432:2;49421:9;49414:21;49395:4;49452:56;49504:2;49493:9;49489:18;49481:6;49452:56;:::i","linkReferences":{"src/libraries/LibCombatOutcome.sol":{"LibCombatOutcome":[{"start":7186,"length":20}]}}},"methodIdentifiers":{"IS_TEST()":"fa7626d4","combatSetup()":"7968c48b","excludeArtifacts()":"b5508aa9","excludeContracts()":"e20c9f71","excludeSenders()":"1ed7831c","failed()":"ba414fa6","runSystem()":"bfcc9d1d","setUp()":"0a9254e4","targetArtifactSelectors()":"66d9a9a0","targetArtifacts()":"85226c81","targetContracts()":"3f7286f4","targetSelectors()":"916a17c6","targetSenders()":"3e5e3c23","testArchetypeModifier()":"1038400d","testCannotAttackUnitWithSameOwner()":"6a65c69d","testCapturing()":"e0e809c8","testCapturingCharger()":"279de9fd","testCapturingStructure()":"ea3f81af","testCombat(int32,int32,int32,int32)":"844d3e8a","testCombatOutcomeSystemIsInternal()":"a0775414","testGoldMines()":"538de742","testGoldOnKill()":"8f5f540b","testGoldOnKillWhenUnitsKillEachOther()":"baf33068","testKilling()":"326ff597","testRequiresSetupCannotMoveAndAttack()":"8ce269ef","worldAddress()":"d46a7065"},"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\":\"uint256\",\"name\":\"start\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"end\",\"type\":\"uint256\"}],\"name\":\"Store_InvalidBounds\",\"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\"},{\"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\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"log_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"log_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"log_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"\",\"type\":\"int256\"}],\"name\":\"log_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"val\",\"type\":\"address\"}],\"name\":\"log_named_address\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256[]\",\"name\":\"val\",\"type\":\"uint256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256[]\",\"name\":\"val\",\"type\":\"int256[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"address[]\",\"name\":\"val\",\"type\":\"address[]\"}],\"name\":\"log_named_array\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"val\",\"type\":\"bytes\"}],\"name\":\"log_named_bytes\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"val\",\"type\":\"bytes32\"}],\"name\":\"log_named_bytes32\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"decimals\",\"type\":\"uint256\"}],\"name\":\"log_named_decimal_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"val\",\"type\":\"int256\"}],\"name\":\"log_named_int\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"val\",\"type\":\"string\"}],\"name\":\"log_named_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"key\",\"type\":\"string\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"val\",\"type\":\"uint256\"}],\"name\":\"log_named_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"log_string\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"log_uint\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"bytes\",\"name\":\"\",\"type\":\"bytes\"}],\"name\":\"logs\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"IS_TEST\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"combatSetup\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"excludedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"excludeSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"excludedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"failed\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"runSystem\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"setUp\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifactSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedArtifactSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetArtifacts\",\"outputs\":[{\"internalType\":\"string[]\",\"name\":\"targetedArtifacts_\",\"type\":\"string[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetContracts\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedContracts_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSelectors\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"addr\",\"type\":\"address\"},{\"internalType\":\"bytes4[]\",\"name\":\"selectors\",\"type\":\"bytes4[]\"}],\"internalType\":\"struct StdInvariant.FuzzSelector[]\",\"name\":\"targetedSelectors_\",\"type\":\"tuple[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"targetSenders\",\"outputs\":[{\"internalType\":\"address[]\",\"name\":\"targetedSenders_\",\"type\":\"address[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testArchetypeModifier\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCannotAttackUnitWithSameOwner\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCapturing\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCapturingCharger\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCapturingStructure\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int32\",\"name\":\"attackerHealth\",\"type\":\"int32\"},{\"internalType\":\"int32\",\"name\":\"defenderHealth\",\"type\":\"int32\"},{\"internalType\":\"int32\",\"name\":\"attackerArmor\",\"type\":\"int32\"},{\"internalType\":\"int32\",\"name\":\"defenderArmor\",\"type\":\"int32\"}],\"name\":\"testCombat\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testCombatOutcomeSystemIsInternal\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGoldMines\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGoldOnKill\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testGoldOnKillWhenUnitsKillEachOther\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testKilling\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"testRequiresSetupCannotMoveAndAttack\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"worldAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"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_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_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.\"}}]},\"events\":{\"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\":{},\"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_InvalidBounds(uint256,uint256)\":[{\"notice\":\"Error raised if the provided slice bounds are 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.\"}]},\"events\":{\"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\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"test/CombatSystem.t.sol\":\"CombatSystemTest\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":3000},\"remappings\":[\":@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/\",\":@latticexyz/=node_modules/@latticexyz/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":base/=src/\",\":ds-test/=node_modules/ds-test/src/\",\":forge-std/=node_modules/forge-std/src/\",\":solmate/=node_modules/solmate/src/\"]},\"sources\":{\"node_modules/@latticexyz/gas-report/src/GasReporter.sol\":{\"keccak256\":\"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798\",\"dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W\"]},\"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol\":{\"keccak256\":\"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44\",\"dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL\"]},\"node_modules/@latticexyz/store/src/Bytes.sol\":{\"keccak256\":\"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/modules/erc20-puppet/constants.sol\":{\"keccak256\":\"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4\",\"dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX\"]},\"node_modules/@latticexyz/world-modules/src/modules/erc20-puppet/utils.sol\":{\"keccak256\":\"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e\",\"dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR\"]},\"node_modules/@latticexyz/world-modules/src/modules/puppet/Puppet.sol\":{\"keccak256\":\"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6\",\"dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8\"]},\"node_modules/@latticexyz/world-modules/src/modules/tokens/tables/Balances.sol\":{\"keccak256\":\"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047\",\"dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc\"]},\"node_modules/@latticexyz/world-modules/src/modules/utils/ArrayLib.sol\":{\"keccak256\":\"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4\",\"dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw\"]},\"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/codegen/tables/NamespaceOwner.sol\":{\"keccak256\":\"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597\",\"dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH\"]},\"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/worldResourceTypes.sol\":{\"keccak256\":\"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea\",\"dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk\"]},\"node_modules/@latticexyz/world/test/MudTest.t.sol\":{\"keccak256\":\"0x7d5a7010debe541fa26701a01524cecf81ef329fd7a9dd7d5edf546e0a48aea5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://193f9193286327d97b8cf38d3034760459fcf3d3622fa12e1b72c7fd02c45c03\",\"dweb:/ipfs/Qmezz4SxgVVEiFv72HZF1cEBUX5xBU8zBCWs16Jwg8Udgk\"]},\"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5\",\"dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53\"]},\"node_modules/ds-test/src/test.sol\":{\"keccak256\":\"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54\",\"license\":\"GPL-3.0-or-later\",\"urls\":[\"bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5\",\"dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr\"]},\"node_modules/forge-std/src/Base.sol\":{\"keccak256\":\"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363\",\"dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre\"]},\"node_modules/forge-std/src/StdAssertions.sol\":{\"keccak256\":\"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c\",\"dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur\"]},\"node_modules/forge-std/src/StdChains.sol\":{\"keccak256\":\"0x38c788c4869b7692243c98de26857f392175ba292de160d9eac24fa34ed1d1b8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d4b18b42ccd9f51ace79f470fe2d196974ae867667c5a7e9b7e8ddb47a5e83a6\",\"dweb:/ipfs/QmZ8AJdCrMVFLsZJsvp2d4Zi7c7wVgQh45XrVwdrzR3Vmr\"]},\"node_modules/forge-std/src/StdCheats.sol\":{\"keccak256\":\"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4\",\"dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd\"]},\"node_modules/forge-std/src/StdError.sol\":{\"keccak256\":\"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6\",\"dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj\"]},\"node_modules/forge-std/src/StdInvariant.sol\":{\"keccak256\":\"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477\",\"dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN\"]},\"node_modules/forge-std/src/StdJson.sol\":{\"keccak256\":\"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f\",\"dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz\"]},\"node_modules/forge-std/src/StdMath.sol\":{\"keccak256\":\"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92\",\"dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC\"]},\"node_modules/forge-std/src/StdStorage.sol\":{\"keccak256\":\"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5\",\"dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9\"]},\"node_modules/forge-std/src/StdUtils.sol\":{\"keccak256\":\"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c\",\"dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4\"]},\"node_modules/forge-std/src/Test.sol\":{\"keccak256\":\"0x8134c22af343e12f0ee5c565a2eb0d8a5472da7f499abac7b519f634a69c7c4d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1552599c06a879f4938e14b1fd1e4a4a7eda097b1c984ce0a9cbca33ea64f7d6\",\"dweb:/ipfs/QmNxyLpvNX3woGMHJAQGz89dzRsMFaxT38ZmtgPVMG2DLD\"]},\"node_modules/forge-std/src/Vm.sol\":{\"keccak256\":\"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3\",\"dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8\"]},\"node_modules/forge-std/src/console.sol\":{\"keccak256\":\"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70\",\"dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec\"]},\"node_modules/forge-std/src/console2.sol\":{\"keccak256\":\"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88\",\"dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW\"]},\"node_modules/forge-std/src/interfaces/IMulticall3.sol\":{\"keccak256\":\"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0\",\"dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2\"]},\"node_modules/solmate/src/auth/Owned.sol\":{\"keccak256\":\"0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea\",\"license\":\"AGPL-3.0-only\",\"urls\":[\"bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4\",\"dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx\"]},\"src/codegen/Templates.sol\":{\"keccak256\":\"0x39ee06e740a5bf5022a54eefcfda6c408ed0c3038080f3f3d1a61092c4e12070\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77c8ece77feaa0c9e92fee71c662e9137eb2e49f697b08eb6fe3caceb9b47b6f\",\"dweb:/ipfs/QmapJpVqP4GZ2QvDRKCzG4KcHAm95P4EWG2vsSLUR8bkC3\"]},\"src/codegen/common.sol\":{\"keccak256\":\"0xde2e4be7aca0c3e8251af4967910c5134427aae34480f4a443a0f0ef97304ca8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://646bd92523b977f3d71d23c858bcc1d60d22cdb3c0008debe68008dab535480c\",\"dweb:/ipfs/QmQe7Jn1xt6sjCc7R6RSnZXDbCpfsuK3WEHEc3ZXF66YaJ\"]},\"src/codegen/index.sol\":{\"keccak256\":\"0xcd45b20519d350da7ed4b0478a8367e43c49a91ecd2c532f0c14bd4a888c2beb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bfec1c17ade7d90dd40032f6e018a1f6e1b4e2d5d7d882a75601882899046852\",\"dweb:/ipfs/QmVH2RD6rejRjarwqkTcB1fm7kB2KzYJ3diq35YiceB3GV\"]},\"src/codegen/tables/Admin.sol\":{\"keccak256\":\"0xf10e4e3cfb7e4c5fb9bbdbbf5680ec9068a91ef4921f0f34e7e3dc9c636ece96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://66e8d4dc995834e1d435266034f072339ace519d2db0db0dba319aa18c22b9f5\",\"dweb:/ipfs/QmSnKW4cMLYoZ5TEHqsgVXebBCh4RKQTnBJ3jS7gG9oWwc\"]},\"src/codegen/tables/ArchetypeModifier.sol\":{\"keccak256\":\"0x2774f0bce106cb276fb82b29eb863105ffa4f3e39f5c4f68e1859ad017868d69\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c97bd37991895be1a497eb86c280ee4e77d3d8f2c189a99dc262302296da3360\",\"dweb:/ipfs/QmV9TUcUThRPqdwfDVN4BrqYWzZNVCnbGappRfEAaZHsGx\"]},\"src/codegen/tables/ArmorModifier.sol\":{\"keccak256\":\"0x859465345a990b8f47886a4d9fa9e8c242e58640a287e9efd44933120cb15753\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://871eabf4155d6d6f0526e04a67d828cf92b31dd74b160317238f754e0ecf5e6c\",\"dweb:/ipfs/QmQP2GfftiUALMSnuTPuanZ7XuumvEVxHmU5aGnv166jeA\"]},\"src/codegen/tables/Capturable.sol\":{\"keccak256\":\"0x7d4470907329ad648ef968b2fca6fd0274e7949cd36958d4e982cfabb4064b62\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a0b83506b6e48c200b2da24f534ab7814b69123e2c5bb752f0e5a589af6ca83\",\"dweb:/ipfs/QmXd6mtKVrksyobryS6NXsyTHAkNzcQz3Tx367JBh8DcxS\"]},\"src/codegen/tables/ChargeCap.sol\":{\"keccak256\":\"0x7a83dbeb22169d6ebfcdb5643d66d92b5ec86131a0653203c2481b0e05c95db7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce738c202ac6192eaef051fb2c31f161aa25342c412a6573b16a90c739c9d6c6\",\"dweb:/ipfs/QmSbgUHgyfRYayVZ46cEDNAQMFTAAAUp3EVNnPbboUKJmC\"]},\"src/codegen/tables/ChargedByStart.sol\":{\"keccak256\":\"0x5e57251fa96cff2d688521a9d027e0a1d10e6dd6aeb3d17b50218051206ce7c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ab7e380bd7efc5ec3342aa92a5baeeec4daf9a8e4d0a5d014e8885cf43f0f509\",\"dweb:/ipfs/QmRT35J1DjmrsayXf7Ah5mG6M8DL5GYpugF9pjUjMunHGL\"]},\"src/codegen/tables/Chargee.sol\":{\"keccak256\":\"0x4d0667015c05d2ce9fb2d2bc21bfd624c52185e2a13ccfd24a31db7ab7bcd229\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e41ca5034b0c715c58b7d07d7e5eca056b8124fb29d54ffbbcc67bee85e6c672\",\"dweb:/ipfs/QmWQGSHjTtqUipQCs9k3ApE1QH513U6dT4fWLbmhR3XhKG\"]},\"src/codegen/tables/Charger.sol\":{\"keccak256\":\"0x207ba440b1726fd34eaf3b06534cb6b8ded261cd18e8ba293b71513fb30d4e59\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d7d5ec258be098dc360450083f387e8883bfc5e04c7a397661c246c3a0d9c98\",\"dweb:/ipfs/QmXh7WUv6nVGaWwVUPzqZWxa6ZdH6dvbRyHpNyXMAkYkTS\"]},\"src/codegen/tables/Chargers.sol\":{\"keccak256\":\"0xe53ec363e1b998df4fbf1b224a422fed9e7318985b3254445ff6382c690f2d39\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e145661f9a411fd80d3a1345c3a884733a70e3a0692a6976c83ea1082ab7eefd\",\"dweb:/ipfs/QmfHP8TjfffzoxBvMEkbWweRbMJdkj7S25CjuKEhbDwBQh\"]},\"src/codegen/tables/Combat.sol\":{\"keccak256\":\"0xfb75582c7b47a2c3a039b2363990778a09ad881f807c6059c089e327dd5622c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9025892eb625a405bf5c6e73243aba096552623bbc65a70a8535e52b7aa9ac12\",\"dweb:/ipfs/QmajtipyJe4nvwRFUGeWyvkPdPUmNbSyiBvMU2ReaDcWQe\"]},\"src/codegen/tables/CombatOutcome.sol\":{\"keccak256\":\"0x39c34c16752de956bc808338eaeb3f8c50d8c43708760bb48da2ba9522659716\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f74d50ed5660f8c49a0587ca124ba6a863069983f680a0809f18b6e7bf7bbf7c\",\"dweb:/ipfs/QmbYmq8WLedbhTRKTyVzu9KHbQDGUkBa7Kjkk6gWSBXP68\"]},\"src/codegen/tables/CreatedByAddress.sol\":{\"keccak256\":\"0xee280d7f4f8fd0a521be5bba95a0b2506391b5cf61a40671ced8a550137ba926\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b33847b93edbe83be6cc9f87aa589f7419b2e631a475a8a3cf50cd3b50d334d9\",\"dweb:/ipfs/QmP9aM73jjRTcWpgQFNjB69P7LEAdSJSP3HFYq4Pb26W9s\"]},\"src/codegen/tables/EntitiesAtPosition.sol\":{\"keccak256\":\"0x9b7c55dc61d9ecfba53baf29240424272243a7cabf51a2fe77649dfc60757775\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6cd8f65bca9918f2fd26b61af7055ff949e63c48c1dbce88cf42339e73528a8a\",\"dweb:/ipfs/QmSGsPVQZHeAFwPasf55dWgVY2pNubS8AyABb5L2faqR7s\"]},\"src/codegen/tables/Factory.sol\":{\"keccak256\":\"0x3c9d8dc200b6812b2860b947dc7dbcb2b5f09988ceafdf5cda9e015258672e51\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08ba9b493aea9440f5b8d5fd0f7ea5626e60003a6a328c982d1e6f892744b198\",\"dweb:/ipfs/QmWwASAHJ7xXKx8F2y8vaH3uFvo1SCtKBwapiMy7X9kKgD\"]},\"src/codegen/tables/Gold.sol\":{\"keccak256\":\"0xb1a08fb494fb3dd7ad6c55ef1c4b007d2782681334e313a3b4e6367bfac46eeb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9b04b672466b0a86d8d6bd945805aaa3df29a9bc6ca388ed266625f95f11666\",\"dweb:/ipfs/QmZzDoG8gzERLqFvpRTZaxp63z175w2Kc6n4BeQqRqQsn7\"]},\"src/codegen/tables/GoldOnKill.sol\":{\"keccak256\":\"0x2648461ac0ca9286a16105b54b5e99d214e73e7bc0e38e536e04036759ec28d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb72d5e3d68bceb9dbf9e980aa9ec6da998c08aa3928a865e6bc42a2c68c6ed0\",\"dweb:/ipfs/Qmbpaz1M3gSLRe2oCaXjg6N9DcTkt9dKLpt7GVqRfqPc9E\"]},\"src/codegen/tables/HeroInRotation.sol\":{\"keccak256\":\"0xc767deccaa4afdfa100908ea469eb74f0fb03862fb4bc314bca49accba781bc0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5b396cbc21852732ef7dfcc20c451414c621f48800e3bf8a50c509d99fbf2c22\",\"dweb:/ipfs/QmeGZsKbwjg6NUr2zGDZZVAJWtZMaKNVi8GmM8ferQ9nwm\"]},\"src/codegen/tables/HeroInSeasonPassRotation.sol\":{\"keccak256\":\"0x97e034873505b7620541b0e76d3be71d1eeb5bb167b9bea0a9c79755b3af7a64\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://71670f47d76690aee6e2e09616695dfc48fb10f676a590aca400b72b2b8c0278\",\"dweb:/ipfs/QmWYep89a3xEecxce6VQDcqiDP2oQwb9brw9YdZ3cAgAHZ\"]},\"src/codegen/tables/LastAction.sol\":{\"keccak256\":\"0x8efb6c27febb4017c5f12749fa6bb7b9ee4d96836f5f648112402b64d6471dd2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://00adc0def56f28c5ec1bb67138dd52047df62532f6d35c9c0d8510c2892aec21\",\"dweb:/ipfs/QmXTAEnVsdaqDYhz1Pa1GY6jLwRbQL2v1rmruXTAg6tqq9\"]},\"src/codegen/tables/LastMatchIndex.sol\":{\"keccak256\":\"0xd0cd2ff0bf4322f86d686aab0133b817ff2ceaa525efda859b63ee56414e5d9c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4db125d4a831723b4f8a9304aac762a87ee20b01bcd1942201930d434fb4729e\",\"dweb:/ipfs/QmUAUQvZThNAqu86pzRisKcGEyPwpGAThUMDgURZE54qDZ\"]},\"src/codegen/tables/LevelInSeasonPassRotation.sol\":{\"keccak256\":\"0x0ce58903a78500f2e425b10d4ad4246350267e365bc1c6583d0f0509a572ee60\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://43a29c5c794d42e97e1cde84b9312617d744db8e1fda5ee81a6479864f594e91\",\"dweb:/ipfs/QmUSk4bvPB5QDHD5BHGbQ2acwFqMF6gzn2vJqbzbY5m4yv\"]},\"src/codegen/tables/LevelInStandardRotation.sol\":{\"keccak256\":\"0xd5f2745e9308f6208de9395ccfbd1bef51762ac38afa13faf89115504664678c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://77a3386c2de1b28a2519a9987eb0b844adcab8025785b938def1b76c94d31a8a\",\"dweb:/ipfs/QmV7hGDSEx4qjrVdR98Y5wodz8BU4k9Vuoi7TNTyC8L6Gs\"]},\"src/codegen/tables/LevelPosition.sol\":{\"keccak256\":\"0x7b007bf3b5acd3ed78b7f9b854b9f87de7f9686a5391348e61102624daa34320\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5fe78370d1c63483c1ee26c716cb7bec1c8fc0630a11eb805f2970fcb629f8dd\",\"dweb:/ipfs/QmQG4gCC1VPoPSqQyJQBLBKZFVMRaP2HL4w7y7N1zo281u\"]},\"src/codegen/tables/LevelPositionIndex.sol\":{\"keccak256\":\"0x5ae3287cdc0993f0a566752c11c794a5f3cef613137633a5b5710b27ee50dba8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e1bbe6c98bcc9cdc71723721ff8226f32d1c113a7ac3dc3e32c699ef9ced61c\",\"dweb:/ipfs/QmeTq3eJkUt2tABVSVkvUYb3GkJddgvSx9YrS1c9wmh1X2\"]},\"src/codegen/tables/LevelTemplates.sol\":{\"keccak256\":\"0x7416e62c88753dae52abf397f9a8efedd3b7f57fe2a6c8d64746bb971fdcbc5a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a4c50a1b2aae84a6f120d098cc7228a0908350926758d518d76e6fe8af7bee6\",\"dweb:/ipfs/QmT2uLbrcruogZVGPnimAhELuXhPrsCi372t6AdrwiCwLc\"]},\"src/codegen/tables/LevelTemplatesIndex.sol\":{\"keccak256\":\"0x23dce66b52fe3276b92e633351bef206795dbd770d1b3969a708e3f594145ab7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49a48ef1c877c70c308305bc890f326ac6fabaafd375c372228d1b1c76e88228\",\"dweb:/ipfs/QmYU9H4pUdGHmKpb9Xoa2F1oaixSE46FRbjL6DJqEETRC6\"]},\"src/codegen/tables/MapCenter.sol\":{\"keccak256\":\"0x33ca78f53d059eb85a87a778e3567e1beb08b0a7f5b1cda1fbbc3cccd5809895\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://28288d4a845a45e31f7b3c6133b40a670cf081a62502a317c13822ec2122ce06\",\"dweb:/ipfs/QmbYotHQrmowTusHUPKY1d3RhufGqPzdkFEK5inCakcTPz\"]},\"src/codegen/tables/Match.sol\":{\"keccak256\":\"0x6047491e98fd77fa6d8455a22de36c69aba94365f0a56a8de7871cc5a9ae47a8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b073d9ed5c30a1d576a8bf87d579d887a66a27f6d5be64852efc1b1c1906fa8c\",\"dweb:/ipfs/QmV7uZ3Eu3Gr9UzF826WRQvqFA8ZaUBkmopEtMSFy8ze4C\"]},\"src/codegen/tables/MatchAccessControl.sol\":{\"keccak256\":\"0x37288fa25ba25104191c5456c6fd7b7380a0d6201c2a9427b5e1eb74002ef0c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b61848d2d319bda3c882b020c4b50953f4bde7c77280ce6251a5aadff11a7d22\",\"dweb:/ipfs/QmPgaYhDgN39ZJMiZ92N8wRbvvSpLZDYUYgeQoupvckGXt\"]},\"src/codegen/tables/MatchAllowed.sol\":{\"keccak256\":\"0xd4bd94fca7cd88e4a1c1af87b8b718311e850c231a1f8927938f2273bfadd8f6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c333c604c745c496f0a19b52851e767be70f6c18c6b25c0c5ec3bf4f1887082\",\"dweb:/ipfs/QmQFNBQrAcnoCj1WwdK3asHcscwUa7ijmAMzgGp5U37odN\"]},\"src/codegen/tables/MatchConfig.sol\":{\"keccak256\":\"0xe7043b09e90efca02f0f00c74a76cf6d5a77566c22839cb04c84f9af7a104d92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3f9eb78465fc312fe06f8c46404367990e039fb86281da7f87d5fa515bf4c125\",\"dweb:/ipfs/QmW5keQr1kgsoREvctNEo6qdeWyE6TCcFogtxziRNM2zES\"]},\"src/codegen/tables/MatchEntityCounter.sol\":{\"keccak256\":\"0x9b1ee0c8f43b3335c8b7ba283a7e8c720e675637e67b96f8e1f99e23ca6351a4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a809c81f0534f038ed6d7e4fae7e4c14ed403345196eb8e9147998564608fc3\",\"dweb:/ipfs/QmWsQ8nGm8FwDwrD7Tm5axpsLcjE175wtR7mGdPfhZ4snE\"]},\"src/codegen/tables/MatchFinished.sol\":{\"keccak256\":\"0x128aca9ae5df0b7d2f49256ed738f0c4940e183a78a905e66e4786b65225b2bf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://13e2ca1e62ee9129a4aff30416fd067216005dab1ef890e83f22eb2fb921a3cd\",\"dweb:/ipfs/QmNkoDRhYkQGbey8y3NVjRHj65ywt4N6teh3xLUkVvChCR\"]},\"src/codegen/tables/MatchIndex.sol\":{\"keccak256\":\"0xfc79f9d5165d12e52d0d98c8bd1d9218c7edab051b1fe5855985c8b8cbbafd05\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3821f80fbdce89cc3c298af23be6b3d9c72af782613dd9c6ac76e6109ee9ef76\",\"dweb:/ipfs/QmQT5gyjetVUiEtu26w3F35vijHN8uMNjLYhkdoGNRF641\"]},\"src/codegen/tables/MatchIndexToEntity.sol\":{\"keccak256\":\"0x643d1bfb36f3eaeb02f9d40d4e15e99156231ad4aca4bc6a1cc9ddce63e4c7f0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://546d579174c65ff4dbccafdfbc840f7fc514e23ca2523a88c0ff97c6c2cf593c\",\"dweb:/ipfs/QmaFfVPQVVfVVJmj2wwWCP8Hc7Nh1uBi4vvxc4ZEL8Fwkw\"]},\"src/codegen/tables/MatchMapCopyProgress.sol\":{\"keccak256\":\"0x330646e80e0032b5bb10d89c380b9673d47b712fe22cd6756789811cf03fddc5\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34920da22632a7dab6b30a2a2bc966f74b3bec7f980091cd090d5cd7f7e389bf\",\"dweb:/ipfs/QmQ1P7CCNBxGjkuj3hHCxyYdftHfdnhEayPDHkJmjLi1z1\"]},\"src/codegen/tables/MatchName.sol\":{\"keccak256\":\"0xcbeafc76a6acf829a55a550b2a3eadde85d7bca60f466ecded2d774dbf0a20cf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a73cf84685913febcc31ddef9e1a99f30f8396642fcf8da48063c0585022f7ff\",\"dweb:/ipfs/QmawusYMCnSrdYZoyqpm1Ge4LgV1R5gocUNB9wPTUV1m45\"]},\"src/codegen/tables/MatchPlayer.sol\":{\"keccak256\":\"0xee101160ad514436bca33cd248d1db005dc617079446e108b51e634e4b733466\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1513a939211b457618b1b6ee51b1aaf6a7d27155e9b1b1f6f1092994dc5cb2e\",\"dweb:/ipfs/QmYM38eguwxrdoY2aCYgPjkmv4Zy1TQKqnUzSLnmgQ6efy\"]},\"src/codegen/tables/MatchPlayers.sol\":{\"keccak256\":\"0x15be786172faac4a093405cbed6b04179e346f6d7fa406c1655e662fe5cd5ff0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://74accee4317b30169319461722907f0bc15fb68e3a559ee5a20243ec05951b29\",\"dweb:/ipfs/QmcTrgqqepqATKz7o3xRu9U87pUcjoofdDWyyoCpSscADR\"]},\"src/codegen/tables/MatchRanking.sol\":{\"keccak256\":\"0x495d1fff5a589eb704cdce9dc204140a986ac3f0d127cb53b2457d155f0ec3c3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://34f4bf1e9c909892736d6fc96a74756aaa38824eff350f108a09294251765e86\",\"dweb:/ipfs/QmVnHpCzj2jXYDmUz3D2BpmYL4PfpDdtdxhr4BHVzhx8tt\"]},\"src/codegen/tables/MatchReady.sol\":{\"keccak256\":\"0x55de77e1cb9c3885457a4fa929b103c08dbcf2f98a772ca1a0b0e1b53a258f95\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8304446db0452005a96cadf4ff8a7cb608b2622b0e422463774477495637c576\",\"dweb:/ipfs/Qmbhwxi9jWL6ZKgo8Hok5C9oqX6gWSf2fbGMxAdeSL9a7W\"]},\"src/codegen/tables/MatchReward.sol\":{\"keccak256\":\"0x405c42f0bae0bcf542e1558992ce79e47ba4ddf4bf7d7e825764215c15b484c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://913eb3da7a38e336efffa9882f00833ade8ec5f963714cee8ce59ab533baeacd\",\"dweb:/ipfs/QmV6fxYzRLsu7KGiiEEpA8R8ZqV8G6d64cu4J8E7PuxzVG\"]},\"src/codegen/tables/MatchRewardPercentages.sol\":{\"keccak256\":\"0x23e7f2766800ac019a1bcdf72a02f031c3b134dd0adc4b0987d16480cedafedb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7c20400c50d17afba333659761d0dd2e76bba5a769e51a771b6838955ef89db9\",\"dweb:/ipfs/Qmdcqs7NHBWzFTkSchmsLggxZvFFfav7hWv3VJxmKXpUUw\"]},\"src/codegen/tables/MatchSky.sol\":{\"keccak256\":\"0x16ec4183a84c7ff1970582370856a8e1e77d681aec3cdf6d7e8b082f40ffb2c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7e2e35940eb37143c33c4483231043553b04ecb2b71eaed75484193d847333d9\",\"dweb:/ipfs/QmU9yxrLzpF6v55gs8mkTgnw8mCP6VkXZfmHQe1b1EMmvK\"]},\"src/codegen/tables/MatchSpawnPoints.sol\":{\"keccak256\":\"0x756a07f839a1865b93cfd3a1e89dff0c09cc68900b948c2481908b20a0e30c40\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://93de577f605f94d6b2d9e977bc6ea57d085a57d36633afe87deaecb976d669aa\",\"dweb:/ipfs/QmeTCmN3Y1wiGd4oKGEPz57vy4p4hhx9go6XYMNzSYzUXH\"]},\"src/codegen/tables/MatchSweepstake.sol\":{\"keccak256\":\"0x116a1b8e65f1e388a9ec2959940370e4e1ad6202ae694f84a05ee5f9330471e2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a7977b6835cf0326a539a8df2ef50eaa1b842be1ed4115aa4fc1e2ba24468211\",\"dweb:/ipfs/QmbD3oWJLR2LqsjfUFbLZVpMq1iYfvA4Sa2actx3Qe9eH4\"]},\"src/codegen/tables/MatchesPerDay.sol\":{\"keccak256\":\"0xc2a833021b54a6fb7fa22912951e148a94db4a243529ec0f2773eeea96552909\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9c3beeb6a1b4953ea158eae7c6fa48f1e7cad821db69ba13065cf9a6a7d3d973\",\"dweb:/ipfs/QmYHNwJxaaxdVCLJ4FBy8HbfvZG5uvUSZZGhbBVT7CP62T\"]},\"src/codegen/tables/Movable.sol\":{\"keccak256\":\"0x992cd2679446862395f78738431562132ba2ebe19d356f3f4a5f84dfa98766e8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://586483965abd1455641d717c8026b2547831b65a98babb223bd1daa494eb1300\",\"dweb:/ipfs/QmT8qmrmzvqfPvekMqc5gvCUpVGvm2jVHiikpqb9eBB2tc\"]},\"src/codegen/tables/MoveDifficulty.sol\":{\"keccak256\":\"0x61d1c51f9a38261a1e28d1623a34e68c8712212e4e2ea68fb1d036da313dc795\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cdbfcc096f892fe1e18d8ad02347e06a14e3fb9bda2c0e4c7de5966ad23960b4\",\"dweb:/ipfs/QmaM57xNvhSTjgfHEwjj1s5rhug3vmyUQgnaKUoDrKHqEi\"]},\"src/codegen/tables/Name.sol\":{\"keccak256\":\"0x587ffc590fbecde23fb55c032dc640421a6ecf1eb5e31a05cc9b624f6024cdc7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3896bc33760910c0f97fc6c44390ce7d811642111d1cd723d7d6360b68c4bbd2\",\"dweb:/ipfs/QmYZguqg1GnBCAzqUMWzzgy5nr6jJj2qn54DW7VSogDMLS\"]},\"src/codegen/tables/NameExists.sol\":{\"keccak256\":\"0x737370a09bf6ba5603156a800695545996c2411d452fe2cb4601bc250aa6ce85\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://414c641f57ef05ec011c23c386e536eb16a8d3fc09ee6c3ee28e4a9097071a5d\",\"dweb:/ipfs/QmeFDFdVto3dejjMhQJPigGRt5EXtBB32TBN1UfMHpS4ts\"]},\"src/codegen/tables/OfficialLevel.sol\":{\"keccak256\":\"0xdf385936440217206a6c58d4acc92435dbce85ff27b28934d8d04a6e6263e61c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7986b6d0d66ba0d02b2121b11dd15fa883684373e05d346d0ffc3bb09c33479a\",\"dweb:/ipfs/QmSDHQaxzvjyWpb2Q9XSSMgkwFNQ4pRDxUDCXbWjxYzzJ3\"]},\"src/codegen/tables/OwnedBy.sol\":{\"keccak256\":\"0x54dc90730a1d26c273135b68a2eafa692ea7bbebe2c8093901fb6dfb7241f616\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b1a76c29a92ffba96b8d3eb3fc3703979be26fd9524e282aea95ae9b635c240\",\"dweb:/ipfs/QmQMCZnYdoRdDrYdQ9tAmVKCpZ13nk2SpSCnQkHxLfTSiZ\"]},\"src/codegen/tables/Player.sol\":{\"keccak256\":\"0xe254f3c4755d5e3c0e693610f97bec61c43af6ac47e211f608f5f6264c884b92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e408973d1c4fe436247935bcc79d9a8d64dc81e56ee52ab07f3c35340e950f32\",\"dweb:/ipfs/QmQgH7rvY2gYsyircaihk5oXnesupQ39xu3npARj9snHkF\"]},\"src/codegen/tables/PlayerReady.sol\":{\"keccak256\":\"0xd6d88d036e7e044eb033f40dcac52a72cfc883dbb1a3e8c0f805d0262302584a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2b85b2eb8171153981e617ce3c3b3081d4c3dabb1086a5ba30839f5f8c8b8b4e\",\"dweb:/ipfs/QmYDzjiQEqQa1ZmeQvqp2Np5CHWJGuBgN9KJqWwBj33odK\"]},\"src/codegen/tables/Position.sol\":{\"keccak256\":\"0xfdb0bfdcdd0faa001251237c1d8d11dfa5c5f55e92a73c3e9bcc8d15da6d2f5e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f2c6ba12f7c1c4d2bc532953f0eb308b1acc367fd8e9f8a9c22080d1b2a26cf\",\"dweb:/ipfs/QmSSrdowViDQzdQNFZtQAiV64uobjvcbyqKeJYiB3SuiKo\"]},\"src/codegen/tables/RequiresSetup.sol\":{\"keccak256\":\"0x66f46d938735289692660cc2e662d9af917b7f0e1d3bf72d5816cd2d1d052bb4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3099118257562b270eb9de2c59e010930873e75671b8325d2e889c0c4f1d9813\",\"dweb:/ipfs/QmWtbBEZkbs7WkXPYcc4nh2YhSoDNvwJZS4vHjG5pn2GGp\"]},\"src/codegen/tables/SeasonPassConfig.sol\":{\"keccak256\":\"0xbfc1bf9367cbfbf51720c42368e00fa5d1205376506dd6a5c774cf3671f25783\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://47c1d5630a095574ea6ff159d4d789811de1a94944708e13e5565c10b3dd9fee\",\"dweb:/ipfs/QmYXGjBVKWe6a6mQYAmFjQURzux1A1RJCKndypXXi4DqGL\"]},\"src/codegen/tables/SeasonPassIndex.sol\":{\"keccak256\":\"0x4e9391e9f74a6bc7584d68b39299e7cbc46bbd19cb9ff41757e543f4d4d8076f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ce4f38a82777d872e77680c4247a3fb7a0d3382d928343838cdbe560b23df1cb\",\"dweb:/ipfs/QmUEwc1Xx7eGyBzjuWMTvL9ZZ54GHotB7z5TVUR2CRfXi5\"]},\"src/codegen/tables/SeasonPassLastSaleAt.sol\":{\"keccak256\":\"0x4e2dc83f3bb7a69219900138b8bbeca95b1b3db499b652b46e82af3d800c900a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://edf4e0b57fc1953f0d010c1d1e9f89d64f6a71c08062d2865bd82fd7e31962db\",\"dweb:/ipfs/QmTqUhccjfA7g1ihndFmX1KnXSkngrA8ZezipxQbC5q9Zp\"]},\"src/codegen/tables/SeasonPassSale.sol\":{\"keccak256\":\"0xdc1e6a8010139fbe50abe14ec230b7e7e6d8ea51862017f89e943c37e4ed9eef\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c872f8bc71d0c6564816543078ab471d855162372e38b7efcc28f2935aef79a5\",\"dweb:/ipfs/QmUzToGutHfjtEuafTwTS8VqTA9Ed4hSd1DeG2ZtCs8Utp\"]},\"src/codegen/tables/SeasonTimes.sol\":{\"keccak256\":\"0x14b138e1714c163093d765bd993108ed3d42aa7ed6347464645c14d3e8b4948b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://58d5e5c5fdbda3fada43a356725ecd9c2d07223b66f26863bf3da68a9c10ca3f\",\"dweb:/ipfs/QmPnGaKuWe6mUsmeSjvvVmx3xheFSminMeu1WzbdFzpQ4J\"]},\"src/codegen/tables/SkyPoolConfig.sol\":{\"keccak256\":\"0x5d64965969a4fd273bfc63d403d9c7fb8966afc532136bdf786c72b762f0247f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0a68f12857bd4991da2d55b2036088ab06a2260332cb2d9d19dbee17afaf98aa\",\"dweb:/ipfs/QmRtiHverx5CKGyuwjQCTkhwwmpEX5MEtCkgH3vYve1nvt\"]},\"src/codegen/tables/SpawnPoint.sol\":{\"keccak256\":\"0x78906bea1e126b05a40746224a19bf08245617ebf36d5b00533d78f600ed80cb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://14609f17a3e50a3dd514cf66ce2c67cc53da0b098cc35a9b95555a4e35ef32f3\",\"dweb:/ipfs/QmZiX5dEHttgdiYPfCknkNN4vYfrRdnEsp8GERqGLNhB2f\"]},\"src/codegen/tables/SpawnReservedBy.sol\":{\"keccak256\":\"0x6a17e250b900eb9d623f4926de4489882c2b2026acd08605053151ef6350d473\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a80a2ad46e8004219d931f2dd5c5b4e95107ce0280f06af0f1a8f87df32cb4f8\",\"dweb:/ipfs/QmRKyjDXJ1j879J5TcYq6yBECFxtZivZDNPUjy1QrGf6qQ\"]},\"src/codegen/tables/StructureType.sol\":{\"keccak256\":\"0xf2a62d3afc680a0425b964d752e1b3aaa12f66e9ae20a80ff61f2063f9f74033\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://83323d65688309464f06fdb08d0e46e09d6f9498627e61ea9c79e30347dba797\",\"dweb:/ipfs/Qmc2hS9eqV9tdESgHt2iu6YHMEGHToxv2KFrvt4LPG8TCZ\"]},\"src/codegen/tables/TemplateContent.sol\":{\"keccak256\":\"0x0cdf0cf6588d72332903764dfafde5331e5b68ec132eb6b40e6b324dd1fcb710\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f0e40422c1a173cc04e5df496714aaadbb98086f06e2fef736b99b540253d92d\",\"dweb:/ipfs/QmWoSy7wPUMM4Udoi7M6M95tJjUDFpuFPgBwoXbsZnRv3e\"]},\"src/codegen/tables/TemplateTables.sol\":{\"keccak256\":\"0x07146cd69cc87c73e5aa04cd033f54f04c82cac09b57c7427d631d4d8df17035\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://48e6f9586a1a77b90c3e86138c9560394ed420517b2c8a4c407823f505188d7f\",\"dweb:/ipfs/QmYjusEWnpwFGZDQV2AvLwY4DRV3oLHMrNDxp9EbzbimPA\"]},\"src/codegen/tables/TerrainType.sol\":{\"keccak256\":\"0xa67a0edb0d1a70470de01dbf43327f9d911c12fa08aca734c417c591721e6b87\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4927c5e934cfd8575799f5bcef8c7392bc2da2bb84d463c9441f785dff8fc077\",\"dweb:/ipfs/QmYK9Swtc48ndGcaeyqpj3o248nspgkmcN5kFEaCAwF9pm\"]},\"src/codegen/tables/UnitType.sol\":{\"keccak256\":\"0x5703cd50d2cdb70757024245231899a35de083c49239a10cb1515f459aae0ffb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f3f90e9a9e08b9dc4e58092fe7802f3671c9684ee998a4014613b03725ea6bf\",\"dweb:/ipfs/QmZZjKPByxqcbEYhE95f794ud6i1tkqJPSbGsqSXHNMQ6S\"]},\"src/codegen/tables/Untraversable.sol\":{\"keccak256\":\"0x0ac641c25a8910d70d3b092d152063a49c6353c16b17e1590de0b72f2fca75d7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb94e6a5eced54b95558842986aaafbdebf27363e9363402f72885845b72e12c\",\"dweb:/ipfs/QmcxBUHXXbcxgxq31Ss1vi2BtsW3enedLspVmV1Pd21UFd\"]},\"src/codegen/tables/VirtualLevelTemplates.sol\":{\"keccak256\":\"0xa2ae7f4ff1efd2518ab854c0883b2f696cc29635232bd241786a3fae7246bc35\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bd78db57fea870896bac73809330841d091fb2234ca79c8caca6eae350557b7c\",\"dweb:/ipfs/Qmae8optd6w4gP47g9kGAAVRybGivKBq36saxEdZq5qV12\"]},\"src/codegen/templates/ArcherTemplate.sol\":{\"keccak256\":\"0xe20cbd1ce5cf812261ba289a1903c9026f74e43455a31b17625025f2d59a00d9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ff74f89173e6d956e53acd27c9a780e75cb3c713c6515b4ce0e1bae2d43657c4\",\"dweb:/ipfs/QmYdfbj7r1PQ6Z6dj7R5ZzADxCkoS5dK6y8rvXVDbLGQFh\"]},\"src/codegen/templates/BruteTemplate.sol\":{\"keccak256\":\"0xa0a0af2f3b20342ccff808b2a458b6415040aabeff3ee790a354bff816c1213d\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://70ac7a219f2ccdf81ebbaa96eab4c34ea31bb59a89d87fe848d73f5ebe879a6d\",\"dweb:/ipfs/QmNVdMdsU62Qq8iNtiXogR4mRyyDggkQ8NhNe2XYLAprdD\"]},\"src/codegen/templates/CatapultTemplate.sol\":{\"keccak256\":\"0x0833482fef791bcd2f4a126ae5e83645c4916602ac5f1927fdf36385d8e9bc16\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f332bd2f7b94332250ff00730074ac19b9b75f76b5c904130153dc0d4910a79a\",\"dweb:/ipfs/QmTmqHohwgQGRkAnA7MsXjb8yrhohe8WS2UdvVryNFZybK\"]},\"src/codegen/templates/DragoonTemplate.sol\":{\"keccak256\":\"0xcd3936768f1fa980670f25812ae1d6611331857410d0c413773b38f0393bdf92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bede35fea188ad5db77857bf062c97da9e2d348add3e94c522df56db4a32394a\",\"dweb:/ipfs/QmSrNEpWJtxFSbDVkUM9yhSxAWHREsHuwb95sc9H4v1imm\"]},\"src/codegen/templates/ForestTemplate.sol\":{\"keccak256\":\"0xf894556fe0fb1c1f7823dee417a0faf794565818b4762d681ffc396370732b96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d94dbd067cead39a4bfc29c675e399a783186520a25e4fdee99a30f2d81dcf46\",\"dweb:/ipfs/QmPh9rgDXZEErNEH8Y4LchvqHagbHuBa5zzzBCfidVKzgS\"]},\"src/codegen/templates/GodUnitTemplate.sol\":{\"keccak256\":\"0x0f11c751143dbae24ec4854d29ab75a8f3fd6528d779a472b735e36079106e7f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://aaa2b94beb37b62f162fa4c86cf8c7f067aa631e7f7f6463a45b1583636bb692\",\"dweb:/ipfs/QmTonMfoiXUcuCKTrKLfzUCwWTD71y788VfqMY6AsCUxEF\"]},\"src/codegen/templates/GoldCacheTemplate.sol\":{\"keccak256\":\"0x547964c7f96cee22195979d3ae013ab95722dedb346d45dede970a25782d2b99\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9e082b4e506ad2c5916a384aa5ac39b88ae537eda4b2858255e5698fbc749ea\",\"dweb:/ipfs/QmamtdwGskTjj3zjFV2B8NL2RZCiJefbh4Jmk8sAmsKiHx\"]},\"src/codegen/templates/GoldMineTemplate.sol\":{\"keccak256\":\"0x8eb42338c914c92ec8495829d21f6f6237ee5ceee862dad535c7eddb1b4c1685\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4a09b8da90b3eb8c75185efb8d0d1b1ce0b6449f91f4723b95de90614edb9851\",\"dweb:/ipfs/QmNq3WKikoEyJAgdAn7oN7KAS8Bn1V7WarCNjCGjwnW4RB\"]},\"src/codegen/templates/GrassTemplate.sol\":{\"keccak256\":\"0x5db4a62ac388cd8b93e841a344400ae57f19a206c1531bb1ee82e4791aa396ee\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9d4e61e61f41dc09778a3c6cb5330cf0dd6ff86372a7d73ec0a473f1a8c68063\",\"dweb:/ipfs/QmSmuZeQm3uUMzBKbdeYz6LCxy1W6UxdfZGZtUwdayW5uG\"]},\"src/codegen/templates/HalberdierTemplate.sol\":{\"keccak256\":\"0x32ff84d3570344d9301e355ac3b88cb9bb1a3f767a50eb0c7ac2cf7c03733af8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1ffac2b11ea7d8a72ff9d681870e153551f9536775e27ab18374133cac78349e\",\"dweb:/ipfs/Qmbo4A91jf7HwCtBKzmTb8UAKk7aRjGnpxK9g6PJhGDLsQ\"]},\"src/codegen/templates/KnightTemplate.sol\":{\"keccak256\":\"0x32bf3f717904299b0d6cde7f8a86ecf30c939ff649adeb6c725eb45e31792668\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://afadfbee18c69f2adb93d53a71156a29417e451c6b38e8643d6b80c90cc558b3\",\"dweb:/ipfs/QmQSZtcPxBXD2LR9QJkhDi2GpjXWqdC9zrzXzh8QPQeGVe\"]},\"src/codegen/templates/MapCenterMarkerTemplate.sol\":{\"keccak256\":\"0xeaed604fc98855994004f491e1d0d9c7997d7aa1f1f11199a80544e611153907\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8b8aac494b8baefa5fa136c3d067a4cb8b0d26050c3c9ccb842cca2c337d8f83\",\"dweb:/ipfs/QmR4k6UhoavJaKPSw1Uv1LarMMEtnqsBMkVHcLAHyQNsQf\"]},\"src/codegen/templates/MarksmanTemplate.sol\":{\"keccak256\":\"0x09d868b0ecf914864e766be4a9a2c8c0d95246d00d0900531cf2f72c8a680d65\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f5e463d065789e86a7c59dd9754cdd55f909a46de205f0eaecaaa61c5d806ce7\",\"dweb:/ipfs/QmawpW9aAEswTXQwmjN2Po1QoopqEzFkpgRLHTGCvUcrwc\"]},\"src/codegen/templates/MountainTemplate.sol\":{\"keccak256\":\"0xd229215132cec0ec809d4f992f32dd6c185f880b27c7b405f46403d923954694\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fe78242b299b59843a6f2ffdd3846c6c04b667c1bf92434163979c32a5d2a02e\",\"dweb:/ipfs/QmQCETmNKLXSXTLh7nHcvGMXJJW4hBWRfNxFr241MnyUse\"]},\"src/codegen/templates/PikemanTemplate.sol\":{\"keccak256\":\"0xa44a24e6a25859b7bc8557a4219495cfcfd0252788753d08e6ad7f02f7492514\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://413d8ae3ac6eef8cb39fa0129948e2b8474dffb576cd8e4780318adf87e70df3\",\"dweb:/ipfs/QmTY8W3igMqrrSv7SVMhUqCvDVMWKWRZ9MRg7xfRG6gSro\"]},\"src/codegen/templates/PillagerTemplate.sol\":{\"keccak256\":\"0xface53dc686f8ab6c9b65d9519c6a10c018cb8e77c92db67454f86070be05715\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://08caf20cb7704e079af74983e7273dfff6712c7743d32977461cfe483126e6f0\",\"dweb:/ipfs/QmYfc5VnjMaMaNZ9fwngQ3Qi9pZhHGoNqKDM1ABUHUgiTZ\"]},\"src/codegen/templates/SettlementTemplate.sol\":{\"keccak256\":\"0x5055dcdfa392fc0bef6827df91c28f67b39816bed62cf8e4d92ce2590a029ac6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cc9fdd4a865b897436ee2209a2ec67301b8738d9583f122ceb195a64c44e0262\",\"dweb:/ipfs/QmQgTquRMKYriKzC7Cu41PyD3EYvwsAWFbPJk2NyqcXeHd\"]},\"src/codegen/templates/SpawnSettlementTemplate.sol\":{\"keccak256\":\"0xc59b9be6231afb0e5e67440e57e66da33f5ef14eea125659079568b8d1421163\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e50a5f09238267c30fb9818fb7bd8e36490a26052aaf7567888088014a531847\",\"dweb:/ipfs/QmemBz6UK1RVKftXQ6uJQGnczLohfAksmjxfHQwa5n6Q27\"]},\"src/codegen/templates/SwordsmanTemplate.sol\":{\"keccak256\":\"0xe8aaaf0f075d2c7a50f6617c433dbee7268a7f7bfda34a57812600b116ea475e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a57eb795f8e2d6b12d76b738d49a6f0ca082c0047b3747233ed6bb461e169383\",\"dweb:/ipfs/QmXLk27nVNA8EryHhGYRNMLMAeUeJ4bQngeXvpydhNzcEE\"]},\"src/codegen/templates/WoodenWallTemplate.sol\":{\"keccak256\":\"0x88626992dddc1dd3f5dfea49a055426a43ea1831c59698f37e5f5cb165518961\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0e008817fe025b12442557f45566cf4bed3f9e2558931829629dca4cf74f00cc\",\"dweb:/ipfs/QmR76mtWLSHBNHo5kZv7DpEAH8k9qkcXrydz14sCpxvezC\"]},\"src/codegen/world/IAllowListSystem.sol\":{\"keccak256\":\"0x8958c76cf4f35d7e43c5a49b12732a9a725fa06d7e77313168b5e9b42a88b39c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4c042ff238594b069b0b1ada2237c88da339971ac7a30caeeb6c66b2ca5af996\",\"dweb:/ipfs/QmUk2fyv88qMWEddv9wt7vKLiyqWYcCsXrVjH4qDdoBJqy\"]},\"src/codegen/world/IBuildSystem.sol\":{\"keccak256\":\"0xff7f221abf4c22011fb9cfe80003b7fcd7a947cad11bf49424858d168ae54a2f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a923bc0b9a5293bad68da0874829f8d3f95f66acc33813bb8eed6081794c233c\",\"dweb:/ipfs/QmajStCGSfVg8QxUxxuF851JVVtNpWuLHeLoAkXX2mXPfg\"]},\"src/codegen/world/ICopyMapSystem.sol\":{\"keccak256\":\"0x94281b53710027985efc1c6a2b4eab3ccb9fbf372550d52cf3b7441a88d0285e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1417935c753b9103d4bc390c02ace4b64416e32222e48ab923a4d1564aa1682e\",\"dweb:/ipfs/QmQ87YXTphbSGUV8Ke9SAMCo5i4R6Wc8MzAFQMpH41KJFM\"]},\"src/codegen/world/ICreateSeasonPassSystem.sol\":{\"keccak256\":\"0x8cde232a77dfa16401a28a0f50293dfb6f58fcfb89bf2688a304daf61e793be3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b4cf288971d2f0f72f94120431edae84718a9097385af9a47d3f4bcf2fae137a\",\"dweb:/ipfs/QmXTxju4NpTwpGufaKuGWmL7PzcVVcdw5wNLkL8rApzaUS\"]},\"src/codegen/world/IHeroConfigSystem.sol\":{\"keccak256\":\"0x5d07d59d448644a3d71cdffe5abf105d4b5f700aa9cb14e7d4017d112e00cbfd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0f9529eabb45d3b375ab42dbfbf4373cfd53333752c049c71969c0713fb3b85e\",\"dweb:/ipfs/QmbpZ2fbBXkpiabF2876qoA2GHw3q132cWar8AtvdX2D59\"]},\"src/codegen/world/ILevelRotationSystem.sol\":{\"keccak256\":\"0x20ea9b9de804dcce05669df00cee4f74f08fb917bb6977908dd9fa2d64cf5794\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f4cd52ae3c73607d141d7bf3f57ab164e4cb6d56885547fc9756e7f2060afe83\",\"dweb:/ipfs/QmVThQBsTZ31ES4YDMwDMTGsC2iKMkqcCqpb3AMyfDUUxX\"]},\"src/codegen/world/ILevelUploadSystem.sol\":{\"keccak256\":\"0x4566550b14ec0dc73b0d51dd66044914e1d1264e0575b19513287dc351cfb14b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ec1f60316a185a34a3cd8067db039e3487cd8863a8809a38752012bfc5588bd4\",\"dweb:/ipfs/QmdF9w2x2FR4JXzbiLPE6b4afGFb6J6VyfNcgzn3tecWAx\"]},\"src/codegen/world/ILobbySystem.sol\":{\"keccak256\":\"0x60336980ea525104dd355a6b9b3fe090ee397e992df05bda693150654a503a34\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e9b9e886e5aa4c5053e47cc8806b354c79ddad6fbc5cffadf9979bb0232b9487\",\"dweb:/ipfs/QmaZ5QPk5gKKeRXBa48jzHhpPEfBFxuYbnwDRDZ2GjmCgJ\"]},\"src/codegen/world/IMatchSystem.sol\":{\"keccak256\":\"0x82ad6910c22c7c20538316a1a035a1aa3be1acc292b37c8ec129e64e4e405e9f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e76c609ebaa9779bb1892c07ec592e6b977afb86301cc6ea3971e1b0b5e6b3f5\",\"dweb:/ipfs/QmbPc3WNVVkjfMyQic7bS5xjBEAwsXjRWpNGV1Szyqpg2n\"]},\"src/codegen/world/IMoveSystem.sol\":{\"keccak256\":\"0x682464a443f2a38b3c129912942659099ca7cbe53a687d81eca8d54dca7c81c9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://058d2fa294d513f1a7db0a9a02853f51438cf137440033aaca098c00489cc47a\",\"dweb:/ipfs/Qme2sxE8GJJKtGrG7ZwedeS3ydqaoVvqHynaKHtpgmgp6u\"]},\"src/codegen/world/INameSystem.sol\":{\"keccak256\":\"0x472bb99514235bb48480aeeb8065206a98819fb9eba80676405774b976414ffc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30c2aedc54f458ab1bce7040e32968e61448cb513e06657b71798d190663f73c\",\"dweb:/ipfs/QmPHNrSkyNABoUbY66hVzr8nZZaMhaxLgzfVQQh8FYJ7Mg\"]},\"src/codegen/world/IOfficialLevelSystem.sol\":{\"keccak256\":\"0x8b922b2b5e1b91f4196dd690777e0b39eae76bffe4ec8d11303b5915873d87bc\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb8c6a568bfcae690ffa33ad4997d43b6542563d675369ad44acfc8891e0e6a8\",\"dweb:/ipfs/QmNeueSXpzTV86LCpsePsSoTgLw6htLhGvapgyhD8iVD1q\"]},\"src/codegen/world/IPlayerRegisterSystem.sol\":{\"keccak256\":\"0x567123e947c171bd349dc5b5d970c94b8b5fb7b2b168aaa7be94ddcb0fafd148\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a2325dbca04dc7e655e0f269d5c725ba25f368f8750185e6d274634626d53e3d\",\"dweb:/ipfs/QmTrdTUMZwMzQebsa4jXTee74oyvRx7wiB36fjUdnahDAE\"]},\"src/codegen/world/ISeasonPassSystem.sol\":{\"keccak256\":\"0xaf6205c715a42e4dd20e097e3cf51a2f756733483c29e468c1aa721dc9a24e4a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5d036a25460398394c1f44ca7defaf0f4e531286e07814eb4856ccdeebaef8fe\",\"dweb:/ipfs/QmbwSQVHDceD7C8eKbkXDRS8RWYNeNzBgs8ACU9JJadtfH\"]},\"src/codegen/world/ITemplateSpawnSystem.sol\":{\"keccak256\":\"0x5a584e21ccd0e9a5b7fbbe450e65b975f86b0c0be53a2af0cdb6f821e87030b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://0b3f578e9017d81d8498af5032b8fe2d4a913b1356f59fc946de434354c340f2\",\"dweb:/ipfs/QmXU21EvqQHZYyxBUQW6jhukVG4CG9pvfTV7Tj1XFTAsoC\"]},\"src/codegen/world/IWithdrawSystem.sol\":{\"keccak256\":\"0xe85269ffff67c58739571609021f6a9d8d96b313349715878c96d269a987cd0c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb28547cf73f27880219bd862a3d11241aaf312bead993de6173f3b9aca4f910\",\"dweb:/ipfs/QmThq2cUsM673aCk6Nfu7JhoxEnAJ5NLWBSEfipjBQ6yyQ\"]},\"src/codegen/world/IWorld.sol\":{\"keccak256\":\"0xaa09910f8627c4912867821d397a3ff40c84ae9a70d34353870c88a39fc78857\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://f545bf8c1ab49848ad7ae710c50f5bf6d6152cb7775851212db14caab433c6fe\",\"dweb:/ipfs/QmaZxcuBKATG9FwfWHBRC2LKAxiBFpidVYmDunpECShVMy\"]},\"src/createMatchEntity.sol\":{\"keccak256\":\"0xafc364338d2268475b4227417f3373f45fd7b742455c78bf11a132b08647accd\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://82d55fd9f57c42f4c43df06cf4a51787816a997fae7037f7c9621fbd82931ace\",\"dweb:/ipfs/QmcemA4LDRR3Eg9wBGdHjX22umLXuzM7Fh5bG9ewuZTYdz\"]},\"src/hasToken.sol\":{\"keccak256\":\"0x44e71d6a9aa33d02b504360447686ff1f3a2cbcf4f4aa931fc7d26dec735fad1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9a44bd8b67ea0592494ce1a08d943d867f5f463bc290aec58c2a096c427fa676\",\"dweb:/ipfs/QmQmBisU3wannQYyMZzyPKhp4ooaecsKZGnWFsGqPgBTDC\"]},\"src/libraries/LibCharge.sol\":{\"keccak256\":\"0x4318fcecfcc53e634d062ddb61eead0e494c139fb58cf69c1d017617d1b24653\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9535843a7124650ce66cdc1883bd1a7835b1b3d6f774da572bdc2398ed51d6d2\",\"dweb:/ipfs/QmSr4xiiA3DJe77NukhLYNvfNBBnDPUuxwgrogDjDF6hJQ\"]},\"src/libraries/LibCombat.sol\":{\"keccak256\":\"0x828c23b0958329ff7defc9404cbf3a2367d3130081c5c89ba1b0e8b361c14f66\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://47d6b4a0b6f0d191749defd9164d3239f983194eae3d0b4b98a2d957b2ef465e\",\"dweb:/ipfs/QmZkhBaSdxBnwBBJude8h3SEyMcdVxfmnRuKxGmPbGES9U\"]},\"src/libraries/LibCombatOutcome.sol\":{\"keccak256\":\"0x947c30b9d7c785a07a020a869c7408d75f751e0dd03df2c813963d53c8193850\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a6944f1620e1a2c6cb0497f222280aa8fc672544e40cc2d369a72378674c4ea3\",\"dweb:/ipfs/QmZAnBiB4u2Tg9v7hEPeoHJuY1S7xn5Zh4An2qiFWg9fxf\"]},\"src/libraries/LibGold.sol\":{\"keccak256\":\"0xd68d7438f70c28d52955baf316f6a1e2bcd2bc85d52ee770dcb07208b63facaf\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://43d97c734379fe47687b8f1227ffbf94f67aad8ad37cc000c99b740c3e5c1b16\",\"dweb:/ipfs/QmVZ9Ne7xgrSgg3dGrVv1Bcnq5ATZT3267X3G4B4vHSiAw\"]},\"src/libraries/LibMatchFinish.sol\":{\"keccak256\":\"0x3b1cab0f33abc8980e2e1093d83f577e21e09f4a8a27e92af0d41c601931ae52\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2f973c88380d4a9798b5ee53aa3feeabd38b438edfd4df8d88d71d842c68a43a\",\"dweb:/ipfs/QmTnLovLsofrUH4tUFVue7FViPSer6pyMVxNyKH412kmwQ\"]},\"src/libraries/LibMove.sol\":{\"keccak256\":\"0x1b5b2d3348b7b4b487120309a76b579b4be3989814050caa0da9de82cc3e5e41\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://f7b5c18ebf17f76dc7e2fc88d7cf71c4ce8d004985744b363221d607affdac3f\",\"dweb:/ipfs/QmdWvQ36ar7MS1Jv5EC1WjAqzbHbPjEG8LhtgWqvtSPTJn\"]},\"src/libraries/LibPlayer.sol\":{\"keccak256\":\"0xe9de8b759ed2b8ff36aa5f94fb621c35d0022a2f950d419c2cf1473423a0dcb8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5bd4e2f8d5ee654644e3eb054e1a10a0f037431d4f2a58ed9abe55287118b2d\",\"dweb:/ipfs/QmfWJeXMHCEY1pqmGXkBydj9ZvEz8t2PTtbxd1pxHW2Ktg\"]},\"src/libraries/LibPosition.sol\":{\"keccak256\":\"0x9ae1a290214c0caeea66fbfd5eff276d691abaaac31f87f66f33c478429f3eaf\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://d86f9edb82ac20a5adeb8a52686bfc0f85c15077f63d6e124f41d1080ac97661\",\"dweb:/ipfs/QmSu1jFLZyGtHzybfogokh5UNcZQnsj69T8GRTx7CZoMPW\"]},\"src/libraries/LibSkyPool.sol\":{\"keccak256\":\"0x3612721f598609d2e6192e7e569f1753c7388085443a014099019b895bc10b9f\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://297eb7bb2e12a3b2e988b515f463e5843605b5dc0876a7f0ab10f2a4ba859ca5\",\"dweb:/ipfs/QmdxH5yvtBRGaNYV3NfUejMEM76QxzBmKfWhUCRP5Kc45X\"]},\"src/libraries/LibTemplate.sol\":{\"keccak256\":\"0x470f40c0f9be626745a48a8e04e764f04d1a31cd57769a3f2d5836913b085105\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://932874d730297cf2ba85a6479fca998241e91940b2ef9995215c97e78677746f\",\"dweb:/ipfs/QmQW4JPJyJU6WfaWQ9oMggQ8MzfhMyzstK4KEjpRYvDhHU\"]},\"src/libraries/LibUtils.sol\":{\"keccak256\":\"0xdcee541e94e617c1f6ae0ae9b271758acff7f49170d7b2373f7f0a54297fe332\",\"license\":\"Unlicense\",\"urls\":[\"bzz-raw://c094a9a0a6939e9e92eeff3de242ad34c68d1850713c4bb286ba760082e8989a\",\"dweb:/ipfs/QmZ8KZFwche6syBrfgswKiTJRsDTNCPxz7bR9b2tpvFU8S\"]},\"src/libraries/Transactor.sol\":{\"keccak256\":\"0x208d328c343e03bac58074bb71388c4b5bbac2a4933a432ba3edfb931d40ebd1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e7287ee856a69ee5ff116536cf45e8876be6e8ed8f4dab27b6d65b8123adcbbb\",\"dweb:/ipfs/Qmdjseoj7sZfeLMHPqnqMNQXEP55xgehezRgKNhJar2rPf\"]},\"src/libraries/templates/createTemplate.sol\":{\"keccak256\":\"0xda5f57dd98a9a6c08573583300e095fd05bcb169c91cda43e11728893ee12209\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://143d572d105badeb524e25c45aa711bc89b511c18adc62538221b6177a444b16\",\"dweb:/ipfs/QmehGCyRRuLeqnKWGugV74hixnsyNc92tp1uQ4S2RQ9mFp\"]},\"src/libraries/templates/instantiateTemplate.sol\":{\"keccak256\":\"0xa09c25ac29a68dd9c455fb7760874d0fa25224532e05458e2e2d01dc367fa992\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://393b441ba615f451c2966607766845fd83cf94264ccd03aca2754ed3732288ec\",\"dweb:/ipfs/Qmc1cQ1YJcq7PgKp6ZgSK2UwyVxh45A86WDxKbfC7Mhxft\"]},\"test/CombatSystem.t.sol\":{\"keccak256\":\"0xcb6d3119eecb0e3b01048c95bb7bc935fc0d69cfd84dc1452410eb3698ba5e96\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://032277c20cf0470d2dc74322ce8f25b96664d4b0b2a1fae053076ee1c40c9a76\",\"dweb:/ipfs/QmR1xDbVfu3wJhXm2Dovw1bJRNU6P2JZbv6WnHQSgE1t5X\"]},\"test/SkyStrifeTest.sol\":{\"keccak256\":\"0xda4c779e10aa44943c178a231654541c56d8433e396aa004f5e005810e8f87ec\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c034a0ea9446fdf927f3ded96523ee0b8873bbefaf9951ead565d65bf7f395ae\",\"dweb:/ipfs/QmdPgUwnUV6QW8pAWN2wpUvxaC3uxJGz3D6GMA4pZpBjaP\"]}},\"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":"uint256","name":"start","type":"uint256"},{"internalType":"uint256","name":"end","type":"uint256"}],"type":"error","name":"Store_InvalidBounds"},{"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":"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":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log","anonymous":false},{"inputs":[{"internalType":"address","name":"","type":"address","indexed":false}],"type":"event","name":"log_address","anonymous":false},{"inputs":[{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_array","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"log_bytes","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"","type":"bytes32","indexed":false}],"type":"event","name":"log_bytes32","anonymous":false},{"inputs":[{"internalType":"int256","name":"","type":"int256","indexed":false}],"type":"event","name":"log_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address","name":"val","type":"address","indexed":false}],"type":"event","name":"log_named_address","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256[]","name":"val","type":"uint256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256[]","name":"val","type":"int256[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"address[]","name":"val","type":"address[]","indexed":false}],"type":"event","name":"log_named_array","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes","name":"val","type":"bytes","indexed":false}],"type":"event","name":"log_named_bytes","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"bytes32","name":"val","type":"bytes32","indexed":false}],"type":"event","name":"log_named_bytes32","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false},{"internalType":"uint256","name":"decimals","type":"uint256","indexed":false}],"type":"event","name":"log_named_decimal_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"int256","name":"val","type":"int256","indexed":false}],"type":"event","name":"log_named_int","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"string","name":"val","type":"string","indexed":false}],"type":"event","name":"log_named_string","anonymous":false},{"inputs":[{"internalType":"string","name":"key","type":"string","indexed":false},{"internalType":"uint256","name":"val","type":"uint256","indexed":false}],"type":"event","name":"log_named_uint","anonymous":false},{"inputs":[{"internalType":"string","name":"","type":"string","indexed":false}],"type":"event","name":"log_string","anonymous":false},{"inputs":[{"internalType":"uint256","name":"","type":"uint256","indexed":false}],"type":"event","name":"log_uint","anonymous":false},{"inputs":[{"internalType":"bytes","name":"","type":"bytes","indexed":false}],"type":"event","name":"logs","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"IS_TEST","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"combatSetup"},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeArtifacts","outputs":[{"internalType":"string[]","name":"excludedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeContracts","outputs":[{"internalType":"address[]","name":"excludedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"excludeSenders","outputs":[{"internalType":"address[]","name":"excludedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"failed","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"runSystem"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"setUp"},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifactSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedArtifactSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetArtifacts","outputs":[{"internalType":"string[]","name":"targetedArtifacts_","type":"string[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetContracts","outputs":[{"internalType":"address[]","name":"targetedContracts_","type":"address[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSelectors","outputs":[{"internalType":"struct StdInvariant.FuzzSelector[]","name":"targetedSelectors_","type":"tuple[]","components":[{"internalType":"address","name":"addr","type":"address"},{"internalType":"bytes4[]","name":"selectors","type":"bytes4[]"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"targetSenders","outputs":[{"internalType":"address[]","name":"targetedSenders_","type":"address[]"}]},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testArchetypeModifier"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCannotAttackUnitWithSameOwner"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCapturing"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCapturingCharger"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCapturingStructure"},{"inputs":[{"internalType":"int32","name":"attackerHealth","type":"int32"},{"internalType":"int32","name":"defenderHealth","type":"int32"},{"internalType":"int32","name":"attackerArmor","type":"int32"},{"internalType":"int32","name":"defenderArmor","type":"int32"}],"stateMutability":"nonpayable","type":"function","name":"testCombat"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testCombatOutcomeSystemIsInternal"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGoldMines"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGoldOnKill"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testGoldOnKillWhenUnitsKillEachOther"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testKilling"},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"testRequiresSetupCannotMoveAndAttack"},{"inputs":[],"stateMutability":"view","type":"function","name":"worldAddress","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@dk1a/solidity-stringutils/=node_modules/@dk1a/solidity-stringutils/","@latticexyz/=node_modules/@latticexyz/","@openzeppelin/=node_modules/@openzeppelin/","base/=src/","ds-test/=node_modules/ds-test/src/","forge-std/=node_modules/forge-std/src/","solmate/=node_modules/solmate/src/"],"optimizer":{"enabled":true,"runs":3000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"test/CombatSystem.t.sol":"CombatSystemTest"},"evmVersion":"paris","libraries":{}},"sources":{"node_modules/@latticexyz/gas-report/src/GasReporter.sol":{"keccak256":"0x2ce3fbd09098ce05ae68684405728c73470ff9ee8c9b1359ff230ecfa5d4d5dd","urls":["bzz-raw://7cf74103308e356e0f30d237f0fdc9864a9cee6a8bafe76baeb71f62b8c6d798","dweb:/ipfs/QmTcACXKUxBZTwfdvJxiHiU8zXMzk732HUzcdiTU9vh55W"],"license":"MIT"},"node_modules/@latticexyz/schema-type/src/solidity/SchemaType.sol":{"keccak256":"0x650927696f7518fa216f2d6001835e9fdb419518034c781e86d2a2d33f4ecd2a","urls":["bzz-raw://72e91ac32ed00d36bd22fefeaf4ce1e9420143ddab7080eeb720c668a117bf44","dweb:/ipfs/QmdVqn18WZvx5p84MDJPsB5tfVoXDR86wzm4sLx6WrGYYL"],"license":"MIT"},"node_modules/@latticexyz/store/src/Bytes.sol":{"keccak256":"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/modules/erc20-puppet/constants.sol":{"keccak256":"0xf5bc462ba7a0209d4d13b27f6038d2484c978250d9177d1814813a9fa6c67f0e","urls":["bzz-raw://25f1dafb6cabe5bb70021625bd025d7249aed86dfc8567b9e5d8c2c32da847b4","dweb:/ipfs/QmbAAQHU2q6Dm66CqbrwUtWyCbwndKZtrpE3oneFtaYMxX"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/erc20-puppet/utils.sol":{"keccak256":"0x93469cfd699997e1b980433ad416566a87da0cc925a55752c98dc86c76c63b32","urls":["bzz-raw://00bd06095ef07edea5827d0fde62110f8ce92ed8e20946d04e39a558700e045e","dweb:/ipfs/QmdvVCsFD8ktvJFV56NDkgQ3oBsSb9vLNcwVm6uwTuUuPR"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/puppet/Puppet.sol":{"keccak256":"0x0793dc274d0e27b9a00369935693952f2b15e85b243ebed5994cc0c5fd806bc9","urls":["bzz-raw://d94877420ab98c06013f327ce43e18a7dd3f9a42a33f76a5291ae8424b2699a6","dweb:/ipfs/QmcpKAzLV2eKSU7Pfbb7wgkidNeWSUyUD5J2Scgio16RS8"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/tokens/tables/Balances.sol":{"keccak256":"0x6397f165aed38d2e921a0ae4f280f8079e0241d24bce2915c99ce69ea036b0cc","urls":["bzz-raw://8b9ecc3fe44da5dc9c2532d85b288f6d9dfc28ea5a0899fe32faa1d7d78bd047","dweb:/ipfs/QmayMhjNZJNRKjyxC7AEXkx87ePDu4rNVqZ7eDRTzk8Jrc"],"license":"MIT"},"node_modules/@latticexyz/world-modules/src/modules/utils/ArrayLib.sol":{"keccak256":"0x63e98c70d37110b21631d829bef7984af9e33eb9bb1ca2e92a421a280bb7994b","urls":["bzz-raw://1db7648dd0244d08447275901c28a301d28a5524dda5fe1e7fd0dcbd7df1d9f4","dweb:/ipfs/QmXqhR26wRt5HwKBK3FobrCAjECnu9Q1p6BGaj1uNQEjdw"],"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/codegen/tables/NamespaceOwner.sol":{"keccak256":"0x3a53f395fc56398b4095c1e4016ad5f87d06236fc00f1fb85b9cfe138575b614","urls":["bzz-raw://9d91d30c8506a2d07bcafe0f8feff002bbc7764060d7e7bef7f15b9c4a97c597","dweb:/ipfs/QmVTAxSh1JSMpKD1jmJSTvXbDZQubdJW2DQDoePWecJskH"],"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/worldResourceTypes.sol":{"keccak256":"0xeb042e7d3638430f6fd394107f3237cf14e4325154f0098624e8a7826584d465","urls":["bzz-raw://39e0b8eb87616b661f5a4f2fd7e1a727bd19b7fd8d40ad3d93fda26822f433ea","dweb:/ipfs/QmacYMatKV9pwEwirVRY9a6r89RoNs5yk99ic37ieWA8Dk"],"license":"MIT"},"node_modules/@latticexyz/world/test/MudTest.t.sol":{"keccak256":"0x7d5a7010debe541fa26701a01524cecf81ef329fd7a9dd7d5edf546e0a48aea5","urls":["bzz-raw://193f9193286327d97b8cf38d3034760459fcf3d3622fa12e1b72c7fd02c45c03","dweb:/ipfs/Qmezz4SxgVVEiFv72HZF1cEBUX5xBU8zBCWs16Jwg8Udgk"],"license":"MIT"},"node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x287b55befed2961a7eabd7d7b1b2839cbca8a5b80ef8dcbb25ed3d4c2002c305","urls":["bzz-raw://bd39944e8fc06be6dbe2dd1d8449b5336e23c6a7ba3e8e9ae5ae0f37f35283f5","dweb:/ipfs/QmPV3FGYjVwvKSgAXKUN3r9T9GwniZz83CxBpM7vyj2G53"],"license":"MIT"},"node_modules/ds-test/src/test.sol":{"keccak256":"0xb39cd1d5220cb474947b131e15a4538334b7e886af244b440ae5c9c6bba96a54","urls":["bzz-raw://3101520221449ac0070bda3881311a71d9aa87e5210765e875246922cb5cb5f5","dweb:/ipfs/Qmbg6kAHNoG7ox9N9Xqd9Ere2H2XixMFWFqvyPwFCzB3Gr"],"license":"GPL-3.0-or-later"},"node_modules/forge-std/src/Base.sol":{"keccak256":"0x609e3a00319169988cc8272e837f350a9ba77cf8f8f62e4897a8e4a8a5f0fb27","urls":["bzz-raw://b24435e35ba5b080ebd6e8976c23fb735c7212d042be8462ffd2ea50c5250363","dweb:/ipfs/QmPeVvN7FS4oMmCuYAeRdZihTfrG4tA7Vvunuvv59a6wre"],"license":"MIT"},"node_modules/forge-std/src/StdAssertions.sol":{"keccak256":"0xf5ee6ffdf800ff79b630415dec6257dd930ee8a9b5b17996a2ee2e841d3afcc9","urls":["bzz-raw://978647b43acaf65a9c1c1c583c028fc534c42a219d5f8857c146fba6682aa90c","dweb:/ipfs/QmNNkThmMkjtw8ArYJRTqy2h6axfsZPE67XZe5zRnWViur"],"license":"MIT"},"node_modules/forge-std/src/StdChains.sol":{"keccak256":"0x38c788c4869b7692243c98de26857f392175ba292de160d9eac24fa34ed1d1b8","urls":["bzz-raw://d4b18b42ccd9f51ace79f470fe2d196974ae867667c5a7e9b7e8ddb47a5e83a6","dweb:/ipfs/QmZ8AJdCrMVFLsZJsvp2d4Zi7c7wVgQh45XrVwdrzR3Vmr"],"license":"MIT"},"node_modules/forge-std/src/StdCheats.sol":{"keccak256":"0xf6746576912986486f4e5eccdb6b3bbb03e47c4da75a59acc4b1c313b8d31d9f","urls":["bzz-raw://01fd4243d8a85cc7f07b6c5ac9e3f5f38b2443ef82025953c3badb39099fe2e4","dweb:/ipfs/QmVDUyQ3tE4a2b87wJDAkwwyFwRpUPGuy8yJDV9JgHqnrd"],"license":"MIT"},"node_modules/forge-std/src/StdError.sol":{"keccak256":"0xbf477b11a42d7611696956546bcfaa29317d1166bf65e402344599c05943fc77","urls":["bzz-raw://bc2e117d1135e030862b96a6526a43feb38d396cc79857f1fb696d4eff0e5fd6","dweb:/ipfs/QmdSuQ5RrQudTLsNmWXGEeVJX8gR5U9XPm6m4dwwuQnJrj"],"license":"MIT"},"node_modules/forge-std/src/StdInvariant.sol":{"keccak256":"0xd855e1fea6247f1bef118e2bee9f0039832988b7173fd17766bba4014ae26a3c","urls":["bzz-raw://c58c0f0b66852dfd3c76fb7958d8b023489d7a874c7cb1ad4f2021f9ec8ab477","dweb:/ipfs/Qmd3MX9HAkNUhPddL29ekwhqgRnjAobZ35UzchaJZNACCN"],"license":"MIT"},"node_modules/forge-std/src/StdJson.sol":{"keccak256":"0x113bce4d6d0fe7c4e1e3bf2760ba21c075448660a8dae6003f27b9ff86890612","urls":["bzz-raw://8c8a169ea47398b475696e66d07e354d9997680b5f954418caeeaec5427a131f","dweb:/ipfs/QmSTK6XmjgYZ2CCGZ87AVTowNL3UWfRvqhT6DTbZoKyJzz"],"license":"MIT"},"node_modules/forge-std/src/StdMath.sol":{"keccak256":"0xd90ad4fd8aeaeb8929964e686e769fdedd5eded3fc3815df194a0ab9f91a3fb2","urls":["bzz-raw://7919b70f636c7b805223992f28ad1ad0145d6c1385b5931a3589aface5fe6c92","dweb:/ipfs/QmY7FRaULwoGgFteF8GawjQJRfasNgpWnU2aiMsFrYpuTC"],"license":"MIT"},"node_modules/forge-std/src/StdStorage.sol":{"keccak256":"0xd1517df281f973dba8b7ba52c02d3df552b60d91b8f47e4669049da648778673","urls":["bzz-raw://52e43264f58a5dcfd985f3c99aa81064805aa8f1c2b4c6521fd63d45cdbba8d5","dweb:/ipfs/QmUMTF6cRjt5tCQrrgQDXVRmHQLjevNsTvLFdaA1m9TBj9"],"license":"MIT"},"node_modules/forge-std/src/StdUtils.sol":{"keccak256":"0x6584855fecbe5b6a9f8ebdb26b37c58532c5bc5cc6e1737dfa7c8a045087be55","urls":["bzz-raw://40a35a4d292b4fed02e11d5f25fb474f10a7c4eb99f75b5383dc23fcb6e55d3c","dweb:/ipfs/QmYZ2nz1EmNh4xLWf4YybZoa1Da1z3Wq3w4pneMhkouMi4"],"license":"MIT"},"node_modules/forge-std/src/Test.sol":{"keccak256":"0x8134c22af343e12f0ee5c565a2eb0d8a5472da7f499abac7b519f634a69c7c4d","urls":["bzz-raw://1552599c06a879f4938e14b1fd1e4a4a7eda097b1c984ce0a9cbca33ea64f7d6","dweb:/ipfs/QmNxyLpvNX3woGMHJAQGz89dzRsMFaxT38ZmtgPVMG2DLD"],"license":"MIT"},"node_modules/forge-std/src/Vm.sol":{"keccak256":"0xe0cfe5ca62fb9d9366be870999bd82802d6b913c1f960f67b8f17060008f2d1a","urls":["bzz-raw://ddadc1e899953cb26e7d87c0f27284d02f09b611cfd3300e321c33dc2c65d0b3","dweb:/ipfs/Qmbmrdph3D5YweihJSPM6sopZcSKWMox2ZM89dyonfhrq8"],"license":"MIT"},"node_modules/forge-std/src/console.sol":{"keccak256":"0x91d5413c2434ca58fd278b6e1e79fd98d10c83931cc2596a6038eee4daeb34ba","urls":["bzz-raw://91ccea707361e48b9b7a161fe81f496b9932bc471e9c4e4e1e9c283f2453cc70","dweb:/ipfs/QmcB66sZhQ6Kz7MUHcLE78YXRUZxoZnnxZjN6yATsbB2ec"],"license":"MIT"},"node_modules/forge-std/src/console2.sol":{"keccak256":"0xcd5706f5a7025825d9fd389c89b49bf571f9abaea8a062dc4048320b5b43bf46","urls":["bzz-raw://c066485a7d4bd18d44efb4c89274b0959e8066b9a480383a2ce07d7f31555f88","dweb:/ipfs/QmckeYfA5FtAjcxaytq69Dpj6uY57tbQ61kNPPxXi9kgbW"],"license":"MIT"},"node_modules/forge-std/src/interfaces/IMulticall3.sol":{"keccak256":"0x7aac1389150499a922d1f9ef5749c908cef127cb2075b92fa17e9cb611263d0a","urls":["bzz-raw://d95ebb7c7c463e08ebc12dab639945752fb2480acfc6e86da32f72732a7fd0c0","dweb:/ipfs/QmNXK8P8oPWwajsQHvAHw3JPyQidPLCGQN3hWu1Lk6PBL2"],"license":"MIT"},"node_modules/solmate/src/auth/Owned.sol":{"keccak256":"0xfedb27d14c508342c33eb067c9a02eabcdb0f9dcf93b04ded1001f580d12d0ea","urls":["bzz-raw://1ff52bbee698b9cf9e4574615e6550be0887ccf355f6571e23d6f25b332e79b4","dweb:/ipfs/QmVorA2apojVRStzS7h8aFccR3Uv32G6HVtBtFHZrE7YXx"],"license":"AGPL-3.0-only"},"src/codegen/Templates.sol":{"keccak256":"0x39ee06e740a5bf5022a54eefcfda6c408ed0c3038080f3f3d1a61092c4e12070","urls":["bzz-raw://77c8ece77feaa0c9e92fee71c662e9137eb2e49f697b08eb6fe3caceb9b47b6f","dweb:/ipfs/QmapJpVqP4GZ2QvDRKCzG4KcHAm95P4EWG2vsSLUR8bkC3"],"license":"MIT"},"src/codegen/common.sol":{"keccak256":"0xde2e4be7aca0c3e8251af4967910c5134427aae34480f4a443a0f0ef97304ca8","urls":["bzz-raw://646bd92523b977f3d71d23c858bcc1d60d22cdb3c0008debe68008dab535480c","dweb:/ipfs/QmQe7Jn1xt6sjCc7R6RSnZXDbCpfsuK3WEHEc3ZXF66YaJ"],"license":"MIT"},"src/codegen/index.sol":{"keccak256":"0xcd45b20519d350da7ed4b0478a8367e43c49a91ecd2c532f0c14bd4a888c2beb","urls":["bzz-raw://bfec1c17ade7d90dd40032f6e018a1f6e1b4e2d5d7d882a75601882899046852","dweb:/ipfs/QmVH2RD6rejRjarwqkTcB1fm7kB2KzYJ3diq35YiceB3GV"],"license":"MIT"},"src/codegen/tables/Admin.sol":{"keccak256":"0xf10e4e3cfb7e4c5fb9bbdbbf5680ec9068a91ef4921f0f34e7e3dc9c636ece96","urls":["bzz-raw://66e8d4dc995834e1d435266034f072339ace519d2db0db0dba319aa18c22b9f5","dweb:/ipfs/QmSnKW4cMLYoZ5TEHqsgVXebBCh4RKQTnBJ3jS7gG9oWwc"],"license":"MIT"},"src/codegen/tables/ArchetypeModifier.sol":{"keccak256":"0x2774f0bce106cb276fb82b29eb863105ffa4f3e39f5c4f68e1859ad017868d69","urls":["bzz-raw://c97bd37991895be1a497eb86c280ee4e77d3d8f2c189a99dc262302296da3360","dweb:/ipfs/QmV9TUcUThRPqdwfDVN4BrqYWzZNVCnbGappRfEAaZHsGx"],"license":"MIT"},"src/codegen/tables/ArmorModifier.sol":{"keccak256":"0x859465345a990b8f47886a4d9fa9e8c242e58640a287e9efd44933120cb15753","urls":["bzz-raw://871eabf4155d6d6f0526e04a67d828cf92b31dd74b160317238f754e0ecf5e6c","dweb:/ipfs/QmQP2GfftiUALMSnuTPuanZ7XuumvEVxHmU5aGnv166jeA"],"license":"MIT"},"src/codegen/tables/Capturable.sol":{"keccak256":"0x7d4470907329ad648ef968b2fca6fd0274e7949cd36958d4e982cfabb4064b62","urls":["bzz-raw://5a0b83506b6e48c200b2da24f534ab7814b69123e2c5bb752f0e5a589af6ca83","dweb:/ipfs/QmXd6mtKVrksyobryS6NXsyTHAkNzcQz3Tx367JBh8DcxS"],"license":"MIT"},"src/codegen/tables/ChargeCap.sol":{"keccak256":"0x7a83dbeb22169d6ebfcdb5643d66d92b5ec86131a0653203c2481b0e05c95db7","urls":["bzz-raw://ce738c202ac6192eaef051fb2c31f161aa25342c412a6573b16a90c739c9d6c6","dweb:/ipfs/QmSbgUHgyfRYayVZ46cEDNAQMFTAAAUp3EVNnPbboUKJmC"],"license":"MIT"},"src/codegen/tables/ChargedByStart.sol":{"keccak256":"0x5e57251fa96cff2d688521a9d027e0a1d10e6dd6aeb3d17b50218051206ce7c0","urls":["bzz-raw://ab7e380bd7efc5ec3342aa92a5baeeec4daf9a8e4d0a5d014e8885cf43f0f509","dweb:/ipfs/QmRT35J1DjmrsayXf7Ah5mG6M8DL5GYpugF9pjUjMunHGL"],"license":"MIT"},"src/codegen/tables/Chargee.sol":{"keccak256":"0x4d0667015c05d2ce9fb2d2bc21bfd624c52185e2a13ccfd24a31db7ab7bcd229","urls":["bzz-raw://e41ca5034b0c715c58b7d07d7e5eca056b8124fb29d54ffbbcc67bee85e6c672","dweb:/ipfs/QmWQGSHjTtqUipQCs9k3ApE1QH513U6dT4fWLbmhR3XhKG"],"license":"MIT"},"src/codegen/tables/Charger.sol":{"keccak256":"0x207ba440b1726fd34eaf3b06534cb6b8ded261cd18e8ba293b71513fb30d4e59","urls":["bzz-raw://9d7d5ec258be098dc360450083f387e8883bfc5e04c7a397661c246c3a0d9c98","dweb:/ipfs/QmXh7WUv6nVGaWwVUPzqZWxa6ZdH6dvbRyHpNyXMAkYkTS"],"license":"MIT"},"src/codegen/tables/Chargers.sol":{"keccak256":"0xe53ec363e1b998df4fbf1b224a422fed9e7318985b3254445ff6382c690f2d39","urls":["bzz-raw://e145661f9a411fd80d3a1345c3a884733a70e3a0692a6976c83ea1082ab7eefd","dweb:/ipfs/QmfHP8TjfffzoxBvMEkbWweRbMJdkj7S25CjuKEhbDwBQh"],"license":"MIT"},"src/codegen/tables/Combat.sol":{"keccak256":"0xfb75582c7b47a2c3a039b2363990778a09ad881f807c6059c089e327dd5622c8","urls":["bzz-raw://9025892eb625a405bf5c6e73243aba096552623bbc65a70a8535e52b7aa9ac12","dweb:/ipfs/QmajtipyJe4nvwRFUGeWyvkPdPUmNbSyiBvMU2ReaDcWQe"],"license":"MIT"},"src/codegen/tables/CombatOutcome.sol":{"keccak256":"0x39c34c16752de956bc808338eaeb3f8c50d8c43708760bb48da2ba9522659716","urls":["bzz-raw://f74d50ed5660f8c49a0587ca124ba6a863069983f680a0809f18b6e7bf7bbf7c","dweb:/ipfs/QmbYmq8WLedbhTRKTyVzu9KHbQDGUkBa7Kjkk6gWSBXP68"],"license":"MIT"},"src/codegen/tables/CreatedByAddress.sol":{"keccak256":"0xee280d7f4f8fd0a521be5bba95a0b2506391b5cf61a40671ced8a550137ba926","urls":["bzz-raw://b33847b93edbe83be6cc9f87aa589f7419b2e631a475a8a3cf50cd3b50d334d9","dweb:/ipfs/QmP9aM73jjRTcWpgQFNjB69P7LEAdSJSP3HFYq4Pb26W9s"],"license":"MIT"},"src/codegen/tables/EntitiesAtPosition.sol":{"keccak256":"0x9b7c55dc61d9ecfba53baf29240424272243a7cabf51a2fe77649dfc60757775","urls":["bzz-raw://6cd8f65bca9918f2fd26b61af7055ff949e63c48c1dbce88cf42339e73528a8a","dweb:/ipfs/QmSGsPVQZHeAFwPasf55dWgVY2pNubS8AyABb5L2faqR7s"],"license":"MIT"},"src/codegen/tables/Factory.sol":{"keccak256":"0x3c9d8dc200b6812b2860b947dc7dbcb2b5f09988ceafdf5cda9e015258672e51","urls":["bzz-raw://08ba9b493aea9440f5b8d5fd0f7ea5626e60003a6a328c982d1e6f892744b198","dweb:/ipfs/QmWwASAHJ7xXKx8F2y8vaH3uFvo1SCtKBwapiMy7X9kKgD"],"license":"MIT"},"src/codegen/tables/Gold.sol":{"keccak256":"0xb1a08fb494fb3dd7ad6c55ef1c4b007d2782681334e313a3b4e6367bfac46eeb","urls":["bzz-raw://e9b04b672466b0a86d8d6bd945805aaa3df29a9bc6ca388ed266625f95f11666","dweb:/ipfs/QmZzDoG8gzERLqFvpRTZaxp63z175w2Kc6n4BeQqRqQsn7"],"license":"MIT"},"src/codegen/tables/GoldOnKill.sol":{"keccak256":"0x2648461ac0ca9286a16105b54b5e99d214e73e7bc0e38e536e04036759ec28d9","urls":["bzz-raw://bb72d5e3d68bceb9dbf9e980aa9ec6da998c08aa3928a865e6bc42a2c68c6ed0","dweb:/ipfs/Qmbpaz1M3gSLRe2oCaXjg6N9DcTkt9dKLpt7GVqRfqPc9E"],"license":"MIT"},"src/codegen/tables/HeroInRotation.sol":{"keccak256":"0xc767deccaa4afdfa100908ea469eb74f0fb03862fb4bc314bca49accba781bc0","urls":["bzz-raw://5b396cbc21852732ef7dfcc20c451414c621f48800e3bf8a50c509d99fbf2c22","dweb:/ipfs/QmeGZsKbwjg6NUr2zGDZZVAJWtZMaKNVi8GmM8ferQ9nwm"],"license":"MIT"},"src/codegen/tables/HeroInSeasonPassRotation.sol":{"keccak256":"0x97e034873505b7620541b0e76d3be71d1eeb5bb167b9bea0a9c79755b3af7a64","urls":["bzz-raw://71670f47d76690aee6e2e09616695dfc48fb10f676a590aca400b72b2b8c0278","dweb:/ipfs/QmWYep89a3xEecxce6VQDcqiDP2oQwb9brw9YdZ3cAgAHZ"],"license":"MIT"},"src/codegen/tables/LastAction.sol":{"keccak256":"0x8efb6c27febb4017c5f12749fa6bb7b9ee4d96836f5f648112402b64d6471dd2","urls":["bzz-raw://00adc0def56f28c5ec1bb67138dd52047df62532f6d35c9c0d8510c2892aec21","dweb:/ipfs/QmXTAEnVsdaqDYhz1Pa1GY6jLwRbQL2v1rmruXTAg6tqq9"],"license":"MIT"},"src/codegen/tables/LastMatchIndex.sol":{"keccak256":"0xd0cd2ff0bf4322f86d686aab0133b817ff2ceaa525efda859b63ee56414e5d9c","urls":["bzz-raw://4db125d4a831723b4f8a9304aac762a87ee20b01bcd1942201930d434fb4729e","dweb:/ipfs/QmUAUQvZThNAqu86pzRisKcGEyPwpGAThUMDgURZE54qDZ"],"license":"MIT"},"src/codegen/tables/LevelInSeasonPassRotation.sol":{"keccak256":"0x0ce58903a78500f2e425b10d4ad4246350267e365bc1c6583d0f0509a572ee60","urls":["bzz-raw://43a29c5c794d42e97e1cde84b9312617d744db8e1fda5ee81a6479864f594e91","dweb:/ipfs/QmUSk4bvPB5QDHD5BHGbQ2acwFqMF6gzn2vJqbzbY5m4yv"],"license":"MIT"},"src/codegen/tables/LevelInStandardRotation.sol":{"keccak256":"0xd5f2745e9308f6208de9395ccfbd1bef51762ac38afa13faf89115504664678c","urls":["bzz-raw://77a3386c2de1b28a2519a9987eb0b844adcab8025785b938def1b76c94d31a8a","dweb:/ipfs/QmV7hGDSEx4qjrVdR98Y5wodz8BU4k9Vuoi7TNTyC8L6Gs"],"license":"MIT"},"src/codegen/tables/LevelPosition.sol":{"keccak256":"0x7b007bf3b5acd3ed78b7f9b854b9f87de7f9686a5391348e61102624daa34320","urls":["bzz-raw://5fe78370d1c63483c1ee26c716cb7bec1c8fc0630a11eb805f2970fcb629f8dd","dweb:/ipfs/QmQG4gCC1VPoPSqQyJQBLBKZFVMRaP2HL4w7y7N1zo281u"],"license":"MIT"},"src/codegen/tables/LevelPositionIndex.sol":{"keccak256":"0x5ae3287cdc0993f0a566752c11c794a5f3cef613137633a5b5710b27ee50dba8","urls":["bzz-raw://8e1bbe6c98bcc9cdc71723721ff8226f32d1c113a7ac3dc3e32c699ef9ced61c","dweb:/ipfs/QmeTq3eJkUt2tABVSVkvUYb3GkJddgvSx9YrS1c9wmh1X2"],"license":"MIT"},"src/codegen/tables/LevelTemplates.sol":{"keccak256":"0x7416e62c88753dae52abf397f9a8efedd3b7f57fe2a6c8d64746bb971fdcbc5a","urls":["bzz-raw://0a4c50a1b2aae84a6f120d098cc7228a0908350926758d518d76e6fe8af7bee6","dweb:/ipfs/QmT2uLbrcruogZVGPnimAhELuXhPrsCi372t6AdrwiCwLc"],"license":"MIT"},"src/codegen/tables/LevelTemplatesIndex.sol":{"keccak256":"0x23dce66b52fe3276b92e633351bef206795dbd770d1b3969a708e3f594145ab7","urls":["bzz-raw://49a48ef1c877c70c308305bc890f326ac6fabaafd375c372228d1b1c76e88228","dweb:/ipfs/QmYU9H4pUdGHmKpb9Xoa2F1oaixSE46FRbjL6DJqEETRC6"],"license":"MIT"},"src/codegen/tables/MapCenter.sol":{"keccak256":"0x33ca78f53d059eb85a87a778e3567e1beb08b0a7f5b1cda1fbbc3cccd5809895","urls":["bzz-raw://28288d4a845a45e31f7b3c6133b40a670cf081a62502a317c13822ec2122ce06","dweb:/ipfs/QmbYotHQrmowTusHUPKY1d3RhufGqPzdkFEK5inCakcTPz"],"license":"MIT"},"src/codegen/tables/Match.sol":{"keccak256":"0x6047491e98fd77fa6d8455a22de36c69aba94365f0a56a8de7871cc5a9ae47a8","urls":["bzz-raw://b073d9ed5c30a1d576a8bf87d579d887a66a27f6d5be64852efc1b1c1906fa8c","dweb:/ipfs/QmV7uZ3Eu3Gr9UzF826WRQvqFA8ZaUBkmopEtMSFy8ze4C"],"license":"MIT"},"src/codegen/tables/MatchAccessControl.sol":{"keccak256":"0x37288fa25ba25104191c5456c6fd7b7380a0d6201c2a9427b5e1eb74002ef0c8","urls":["bzz-raw://b61848d2d319bda3c882b020c4b50953f4bde7c77280ce6251a5aadff11a7d22","dweb:/ipfs/QmPgaYhDgN39ZJMiZ92N8wRbvvSpLZDYUYgeQoupvckGXt"],"license":"MIT"},"src/codegen/tables/MatchAllowed.sol":{"keccak256":"0xd4bd94fca7cd88e4a1c1af87b8b718311e850c231a1f8927938f2273bfadd8f6","urls":["bzz-raw://4c333c604c745c496f0a19b52851e767be70f6c18c6b25c0c5ec3bf4f1887082","dweb:/ipfs/QmQFNBQrAcnoCj1WwdK3asHcscwUa7ijmAMzgGp5U37odN"],"license":"MIT"},"src/codegen/tables/MatchConfig.sol":{"keccak256":"0xe7043b09e90efca02f0f00c74a76cf6d5a77566c22839cb04c84f9af7a104d92","urls":["bzz-raw://3f9eb78465fc312fe06f8c46404367990e039fb86281da7f87d5fa515bf4c125","dweb:/ipfs/QmW5keQr1kgsoREvctNEo6qdeWyE6TCcFogtxziRNM2zES"],"license":"MIT"},"src/codegen/tables/MatchEntityCounter.sol":{"keccak256":"0x9b1ee0c8f43b3335c8b7ba283a7e8c720e675637e67b96f8e1f99e23ca6351a4","urls":["bzz-raw://4a809c81f0534f038ed6d7e4fae7e4c14ed403345196eb8e9147998564608fc3","dweb:/ipfs/QmWsQ8nGm8FwDwrD7Tm5axpsLcjE175wtR7mGdPfhZ4snE"],"license":"MIT"},"src/codegen/tables/MatchFinished.sol":{"keccak256":"0x128aca9ae5df0b7d2f49256ed738f0c4940e183a78a905e66e4786b65225b2bf","urls":["bzz-raw://13e2ca1e62ee9129a4aff30416fd067216005dab1ef890e83f22eb2fb921a3cd","dweb:/ipfs/QmNkoDRhYkQGbey8y3NVjRHj65ywt4N6teh3xLUkVvChCR"],"license":"MIT"},"src/codegen/tables/MatchIndex.sol":{"keccak256":"0xfc79f9d5165d12e52d0d98c8bd1d9218c7edab051b1fe5855985c8b8cbbafd05","urls":["bzz-raw://3821f80fbdce89cc3c298af23be6b3d9c72af782613dd9c6ac76e6109ee9ef76","dweb:/ipfs/QmQT5gyjetVUiEtu26w3F35vijHN8uMNjLYhkdoGNRF641"],"license":"MIT"},"src/codegen/tables/MatchIndexToEntity.sol":{"keccak256":"0x643d1bfb36f3eaeb02f9d40d4e15e99156231ad4aca4bc6a1cc9ddce63e4c7f0","urls":["bzz-raw://546d579174c65ff4dbccafdfbc840f7fc514e23ca2523a88c0ff97c6c2cf593c","dweb:/ipfs/QmaFfVPQVVfVVJmj2wwWCP8Hc7Nh1uBi4vvxc4ZEL8Fwkw"],"license":"MIT"},"src/codegen/tables/MatchMapCopyProgress.sol":{"keccak256":"0x330646e80e0032b5bb10d89c380b9673d47b712fe22cd6756789811cf03fddc5","urls":["bzz-raw://34920da22632a7dab6b30a2a2bc966f74b3bec7f980091cd090d5cd7f7e389bf","dweb:/ipfs/QmQ1P7CCNBxGjkuj3hHCxyYdftHfdnhEayPDHkJmjLi1z1"],"license":"MIT"},"src/codegen/tables/MatchName.sol":{"keccak256":"0xcbeafc76a6acf829a55a550b2a3eadde85d7bca60f466ecded2d774dbf0a20cf","urls":["bzz-raw://a73cf84685913febcc31ddef9e1a99f30f8396642fcf8da48063c0585022f7ff","dweb:/ipfs/QmawusYMCnSrdYZoyqpm1Ge4LgV1R5gocUNB9wPTUV1m45"],"license":"MIT"},"src/codegen/tables/MatchPlayer.sol":{"keccak256":"0xee101160ad514436bca33cd248d1db005dc617079446e108b51e634e4b733466","urls":["bzz-raw://b1513a939211b457618b1b6ee51b1aaf6a7d27155e9b1b1f6f1092994dc5cb2e","dweb:/ipfs/QmYM38eguwxrdoY2aCYgPjkmv4Zy1TQKqnUzSLnmgQ6efy"],"license":"MIT"},"src/codegen/tables/MatchPlayers.sol":{"keccak256":"0x15be786172faac4a093405cbed6b04179e346f6d7fa406c1655e662fe5cd5ff0","urls":["bzz-raw://74accee4317b30169319461722907f0bc15fb68e3a559ee5a20243ec05951b29","dweb:/ipfs/QmcTrgqqepqATKz7o3xRu9U87pUcjoofdDWyyoCpSscADR"],"license":"MIT"},"src/codegen/tables/MatchRanking.sol":{"keccak256":"0x495d1fff5a589eb704cdce9dc204140a986ac3f0d127cb53b2457d155f0ec3c3","urls":["bzz-raw://34f4bf1e9c909892736d6fc96a74756aaa38824eff350f108a09294251765e86","dweb:/ipfs/QmVnHpCzj2jXYDmUz3D2BpmYL4PfpDdtdxhr4BHVzhx8tt"],"license":"MIT"},"src/codegen/tables/MatchReady.sol":{"keccak256":"0x55de77e1cb9c3885457a4fa929b103c08dbcf2f98a772ca1a0b0e1b53a258f95","urls":["bzz-raw://8304446db0452005a96cadf4ff8a7cb608b2622b0e422463774477495637c576","dweb:/ipfs/Qmbhwxi9jWL6ZKgo8Hok5C9oqX6gWSf2fbGMxAdeSL9a7W"],"license":"MIT"},"src/codegen/tables/MatchReward.sol":{"keccak256":"0x405c42f0bae0bcf542e1558992ce79e47ba4ddf4bf7d7e825764215c15b484c4","urls":["bzz-raw://913eb3da7a38e336efffa9882f00833ade8ec5f963714cee8ce59ab533baeacd","dweb:/ipfs/QmV6fxYzRLsu7KGiiEEpA8R8ZqV8G6d64cu4J8E7PuxzVG"],"license":"MIT"},"src/codegen/tables/MatchRewardPercentages.sol":{"keccak256":"0x23e7f2766800ac019a1bcdf72a02f031c3b134dd0adc4b0987d16480cedafedb","urls":["bzz-raw://7c20400c50d17afba333659761d0dd2e76bba5a769e51a771b6838955ef89db9","dweb:/ipfs/Qmdcqs7NHBWzFTkSchmsLggxZvFFfav7hWv3VJxmKXpUUw"],"license":"MIT"},"src/codegen/tables/MatchSky.sol":{"keccak256":"0x16ec4183a84c7ff1970582370856a8e1e77d681aec3cdf6d7e8b082f40ffb2c8","urls":["bzz-raw://7e2e35940eb37143c33c4483231043553b04ecb2b71eaed75484193d847333d9","dweb:/ipfs/QmU9yxrLzpF6v55gs8mkTgnw8mCP6VkXZfmHQe1b1EMmvK"],"license":"MIT"},"src/codegen/tables/MatchSpawnPoints.sol":{"keccak256":"0x756a07f839a1865b93cfd3a1e89dff0c09cc68900b948c2481908b20a0e30c40","urls":["bzz-raw://93de577f605f94d6b2d9e977bc6ea57d085a57d36633afe87deaecb976d669aa","dweb:/ipfs/QmeTCmN3Y1wiGd4oKGEPz57vy4p4hhx9go6XYMNzSYzUXH"],"license":"MIT"},"src/codegen/tables/MatchSweepstake.sol":{"keccak256":"0x116a1b8e65f1e388a9ec2959940370e4e1ad6202ae694f84a05ee5f9330471e2","urls":["bzz-raw://a7977b6835cf0326a539a8df2ef50eaa1b842be1ed4115aa4fc1e2ba24468211","dweb:/ipfs/QmbD3oWJLR2LqsjfUFbLZVpMq1iYfvA4Sa2actx3Qe9eH4"],"license":"MIT"},"src/codegen/tables/MatchesPerDay.sol":{"keccak256":"0xc2a833021b54a6fb7fa22912951e148a94db4a243529ec0f2773eeea96552909","urls":["bzz-raw://9c3beeb6a1b4953ea158eae7c6fa48f1e7cad821db69ba13065cf9a6a7d3d973","dweb:/ipfs/QmYHNwJxaaxdVCLJ4FBy8HbfvZG5uvUSZZGhbBVT7CP62T"],"license":"MIT"},"src/codegen/tables/Movable.sol":{"keccak256":"0x992cd2679446862395f78738431562132ba2ebe19d356f3f4a5f84dfa98766e8","urls":["bzz-raw://586483965abd1455641d717c8026b2547831b65a98babb223bd1daa494eb1300","dweb:/ipfs/QmT8qmrmzvqfPvekMqc5gvCUpVGvm2jVHiikpqb9eBB2tc"],"license":"MIT"},"src/codegen/tables/MoveDifficulty.sol":{"keccak256":"0x61d1c51f9a38261a1e28d1623a34e68c8712212e4e2ea68fb1d036da313dc795","urls":["bzz-raw://cdbfcc096f892fe1e18d8ad02347e06a14e3fb9bda2c0e4c7de5966ad23960b4","dweb:/ipfs/QmaM57xNvhSTjgfHEwjj1s5rhug3vmyUQgnaKUoDrKHqEi"],"license":"MIT"},"src/codegen/tables/Name.sol":{"keccak256":"0x587ffc590fbecde23fb55c032dc640421a6ecf1eb5e31a05cc9b624f6024cdc7","urls":["bzz-raw://3896bc33760910c0f97fc6c44390ce7d811642111d1cd723d7d6360b68c4bbd2","dweb:/ipfs/QmYZguqg1GnBCAzqUMWzzgy5nr6jJj2qn54DW7VSogDMLS"],"license":"MIT"},"src/codegen/tables/NameExists.sol":{"keccak256":"0x737370a09bf6ba5603156a800695545996c2411d452fe2cb4601bc250aa6ce85","urls":["bzz-raw://414c641f57ef05ec011c23c386e536eb16a8d3fc09ee6c3ee28e4a9097071a5d","dweb:/ipfs/QmeFDFdVto3dejjMhQJPigGRt5EXtBB32TBN1UfMHpS4ts"],"license":"MIT"},"src/codegen/tables/OfficialLevel.sol":{"keccak256":"0xdf385936440217206a6c58d4acc92435dbce85ff27b28934d8d04a6e6263e61c","urls":["bzz-raw://7986b6d0d66ba0d02b2121b11dd15fa883684373e05d346d0ffc3bb09c33479a","dweb:/ipfs/QmSDHQaxzvjyWpb2Q9XSSMgkwFNQ4pRDxUDCXbWjxYzzJ3"],"license":"MIT"},"src/codegen/tables/OwnedBy.sol":{"keccak256":"0x54dc90730a1d26c273135b68a2eafa692ea7bbebe2c8093901fb6dfb7241f616","urls":["bzz-raw://4b1a76c29a92ffba96b8d3eb3fc3703979be26fd9524e282aea95ae9b635c240","dweb:/ipfs/QmQMCZnYdoRdDrYdQ9tAmVKCpZ13nk2SpSCnQkHxLfTSiZ"],"license":"MIT"},"src/codegen/tables/Player.sol":{"keccak256":"0xe254f3c4755d5e3c0e693610f97bec61c43af6ac47e211f608f5f6264c884b92","urls":["bzz-raw://e408973d1c4fe436247935bcc79d9a8d64dc81e56ee52ab07f3c35340e950f32","dweb:/ipfs/QmQgH7rvY2gYsyircaihk5oXnesupQ39xu3npARj9snHkF"],"license":"MIT"},"src/codegen/tables/PlayerReady.sol":{"keccak256":"0xd6d88d036e7e044eb033f40dcac52a72cfc883dbb1a3e8c0f805d0262302584a","urls":["bzz-raw://2b85b2eb8171153981e617ce3c3b3081d4c3dabb1086a5ba30839f5f8c8b8b4e","dweb:/ipfs/QmYDzjiQEqQa1ZmeQvqp2Np5CHWJGuBgN9KJqWwBj33odK"],"license":"MIT"},"src/codegen/tables/Position.sol":{"keccak256":"0xfdb0bfdcdd0faa001251237c1d8d11dfa5c5f55e92a73c3e9bcc8d15da6d2f5e","urls":["bzz-raw://1f2c6ba12f7c1c4d2bc532953f0eb308b1acc367fd8e9f8a9c22080d1b2a26cf","dweb:/ipfs/QmSSrdowViDQzdQNFZtQAiV64uobjvcbyqKeJYiB3SuiKo"],"license":"MIT"},"src/codegen/tables/RequiresSetup.sol":{"keccak256":"0x66f46d938735289692660cc2e662d9af917b7f0e1d3bf72d5816cd2d1d052bb4","urls":["bzz-raw://3099118257562b270eb9de2c59e010930873e75671b8325d2e889c0c4f1d9813","dweb:/ipfs/QmWtbBEZkbs7WkXPYcc4nh2YhSoDNvwJZS4vHjG5pn2GGp"],"license":"MIT"},"src/codegen/tables/SeasonPassConfig.sol":{"keccak256":"0xbfc1bf9367cbfbf51720c42368e00fa5d1205376506dd6a5c774cf3671f25783","urls":["bzz-raw://47c1d5630a095574ea6ff159d4d789811de1a94944708e13e5565c10b3dd9fee","dweb:/ipfs/QmYXGjBVKWe6a6mQYAmFjQURzux1A1RJCKndypXXi4DqGL"],"license":"MIT"},"src/codegen/tables/SeasonPassIndex.sol":{"keccak256":"0x4e9391e9f74a6bc7584d68b39299e7cbc46bbd19cb9ff41757e543f4d4d8076f","urls":["bzz-raw://ce4f38a82777d872e77680c4247a3fb7a0d3382d928343838cdbe560b23df1cb","dweb:/ipfs/QmUEwc1Xx7eGyBzjuWMTvL9ZZ54GHotB7z5TVUR2CRfXi5"],"license":"MIT"},"src/codegen/tables/SeasonPassLastSaleAt.sol":{"keccak256":"0x4e2dc83f3bb7a69219900138b8bbeca95b1b3db499b652b46e82af3d800c900a","urls":["bzz-raw://edf4e0b57fc1953f0d010c1d1e9f89d64f6a71c08062d2865bd82fd7e31962db","dweb:/ipfs/QmTqUhccjfA7g1ihndFmX1KnXSkngrA8ZezipxQbC5q9Zp"],"license":"MIT"},"src/codegen/tables/SeasonPassSale.sol":{"keccak256":"0xdc1e6a8010139fbe50abe14ec230b7e7e6d8ea51862017f89e943c37e4ed9eef","urls":["bzz-raw://c872f8bc71d0c6564816543078ab471d855162372e38b7efcc28f2935aef79a5","dweb:/ipfs/QmUzToGutHfjtEuafTwTS8VqTA9Ed4hSd1DeG2ZtCs8Utp"],"license":"MIT"},"src/codegen/tables/SeasonTimes.sol":{"keccak256":"0x14b138e1714c163093d765bd993108ed3d42aa7ed6347464645c14d3e8b4948b","urls":["bzz-raw://58d5e5c5fdbda3fada43a356725ecd9c2d07223b66f26863bf3da68a9c10ca3f","dweb:/ipfs/QmPnGaKuWe6mUsmeSjvvVmx3xheFSminMeu1WzbdFzpQ4J"],"license":"MIT"},"src/codegen/tables/SkyPoolConfig.sol":{"keccak256":"0x5d64965969a4fd273bfc63d403d9c7fb8966afc532136bdf786c72b762f0247f","urls":["bzz-raw://0a68f12857bd4991da2d55b2036088ab06a2260332cb2d9d19dbee17afaf98aa","dweb:/ipfs/QmRtiHverx5CKGyuwjQCTkhwwmpEX5MEtCkgH3vYve1nvt"],"license":"MIT"},"src/codegen/tables/SpawnPoint.sol":{"keccak256":"0x78906bea1e126b05a40746224a19bf08245617ebf36d5b00533d78f600ed80cb","urls":["bzz-raw://14609f17a3e50a3dd514cf66ce2c67cc53da0b098cc35a9b95555a4e35ef32f3","dweb:/ipfs/QmZiX5dEHttgdiYPfCknkNN4vYfrRdnEsp8GERqGLNhB2f"],"license":"MIT"},"src/codegen/tables/SpawnReservedBy.sol":{"keccak256":"0x6a17e250b900eb9d623f4926de4489882c2b2026acd08605053151ef6350d473","urls":["bzz-raw://a80a2ad46e8004219d931f2dd5c5b4e95107ce0280f06af0f1a8f87df32cb4f8","dweb:/ipfs/QmRKyjDXJ1j879J5TcYq6yBECFxtZivZDNPUjy1QrGf6qQ"],"license":"MIT"},"src/codegen/tables/StructureType.sol":{"keccak256":"0xf2a62d3afc680a0425b964d752e1b3aaa12f66e9ae20a80ff61f2063f9f74033","urls":["bzz-raw://83323d65688309464f06fdb08d0e46e09d6f9498627e61ea9c79e30347dba797","dweb:/ipfs/Qmc2hS9eqV9tdESgHt2iu6YHMEGHToxv2KFrvt4LPG8TCZ"],"license":"MIT"},"src/codegen/tables/TemplateContent.sol":{"keccak256":"0x0cdf0cf6588d72332903764dfafde5331e5b68ec132eb6b40e6b324dd1fcb710","urls":["bzz-raw://f0e40422c1a173cc04e5df496714aaadbb98086f06e2fef736b99b540253d92d","dweb:/ipfs/QmWoSy7wPUMM4Udoi7M6M95tJjUDFpuFPgBwoXbsZnRv3e"],"license":"MIT"},"src/codegen/tables/TemplateTables.sol":{"keccak256":"0x07146cd69cc87c73e5aa04cd033f54f04c82cac09b57c7427d631d4d8df17035","urls":["bzz-raw://48e6f9586a1a77b90c3e86138c9560394ed420517b2c8a4c407823f505188d7f","dweb:/ipfs/QmYjusEWnpwFGZDQV2AvLwY4DRV3oLHMrNDxp9EbzbimPA"],"license":"MIT"},"src/codegen/tables/TerrainType.sol":{"keccak256":"0xa67a0edb0d1a70470de01dbf43327f9d911c12fa08aca734c417c591721e6b87","urls":["bzz-raw://4927c5e934cfd8575799f5bcef8c7392bc2da2bb84d463c9441f785dff8fc077","dweb:/ipfs/QmYK9Swtc48ndGcaeyqpj3o248nspgkmcN5kFEaCAwF9pm"],"license":"MIT"},"src/codegen/tables/UnitType.sol":{"keccak256":"0x5703cd50d2cdb70757024245231899a35de083c49239a10cb1515f459aae0ffb","urls":["bzz-raw://9f3f90e9a9e08b9dc4e58092fe7802f3671c9684ee998a4014613b03725ea6bf","dweb:/ipfs/QmZZjKPByxqcbEYhE95f794ud6i1tkqJPSbGsqSXHNMQ6S"],"license":"MIT"},"src/codegen/tables/Untraversable.sol":{"keccak256":"0x0ac641c25a8910d70d3b092d152063a49c6353c16b17e1590de0b72f2fca75d7","urls":["bzz-raw://cb94e6a5eced54b95558842986aaafbdebf27363e9363402f72885845b72e12c","dweb:/ipfs/QmcxBUHXXbcxgxq31Ss1vi2BtsW3enedLspVmV1Pd21UFd"],"license":"MIT"},"src/codegen/tables/VirtualLevelTemplates.sol":{"keccak256":"0xa2ae7f4ff1efd2518ab854c0883b2f696cc29635232bd241786a3fae7246bc35","urls":["bzz-raw://bd78db57fea870896bac73809330841d091fb2234ca79c8caca6eae350557b7c","dweb:/ipfs/Qmae8optd6w4gP47g9kGAAVRybGivKBq36saxEdZq5qV12"],"license":"MIT"},"src/codegen/templates/ArcherTemplate.sol":{"keccak256":"0xe20cbd1ce5cf812261ba289a1903c9026f74e43455a31b17625025f2d59a00d9","urls":["bzz-raw://ff74f89173e6d956e53acd27c9a780e75cb3c713c6515b4ce0e1bae2d43657c4","dweb:/ipfs/QmYdfbj7r1PQ6Z6dj7R5ZzADxCkoS5dK6y8rvXVDbLGQFh"],"license":"MIT"},"src/codegen/templates/BruteTemplate.sol":{"keccak256":"0xa0a0af2f3b20342ccff808b2a458b6415040aabeff3ee790a354bff816c1213d","urls":["bzz-raw://70ac7a219f2ccdf81ebbaa96eab4c34ea31bb59a89d87fe848d73f5ebe879a6d","dweb:/ipfs/QmNVdMdsU62Qq8iNtiXogR4mRyyDggkQ8NhNe2XYLAprdD"],"license":"MIT"},"src/codegen/templates/CatapultTemplate.sol":{"keccak256":"0x0833482fef791bcd2f4a126ae5e83645c4916602ac5f1927fdf36385d8e9bc16","urls":["bzz-raw://f332bd2f7b94332250ff00730074ac19b9b75f76b5c904130153dc0d4910a79a","dweb:/ipfs/QmTmqHohwgQGRkAnA7MsXjb8yrhohe8WS2UdvVryNFZybK"],"license":"MIT"},"src/codegen/templates/DragoonTemplate.sol":{"keccak256":"0xcd3936768f1fa980670f25812ae1d6611331857410d0c413773b38f0393bdf92","urls":["bzz-raw://bede35fea188ad5db77857bf062c97da9e2d348add3e94c522df56db4a32394a","dweb:/ipfs/QmSrNEpWJtxFSbDVkUM9yhSxAWHREsHuwb95sc9H4v1imm"],"license":"MIT"},"src/codegen/templates/ForestTemplate.sol":{"keccak256":"0xf894556fe0fb1c1f7823dee417a0faf794565818b4762d681ffc396370732b96","urls":["bzz-raw://d94dbd067cead39a4bfc29c675e399a783186520a25e4fdee99a30f2d81dcf46","dweb:/ipfs/QmPh9rgDXZEErNEH8Y4LchvqHagbHuBa5zzzBCfidVKzgS"],"license":"MIT"},"src/codegen/templates/GodUnitTemplate.sol":{"keccak256":"0x0f11c751143dbae24ec4854d29ab75a8f3fd6528d779a472b735e36079106e7f","urls":["bzz-raw://aaa2b94beb37b62f162fa4c86cf8c7f067aa631e7f7f6463a45b1583636bb692","dweb:/ipfs/QmTonMfoiXUcuCKTrKLfzUCwWTD71y788VfqMY6AsCUxEF"],"license":"MIT"},"src/codegen/templates/GoldCacheTemplate.sol":{"keccak256":"0x547964c7f96cee22195979d3ae013ab95722dedb346d45dede970a25782d2b99","urls":["bzz-raw://c9e082b4e506ad2c5916a384aa5ac39b88ae537eda4b2858255e5698fbc749ea","dweb:/ipfs/QmamtdwGskTjj3zjFV2B8NL2RZCiJefbh4Jmk8sAmsKiHx"],"license":"MIT"},"src/codegen/templates/GoldMineTemplate.sol":{"keccak256":"0x8eb42338c914c92ec8495829d21f6f6237ee5ceee862dad535c7eddb1b4c1685","urls":["bzz-raw://4a09b8da90b3eb8c75185efb8d0d1b1ce0b6449f91f4723b95de90614edb9851","dweb:/ipfs/QmNq3WKikoEyJAgdAn7oN7KAS8Bn1V7WarCNjCGjwnW4RB"],"license":"MIT"},"src/codegen/templates/GrassTemplate.sol":{"keccak256":"0x5db4a62ac388cd8b93e841a344400ae57f19a206c1531bb1ee82e4791aa396ee","urls":["bzz-raw://9d4e61e61f41dc09778a3c6cb5330cf0dd6ff86372a7d73ec0a473f1a8c68063","dweb:/ipfs/QmSmuZeQm3uUMzBKbdeYz6LCxy1W6UxdfZGZtUwdayW5uG"],"license":"MIT"},"src/codegen/templates/HalberdierTemplate.sol":{"keccak256":"0x32ff84d3570344d9301e355ac3b88cb9bb1a3f767a50eb0c7ac2cf7c03733af8","urls":["bzz-raw://1ffac2b11ea7d8a72ff9d681870e153551f9536775e27ab18374133cac78349e","dweb:/ipfs/Qmbo4A91jf7HwCtBKzmTb8UAKk7aRjGnpxK9g6PJhGDLsQ"],"license":"MIT"},"src/codegen/templates/KnightTemplate.sol":{"keccak256":"0x32bf3f717904299b0d6cde7f8a86ecf30c939ff649adeb6c725eb45e31792668","urls":["bzz-raw://afadfbee18c69f2adb93d53a71156a29417e451c6b38e8643d6b80c90cc558b3","dweb:/ipfs/QmQSZtcPxBXD2LR9QJkhDi2GpjXWqdC9zrzXzh8QPQeGVe"],"license":"MIT"},"src/codegen/templates/MapCenterMarkerTemplate.sol":{"keccak256":"0xeaed604fc98855994004f491e1d0d9c7997d7aa1f1f11199a80544e611153907","urls":["bzz-raw://8b8aac494b8baefa5fa136c3d067a4cb8b0d26050c3c9ccb842cca2c337d8f83","dweb:/ipfs/QmR4k6UhoavJaKPSw1Uv1LarMMEtnqsBMkVHcLAHyQNsQf"],"license":"MIT"},"src/codegen/templates/MarksmanTemplate.sol":{"keccak256":"0x09d868b0ecf914864e766be4a9a2c8c0d95246d00d0900531cf2f72c8a680d65","urls":["bzz-raw://f5e463d065789e86a7c59dd9754cdd55f909a46de205f0eaecaaa61c5d806ce7","dweb:/ipfs/QmawpW9aAEswTXQwmjN2Po1QoopqEzFkpgRLHTGCvUcrwc"],"license":"MIT"},"src/codegen/templates/MountainTemplate.sol":{"keccak256":"0xd229215132cec0ec809d4f992f32dd6c185f880b27c7b405f46403d923954694","urls":["bzz-raw://fe78242b299b59843a6f2ffdd3846c6c04b667c1bf92434163979c32a5d2a02e","dweb:/ipfs/QmQCETmNKLXSXTLh7nHcvGMXJJW4hBWRfNxFr241MnyUse"],"license":"MIT"},"src/codegen/templates/PikemanTemplate.sol":{"keccak256":"0xa44a24e6a25859b7bc8557a4219495cfcfd0252788753d08e6ad7f02f7492514","urls":["bzz-raw://413d8ae3ac6eef8cb39fa0129948e2b8474dffb576cd8e4780318adf87e70df3","dweb:/ipfs/QmTY8W3igMqrrSv7SVMhUqCvDVMWKWRZ9MRg7xfRG6gSro"],"license":"MIT"},"src/codegen/templates/PillagerTemplate.sol":{"keccak256":"0xface53dc686f8ab6c9b65d9519c6a10c018cb8e77c92db67454f86070be05715","urls":["bzz-raw://08caf20cb7704e079af74983e7273dfff6712c7743d32977461cfe483126e6f0","dweb:/ipfs/QmYfc5VnjMaMaNZ9fwngQ3Qi9pZhHGoNqKDM1ABUHUgiTZ"],"license":"MIT"},"src/codegen/templates/SettlementTemplate.sol":{"keccak256":"0x5055dcdfa392fc0bef6827df91c28f67b39816bed62cf8e4d92ce2590a029ac6","urls":["bzz-raw://cc9fdd4a865b897436ee2209a2ec67301b8738d9583f122ceb195a64c44e0262","dweb:/ipfs/QmQgTquRMKYriKzC7Cu41PyD3EYvwsAWFbPJk2NyqcXeHd"],"license":"MIT"},"src/codegen/templates/SpawnSettlementTemplate.sol":{"keccak256":"0xc59b9be6231afb0e5e67440e57e66da33f5ef14eea125659079568b8d1421163","urls":["bzz-raw://e50a5f09238267c30fb9818fb7bd8e36490a26052aaf7567888088014a531847","dweb:/ipfs/QmemBz6UK1RVKftXQ6uJQGnczLohfAksmjxfHQwa5n6Q27"],"license":"MIT"},"src/codegen/templates/SwordsmanTemplate.sol":{"keccak256":"0xe8aaaf0f075d2c7a50f6617c433dbee7268a7f7bfda34a57812600b116ea475e","urls":["bzz-raw://a57eb795f8e2d6b12d76b738d49a6f0ca082c0047b3747233ed6bb461e169383","dweb:/ipfs/QmXLk27nVNA8EryHhGYRNMLMAeUeJ4bQngeXvpydhNzcEE"],"license":"MIT"},"src/codegen/templates/WoodenWallTemplate.sol":{"keccak256":"0x88626992dddc1dd3f5dfea49a055426a43ea1831c59698f37e5f5cb165518961","urls":["bzz-raw://0e008817fe025b12442557f45566cf4bed3f9e2558931829629dca4cf74f00cc","dweb:/ipfs/QmR76mtWLSHBNHo5kZv7DpEAH8k9qkcXrydz14sCpxvezC"],"license":"MIT"},"src/codegen/world/IAllowListSystem.sol":{"keccak256":"0x8958c76cf4f35d7e43c5a49b12732a9a725fa06d7e77313168b5e9b42a88b39c","urls":["bzz-raw://4c042ff238594b069b0b1ada2237c88da339971ac7a30caeeb6c66b2ca5af996","dweb:/ipfs/QmUk2fyv88qMWEddv9wt7vKLiyqWYcCsXrVjH4qDdoBJqy"],"license":"MIT"},"src/codegen/world/IBuildSystem.sol":{"keccak256":"0xff7f221abf4c22011fb9cfe80003b7fcd7a947cad11bf49424858d168ae54a2f","urls":["bzz-raw://a923bc0b9a5293bad68da0874829f8d3f95f66acc33813bb8eed6081794c233c","dweb:/ipfs/QmajStCGSfVg8QxUxxuF851JVVtNpWuLHeLoAkXX2mXPfg"],"license":"MIT"},"src/codegen/world/ICopyMapSystem.sol":{"keccak256":"0x94281b53710027985efc1c6a2b4eab3ccb9fbf372550d52cf3b7441a88d0285e","urls":["bzz-raw://1417935c753b9103d4bc390c02ace4b64416e32222e48ab923a4d1564aa1682e","dweb:/ipfs/QmQ87YXTphbSGUV8Ke9SAMCo5i4R6Wc8MzAFQMpH41KJFM"],"license":"MIT"},"src/codegen/world/ICreateSeasonPassSystem.sol":{"keccak256":"0x8cde232a77dfa16401a28a0f50293dfb6f58fcfb89bf2688a304daf61e793be3","urls":["bzz-raw://b4cf288971d2f0f72f94120431edae84718a9097385af9a47d3f4bcf2fae137a","dweb:/ipfs/QmXTxju4NpTwpGufaKuGWmL7PzcVVcdw5wNLkL8rApzaUS"],"license":"MIT"},"src/codegen/world/IHeroConfigSystem.sol":{"keccak256":"0x5d07d59d448644a3d71cdffe5abf105d4b5f700aa9cb14e7d4017d112e00cbfd","urls":["bzz-raw://0f9529eabb45d3b375ab42dbfbf4373cfd53333752c049c71969c0713fb3b85e","dweb:/ipfs/QmbpZ2fbBXkpiabF2876qoA2GHw3q132cWar8AtvdX2D59"],"license":"MIT"},"src/codegen/world/ILevelRotationSystem.sol":{"keccak256":"0x20ea9b9de804dcce05669df00cee4f74f08fb917bb6977908dd9fa2d64cf5794","urls":["bzz-raw://f4cd52ae3c73607d141d7bf3f57ab164e4cb6d56885547fc9756e7f2060afe83","dweb:/ipfs/QmVThQBsTZ31ES4YDMwDMTGsC2iKMkqcCqpb3AMyfDUUxX"],"license":"MIT"},"src/codegen/world/ILevelUploadSystem.sol":{"keccak256":"0x4566550b14ec0dc73b0d51dd66044914e1d1264e0575b19513287dc351cfb14b","urls":["bzz-raw://ec1f60316a185a34a3cd8067db039e3487cd8863a8809a38752012bfc5588bd4","dweb:/ipfs/QmdF9w2x2FR4JXzbiLPE6b4afGFb6J6VyfNcgzn3tecWAx"],"license":"MIT"},"src/codegen/world/ILobbySystem.sol":{"keccak256":"0x60336980ea525104dd355a6b9b3fe090ee397e992df05bda693150654a503a34","urls":["bzz-raw://e9b9e886e5aa4c5053e47cc8806b354c79ddad6fbc5cffadf9979bb0232b9487","dweb:/ipfs/QmaZ5QPk5gKKeRXBa48jzHhpPEfBFxuYbnwDRDZ2GjmCgJ"],"license":"MIT"},"src/codegen/world/IMatchSystem.sol":{"keccak256":"0x82ad6910c22c7c20538316a1a035a1aa3be1acc292b37c8ec129e64e4e405e9f","urls":["bzz-raw://e76c609ebaa9779bb1892c07ec592e6b977afb86301cc6ea3971e1b0b5e6b3f5","dweb:/ipfs/QmbPc3WNVVkjfMyQic7bS5xjBEAwsXjRWpNGV1Szyqpg2n"],"license":"MIT"},"src/codegen/world/IMoveSystem.sol":{"keccak256":"0x682464a443f2a38b3c129912942659099ca7cbe53a687d81eca8d54dca7c81c9","urls":["bzz-raw://058d2fa294d513f1a7db0a9a02853f51438cf137440033aaca098c00489cc47a","dweb:/ipfs/Qme2sxE8GJJKtGrG7ZwedeS3ydqaoVvqHynaKHtpgmgp6u"],"license":"MIT"},"src/codegen/world/INameSystem.sol":{"keccak256":"0x472bb99514235bb48480aeeb8065206a98819fb9eba80676405774b976414ffc","urls":["bzz-raw://30c2aedc54f458ab1bce7040e32968e61448cb513e06657b71798d190663f73c","dweb:/ipfs/QmPHNrSkyNABoUbY66hVzr8nZZaMhaxLgzfVQQh8FYJ7Mg"],"license":"MIT"},"src/codegen/world/IOfficialLevelSystem.sol":{"keccak256":"0x8b922b2b5e1b91f4196dd690777e0b39eae76bffe4ec8d11303b5915873d87bc","urls":["bzz-raw://fb8c6a568bfcae690ffa33ad4997d43b6542563d675369ad44acfc8891e0e6a8","dweb:/ipfs/QmNeueSXpzTV86LCpsePsSoTgLw6htLhGvapgyhD8iVD1q"],"license":"MIT"},"src/codegen/world/IPlayerRegisterSystem.sol":{"keccak256":"0x567123e947c171bd349dc5b5d970c94b8b5fb7b2b168aaa7be94ddcb0fafd148","urls":["bzz-raw://a2325dbca04dc7e655e0f269d5c725ba25f368f8750185e6d274634626d53e3d","dweb:/ipfs/QmTrdTUMZwMzQebsa4jXTee74oyvRx7wiB36fjUdnahDAE"],"license":"MIT"},"src/codegen/world/ISeasonPassSystem.sol":{"keccak256":"0xaf6205c715a42e4dd20e097e3cf51a2f756733483c29e468c1aa721dc9a24e4a","urls":["bzz-raw://5d036a25460398394c1f44ca7defaf0f4e531286e07814eb4856ccdeebaef8fe","dweb:/ipfs/QmbwSQVHDceD7C8eKbkXDRS8RWYNeNzBgs8ACU9JJadtfH"],"license":"MIT"},"src/codegen/world/ITemplateSpawnSystem.sol":{"keccak256":"0x5a584e21ccd0e9a5b7fbbe450e65b975f86b0c0be53a2af0cdb6f821e87030b3","urls":["bzz-raw://0b3f578e9017d81d8498af5032b8fe2d4a913b1356f59fc946de434354c340f2","dweb:/ipfs/QmXU21EvqQHZYyxBUQW6jhukVG4CG9pvfTV7Tj1XFTAsoC"],"license":"MIT"},"src/codegen/world/IWithdrawSystem.sol":{"keccak256":"0xe85269ffff67c58739571609021f6a9d8d96b313349715878c96d269a987cd0c","urls":["bzz-raw://bb28547cf73f27880219bd862a3d11241aaf312bead993de6173f3b9aca4f910","dweb:/ipfs/QmThq2cUsM673aCk6Nfu7JhoxEnAJ5NLWBSEfipjBQ6yyQ"],"license":"MIT"},"src/codegen/world/IWorld.sol":{"keccak256":"0xaa09910f8627c4912867821d397a3ff40c84ae9a70d34353870c88a39fc78857","urls":["bzz-raw://f545bf8c1ab49848ad7ae710c50f5bf6d6152cb7775851212db14caab433c6fe","dweb:/ipfs/QmaZxcuBKATG9FwfWHBRC2LKAxiBFpidVYmDunpECShVMy"],"license":"MIT"},"src/createMatchEntity.sol":{"keccak256":"0xafc364338d2268475b4227417f3373f45fd7b742455c78bf11a132b08647accd","urls":["bzz-raw://82d55fd9f57c42f4c43df06cf4a51787816a997fae7037f7c9621fbd82931ace","dweb:/ipfs/QmcemA4LDRR3Eg9wBGdHjX22umLXuzM7Fh5bG9ewuZTYdz"],"license":"Unlicense"},"src/hasToken.sol":{"keccak256":"0x44e71d6a9aa33d02b504360447686ff1f3a2cbcf4f4aa931fc7d26dec735fad1","urls":["bzz-raw://9a44bd8b67ea0592494ce1a08d943d867f5f463bc290aec58c2a096c427fa676","dweb:/ipfs/QmQmBisU3wannQYyMZzyPKhp4ooaecsKZGnWFsGqPgBTDC"],"license":"MIT"},"src/libraries/LibCharge.sol":{"keccak256":"0x4318fcecfcc53e634d062ddb61eead0e494c139fb58cf69c1d017617d1b24653","urls":["bzz-raw://9535843a7124650ce66cdc1883bd1a7835b1b3d6f774da572bdc2398ed51d6d2","dweb:/ipfs/QmSr4xiiA3DJe77NukhLYNvfNBBnDPUuxwgrogDjDF6hJQ"],"license":"MIT"},"src/libraries/LibCombat.sol":{"keccak256":"0x828c23b0958329ff7defc9404cbf3a2367d3130081c5c89ba1b0e8b361c14f66","urls":["bzz-raw://47d6b4a0b6f0d191749defd9164d3239f983194eae3d0b4b98a2d957b2ef465e","dweb:/ipfs/QmZkhBaSdxBnwBBJude8h3SEyMcdVxfmnRuKxGmPbGES9U"],"license":"Unlicense"},"src/libraries/LibCombatOutcome.sol":{"keccak256":"0x947c30b9d7c785a07a020a869c7408d75f751e0dd03df2c813963d53c8193850","urls":["bzz-raw://a6944f1620e1a2c6cb0497f222280aa8fc672544e40cc2d369a72378674c4ea3","dweb:/ipfs/QmZAnBiB4u2Tg9v7hEPeoHJuY1S7xn5Zh4An2qiFWg9fxf"],"license":"MIT"},"src/libraries/LibGold.sol":{"keccak256":"0xd68d7438f70c28d52955baf316f6a1e2bcd2bc85d52ee770dcb07208b63facaf","urls":["bzz-raw://43d97c734379fe47687b8f1227ffbf94f67aad8ad37cc000c99b740c3e5c1b16","dweb:/ipfs/QmVZ9Ne7xgrSgg3dGrVv1Bcnq5ATZT3267X3G4B4vHSiAw"],"license":"Unlicense"},"src/libraries/LibMatchFinish.sol":{"keccak256":"0x3b1cab0f33abc8980e2e1093d83f577e21e09f4a8a27e92af0d41c601931ae52","urls":["bzz-raw://2f973c88380d4a9798b5ee53aa3feeabd38b438edfd4df8d88d71d842c68a43a","dweb:/ipfs/QmTnLovLsofrUH4tUFVue7FViPSer6pyMVxNyKH412kmwQ"],"license":"MIT"},"src/libraries/LibMove.sol":{"keccak256":"0x1b5b2d3348b7b4b487120309a76b579b4be3989814050caa0da9de82cc3e5e41","urls":["bzz-raw://f7b5c18ebf17f76dc7e2fc88d7cf71c4ce8d004985744b363221d607affdac3f","dweb:/ipfs/QmdWvQ36ar7MS1Jv5EC1WjAqzbHbPjEG8LhtgWqvtSPTJn"],"license":"Unlicense"},"src/libraries/LibPlayer.sol":{"keccak256":"0xe9de8b759ed2b8ff36aa5f94fb621c35d0022a2f950d419c2cf1473423a0dcb8","urls":["bzz-raw://c5bd4e2f8d5ee654644e3eb054e1a10a0f037431d4f2a58ed9abe55287118b2d","dweb:/ipfs/QmfWJeXMHCEY1pqmGXkBydj9ZvEz8t2PTtbxd1pxHW2Ktg"],"license":"MIT"},"src/libraries/LibPosition.sol":{"keccak256":"0x9ae1a290214c0caeea66fbfd5eff276d691abaaac31f87f66f33c478429f3eaf","urls":["bzz-raw://d86f9edb82ac20a5adeb8a52686bfc0f85c15077f63d6e124f41d1080ac97661","dweb:/ipfs/QmSu1jFLZyGtHzybfogokh5UNcZQnsj69T8GRTx7CZoMPW"],"license":"Unlicense"},"src/libraries/LibSkyPool.sol":{"keccak256":"0x3612721f598609d2e6192e7e569f1753c7388085443a014099019b895bc10b9f","urls":["bzz-raw://297eb7bb2e12a3b2e988b515f463e5843605b5dc0876a7f0ab10f2a4ba859ca5","dweb:/ipfs/QmdxH5yvtBRGaNYV3NfUejMEM76QxzBmKfWhUCRP5Kc45X"],"license":"Unlicense"},"src/libraries/LibTemplate.sol":{"keccak256":"0x470f40c0f9be626745a48a8e04e764f04d1a31cd57769a3f2d5836913b085105","urls":["bzz-raw://932874d730297cf2ba85a6479fca998241e91940b2ef9995215c97e78677746f","dweb:/ipfs/QmQW4JPJyJU6WfaWQ9oMggQ8MzfhMyzstK4KEjpRYvDhHU"],"license":"Unlicense"},"src/libraries/LibUtils.sol":{"keccak256":"0xdcee541e94e617c1f6ae0ae9b271758acff7f49170d7b2373f7f0a54297fe332","urls":["bzz-raw://c094a9a0a6939e9e92eeff3de242ad34c68d1850713c4bb286ba760082e8989a","dweb:/ipfs/QmZ8KZFwche6syBrfgswKiTJRsDTNCPxz7bR9b2tpvFU8S"],"license":"Unlicense"},"src/libraries/Transactor.sol":{"keccak256":"0x208d328c343e03bac58074bb71388c4b5bbac2a4933a432ba3edfb931d40ebd1","urls":["bzz-raw://e7287ee856a69ee5ff116536cf45e8876be6e8ed8f4dab27b6d65b8123adcbbb","dweb:/ipfs/Qmdjseoj7sZfeLMHPqnqMNQXEP55xgehezRgKNhJar2rPf"],"license":"MIT"},"src/libraries/templates/createTemplate.sol":{"keccak256":"0xda5f57dd98a9a6c08573583300e095fd05bcb169c91cda43e11728893ee12209","urls":["bzz-raw://143d572d105badeb524e25c45aa711bc89b511c18adc62538221b6177a444b16","dweb:/ipfs/QmehGCyRRuLeqnKWGugV74hixnsyNc92tp1uQ4S2RQ9mFp"],"license":"MIT"},"src/libraries/templates/instantiateTemplate.sol":{"keccak256":"0xa09c25ac29a68dd9c455fb7760874d0fa25224532e05458e2e2d01dc367fa992","urls":["bzz-raw://393b441ba615f451c2966607766845fd83cf94264ccd03aca2754ed3732288ec","dweb:/ipfs/Qmc1cQ1YJcq7PgKp6ZgSK2UwyVxh45A86WDxKbfC7Mhxft"],"license":"MIT"},"test/CombatSystem.t.sol":{"keccak256":"0xcb6d3119eecb0e3b01048c95bb7bc935fc0d69cfd84dc1452410eb3698ba5e96","urls":["bzz-raw://032277c20cf0470d2dc74322ce8f25b96664d4b0b2a1fae053076ee1c40c9a76","dweb:/ipfs/QmR1xDbVfu3wJhXm2Dovw1bJRNU6P2JZbv6WnHQSgE1t5X"],"license":"MIT"},"test/SkyStrifeTest.sol":{"keccak256":"0xda4c779e10aa44943c178a231654541c56d8433e396aa004f5e005810e8f87ec","urls":["bzz-raw://c034a0ea9446fdf927f3ded96523ee0b8873bbefaf9951ead565d65bf7f395ae","dweb:/ipfs/QmdPgUwnUV6QW8pAWN2wpUvxaC3uxJGz3D6GMA4pZpBjaP"],"license":"MIT"}},"version":1},"ast":{"absolutePath":"test/CombatSystem.t.sol","id":181880,"exportedSymbols":{"ArchetypeModifier":[90044],"Capturable":[91476],"Charger":[94760],"Chargers":[96553],"Combat":[98974],"CombatArchetypes":[87309],"CombatData":[96596],"CombatOutcomeData":[99024],"CombatSystemTest":[181879],"DSTest":[61196],"GasReporter":[6191],"GoldOnKill":[109628],"LibCombat":[174073],"LibCombatOutcome":[174100],"LibGold":[174474],"MatchConfig":[125136],"OwnedBy":[146308],"PositionData":[147750],"RequiresSetup":[149590],"SkyStrifeTest":[186507],"StdAssertions":[62539],"StdChains":[63203],"StdCheats":[65164],"StdInvariant":[65454],"StdStorage":[66295],"StdUtils":[68535],"StructureType":[157821],"StructureTypes":[87321],"Test":[68582],"TestBase":[61256],"Vm":[69872],"console":[77936],"console2":[86032],"createPlayerEntity":[175380],"setPosition":[175673],"spawnTemplateAt":[176615],"stdError":[65230],"stdJson":[66121],"stdMath":[66263],"stdStorage":[67728]},"nodeType":"SourceUnit","src":"32:9478:329","nodes":[{"id":180797,"nodeType":"PragmaDirective","src":"32:25:329","nodes":[],"literals":["solidity",">=","0.8",".24"]},{"id":180798,"nodeType":"ImportDirective","src":"59:28:329","nodes":[],"absolutePath":"node_modules/forge-std/src/Test.sol","file":"forge-std/Test.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":68583,"symbolAliases":[],"unitAlias":""},{"id":180800,"nodeType":"ImportDirective","src":"88:52:329","nodes":[],"absolutePath":"test/SkyStrifeTest.sol","file":"./SkyStrifeTest.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":186508,"symbolAliases":[{"foreign":{"id":180799,"name":"SkyStrifeTest","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186507,"src":"97:13:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180802,"nodeType":"ImportDirective","src":"142:59:329","nodes":[],"absolutePath":"src/libraries/LibCombat.sol","file":"../src/libraries/LibCombat.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":174074,"symbolAliases":[{"foreign":{"id":180801,"name":"LibCombat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174073,"src":"151:9:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180804,"nodeType":"ImportDirective","src":"202:55:329","nodes":[],"absolutePath":"src/libraries/LibGold.sol","file":"../src/libraries/LibGold.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":174475,"symbolAliases":[{"foreign":{"id":180803,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"211:7:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180806,"nodeType":"ImportDirective","src":"258:73:329","nodes":[],"absolutePath":"node_modules/@latticexyz/gas-report/src/GasReporter.sol","file":"@latticexyz/gas-report/src/GasReporter.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":6192,"symbolAliases":[{"foreign":{"id":180805,"name":"GasReporter","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6191,"src":"267:11:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180820,"nodeType":"ImportDirective","src":"333:209:329","nodes":[],"absolutePath":"src/codegen/index.sol","file":"../src/codegen/index.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":87483,"symbolAliases":[{"foreign":{"id":180807,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"342:6:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180808,"name":"CombatData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96596,"src":"350:10:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180809,"name":"Charger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94760,"src":"362:7:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180810,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"371:12:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180811,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"385:7:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180812,"name":"Capturable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91476,"src":"394:10:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180813,"name":"StructureType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":157821,"src":"406:13:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180814,"name":"GoldOnKill","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109628,"src":"421:10:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180815,"name":"MatchConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":125136,"src":"433:11:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180816,"name":"Chargers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96553,"src":"446:8:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180817,"name":"RequiresSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":149590,"src":"456:13:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180818,"name":"CombatOutcomeData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99024,"src":"471:17:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180819,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"490:17:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180823,"nodeType":"ImportDirective","src":"544:77:329","nodes":[],"absolutePath":"src/codegen/common.sol","file":"../src/codegen/common.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":87322,"symbolAliases":[{"foreign":{"id":180821,"name":"StructureTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87321,"src":"553:14:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"},{"foreign":{"id":180822,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"569:16:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180825,"nodeType":"ImportDirective","src":"623:68:329","nodes":[],"absolutePath":"src/libraries/LibPlayer.sol","file":"../src/libraries/LibPlayer.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":175445,"symbolAliases":[{"foreign":{"id":180824,"name":"createPlayerEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175380,"src":"632:18:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180827,"nodeType":"ImportDirective","src":"692:63:329","nodes":[],"absolutePath":"src/libraries/LibPosition.sol","file":"../src/libraries/LibPosition.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":175694,"symbolAliases":[{"foreign":{"id":180826,"name":"setPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175673,"src":"701:11:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180829,"nodeType":"ImportDirective","src":"756:67:329","nodes":[],"absolutePath":"src/libraries/LibTemplate.sol","file":"../src/libraries/LibTemplate.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":176616,"symbolAliases":[{"foreign":{"id":180828,"name":"spawnTemplateAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176615,"src":"765:15:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":180831,"nodeType":"ImportDirective","src":"825:71:329","nodes":[],"absolutePath":"src/libraries/LibCombatOutcome.sol","file":"base/libraries/LibCombatOutcome.sol","nameLocation":"-1:-1:-1","scope":181880,"sourceUnit":174101,"symbolAliases":[{"foreign":{"id":180830,"name":"LibCombatOutcome","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174100,"src":"834:16:329","typeDescriptions":{}},"nameLocation":"-1:-1:-1"}],"unitAlias":""},{"id":181879,"nodeType":"ContractDefinition","src":"898:8611:329","nodes":[{"id":180837,"nodeType":"VariableDeclaration","src":"958:14:329","nodes":[],"constant":false,"mutability":"mutable","name":"player","nameLocation":"966:6:329","scope":181879,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180836,"name":"bytes32","nodeType":"ElementaryTypeName","src":"958:7:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":180839,"nodeType":"VariableDeclaration","src":"976:22:329","nodes":[],"constant":false,"mutability":"mutable","name":"defenderPlayer","nameLocation":"984:14:329","scope":181879,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180838,"name":"bytes32","nodeType":"ElementaryTypeName","src":"976:7:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":180841,"nodeType":"VariableDeclaration","src":"1002:16:329","nodes":[],"constant":false,"mutability":"mutable","name":"attacker","nameLocation":"1010:8:329","scope":181879,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180840,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1002:7:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":180843,"nodeType":"VariableDeclaration","src":"1022:16:329","nodes":[],"constant":false,"mutability":"mutable","name":"defender","nameLocation":"1030:8:329","scope":181879,"stateVariable":true,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180842,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1022:7:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"id":180894,"nodeType":"FunctionDefinition","src":"1043:549:329","nodes":[],"body":{"id":180893,"nodeType":"Block","src":"1132:460:329","nodes":[],"statements":[{"expression":{"arguments":[{"id":180856,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1156:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180857,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180845,"src":"1173:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"3130305f303030","id":180859,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1216:7:329","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100_000"},{"hexValue":"3130305f303030","id":180860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1244:7:329","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100_000"},{"hexValue":"32305f303030","id":180861,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1271:6:329","typeDescriptions":{"typeIdentifier":"t_rational_20000_by_1","typeString":"int_const 20000"},"value":"20_000"},{"hexValue":"30","id":180862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1304:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"31","id":180863,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1325:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"31","id":180864,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1346:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"expression":{"id":180865,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"1368:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":180866,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"1385:7:329","memberName":"Unknown","nodeType":"MemberAccess","referencedDeclaration":87295,"src":"1368:24:329","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},{"typeIdentifier":"t_rational_20000_by_1","typeString":"int_const 20000"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"id":180858,"name":"CombatData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96596,"src":"1187:10:329","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CombatData_$96596_storage_ptr_$","typeString":"type(struct CombatData storage pointer)"}},"id":180867,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1208:6:329","1233:9:329","1261:8:329","1287:15:329","1315:8:329","1336:8:329","1357:9:329"],"names":["health","maxHealth","strength","counterStrength","minRange","maxRange","archetype"],"nodeType":"FunctionCall","src":"1187:214:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CombatData_$96596_memory_ptr","typeString":"struct CombatData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_CombatData_$96596_memory_ptr","typeString":"struct CombatData memory"}],"expression":{"id":180853,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"1138:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":180855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1145:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":98540,"src":"1138:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_struct$_CombatData_$96596_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,struct CombatData memory)"}},"id":180868,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1138:269:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180869,"nodeType":"ExpressionStatement","src":"1138:269:329"},{"expression":{"arguments":[{"id":180871,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1425:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180872,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180845,"src":"1436:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180873,"name":"position","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180850,"src":"1444:8:329","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}],"id":180870,"name":"setPosition","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175673,"src":"1413:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,struct PositionData memory)"}},"id":180874,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1413:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180875,"nodeType":"ExpressionStatement","src":"1413:40:329"},{"expression":{"arguments":[{"id":180879,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1471:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180880,"name":"entity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180845,"src":"1482:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180881,"name":"owner","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180847,"src":"1490:5:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180876,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"1459:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":180878,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1467:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":146097,"src":"1459:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":180882,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1459:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180883,"nodeType":"ExpressionStatement","src":"1459:37:329"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":180890,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":180887,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"1565:5:329","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":180888,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1571:9:329","memberName":"timestamp","nodeType":"MemberAccess","src":"1565:15:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":180889,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1583:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"1565:21:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":180884,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"1557:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180886,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1560:4:329","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":69554,"src":"1557:7:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":180891,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1557:30:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180892,"nodeType":"ExpressionStatement","src":"1557:30:329"}]},"implemented":true,"kind":"function","modifiers":[],"name":"createUnit","nameLocation":"1052:10:329","parameters":{"id":180851,"nodeType":"ParameterList","parameters":[{"constant":false,"id":180845,"mutability":"mutable","name":"entity","nameLocation":"1071:6:329","nodeType":"VariableDeclaration","scope":180894,"src":"1063:14:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180844,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1063:7:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180847,"mutability":"mutable","name":"owner","nameLocation":"1087:5:329","nodeType":"VariableDeclaration","scope":180894,"src":"1079:13:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":180846,"name":"bytes32","nodeType":"ElementaryTypeName","src":"1079:7:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"},{"constant":false,"id":180850,"mutability":"mutable","name":"position","nameLocation":"1114:8:329","nodeType":"VariableDeclaration","scope":180894,"src":"1094:28:329","stateVariable":false,"storageLocation":"memory","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData"},"typeName":{"id":180849,"nodeType":"UserDefinedTypeName","pathNode":{"id":180848,"name":"PositionData","nameLocations":["1094:12:329"],"nodeType":"IdentifierPath","referencedDeclaration":147750,"src":"1094:12:329"},"referencedDeclaration":147750,"src":"1094:12:329","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage_ptr","typeString":"struct PositionData"}},"visibility":"internal"}],"src":"1062:61:329"},"returnParameters":{"id":180852,"nodeType":"ParameterList","parameters":[],"src":"1132:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"private"},{"id":180950,"nodeType":"FunctionDefinition","src":"1596:395:329","nodes":[],"body":{"id":180949,"nodeType":"Block","src":"1626:365:329","nodes":[],"statements":[{"expression":{"id":180901,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":180897,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"1632:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"61747461636b6572","id":180899,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1653:10:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_97154a62cd5641a577e092d2eee7e39fcb3333dc595371a4303417dae0c2c006","typeString":"literal_string \"attacker\""},"value":"attacker"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_97154a62cd5641a577e092d2eee7e39fcb3333dc595371a4303417dae0c2c006","typeString":"literal_string \"attacker\""}],"id":180898,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1643:9:329","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":180900,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1643:21:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1632:32:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180902,"nodeType":"ExpressionStatement","src":"1632:32:329"},{"expression":{"id":180907,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":180903,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"1670:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"hexValue":"646566656e646572","id":180905,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"1691:10:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_ea47b74917f549e8fb7b30be52435f56b0a4548a5df697773d6d54875754db77","typeString":"literal_string \"defender\""},"value":"defender"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_ea47b74917f549e8fb7b30be52435f56b0a4548a5df697773d6d54875754db77","typeString":"literal_string \"defender\""}],"id":180904,"name":"keccak256","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-8,"src":"1681:9:329","typeDescriptions":{"typeIdentifier":"t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes memory) pure returns (bytes32)"}},"id":180906,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1681:21:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1670:32:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180908,"nodeType":"ExpressionStatement","src":"1670:32:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":180909,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"1709:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":180910,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1709:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180911,"nodeType":"ExpressionStatement","src":"1709:12:329"},{"expression":{"id":180917,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":180912,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"1727:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":180914,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1755:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180915,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"1766:5:329","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":180913,"name":"createPlayerEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175380,"src":"1736:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) returns (bytes32)"}},"id":180916,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1736:36:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1727:45:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180918,"nodeType":"ExpressionStatement","src":"1727:45:329"},{"expression":{"id":180924,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":180919,"name":"defenderPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180839,"src":"1778:14:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"id":180921,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"1814:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180922,"name":"bob","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186332,"src":"1825:3:329","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"id":180920,"name":"createPlayerEntity","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":175380,"src":"1795:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$_t_bytes32_$","typeString":"function (bytes32,address) returns (bytes32)"}},"id":180923,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1795:34:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"src":"1778:51:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"id":180925,"nodeType":"ExpressionStatement","src":"1778:51:329"},{"expression":{"arguments":[{"id":180927,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"1847:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180928,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"1857:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":180930,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1883:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":180931,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1889:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":180929,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"1865:12:329","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PositionData_$147750_storage_ptr_$","typeString":"type(struct PositionData storage pointer)"}},"id":180932,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1880:1:329","1886:1:329"],"names":["x","y"],"nodeType":"FunctionCall","src":"1865:28:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}],"id":180926,"name":"createUnit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180894,"src":"1836:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,struct PositionData memory)"}},"id":180933,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1836:58:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180934,"nodeType":"ExpressionStatement","src":"1836:58:329"},{"expression":{"arguments":[{"id":180936,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"1911:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180937,"name":"defenderPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180839,"src":"1921:14:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":180939,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1955:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"31","id":180940,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"1961:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"id":180938,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"1937:12:329","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PositionData_$147750_storage_ptr_$","typeString":"type(struct PositionData storage pointer)"}},"id":180941,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["1952:1:329","1958:1:329"],"names":["x","y"],"nodeType":"FunctionCall","src":"1937:28:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}],"id":180935,"name":"createUnit","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180894,"src":"1900:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,struct PositionData memory)"}},"id":180942,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1900:66:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180943,"nodeType":"ExpressionStatement","src":"1900:66:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":180944,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"1972:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180946,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"1975:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"1972:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":180947,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"1972:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180948,"nodeType":"ExpressionStatement","src":"1972:14:329"}]},"functionSelector":"7968c48b","implemented":true,"kind":"function","modifiers":[],"name":"combatSetup","nameLocation":"1605:11:329","parameters":{"id":180895,"nodeType":"ParameterList","parameters":[],"src":"1616:2:329"},"returnParameters":{"id":180896,"nodeType":"ParameterList","parameters":[],"src":"1626:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":180965,"nodeType":"FunctionDefinition","src":"1995:94:329","nodes":[],"body":{"id":180964,"nodeType":"Block","src":"2036:53:329","nodes":[],"statements":[{"expression":{"arguments":[{"id":180959,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2054:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180960,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"2065:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":180961,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"2075:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":180956,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"2042:5:329","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":180958,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2048:5:329","memberName":"fight","nodeType":"MemberAccess","referencedDeclaration":171024,"src":"2042:11:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32) external"}},"id":180962,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2042:42:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180963,"nodeType":"ExpressionStatement","src":"2042:42:329"}]},"functionSelector":"bfcc9d1d","implemented":true,"kind":"function","modifiers":[{"arguments":[{"id":180953,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"2029:5:329","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"id":180954,"kind":"modifierInvocation","modifierName":{"id":180952,"name":"prank","nameLocations":["2023:5:329"],"nodeType":"IdentifierPath","referencedDeclaration":186475,"src":"2023:5:329"},"nodeType":"ModifierInvocation","src":"2023:12:329"}],"name":"runSystem","nameLocation":"2004:9:329","parameters":{"id":180951,"nodeType":"ParameterList","parameters":[],"src":"2013:2:329"},"returnParameters":{"id":180955,"nodeType":"ParameterList","parameters":[],"src":"2036:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181094,"nodeType":"FunctionDefinition","src":"2093:988:329","nodes":[],"body":{"id":181093,"nodeType":"Block","src":"2206:875:329","nodes":[],"statements":[{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":180981,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":180979,"name":"attackerHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180967,"src":"2222:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35305f303030","id":180980,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2239:6:329","typeDescriptions":{"typeIdentifier":"t_rational_50000_by_1","typeString":"int_const 50000"},"value":"50_000"},"src":"2222:23:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":180976,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2212:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180978,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2215:6:329","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":69540,"src":"2212:9:329","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":180982,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2212:34:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180983,"nodeType":"ExpressionStatement","src":"2212:34:329"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":180989,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":180987,"name":"defenderHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180969,"src":"2262:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":">","rightExpression":{"hexValue":"35305f303030","id":180988,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2279:6:329","typeDescriptions":{"typeIdentifier":"t_rational_50000_by_1","typeString":"int_const 50000"},"value":"50_000"},"src":"2262:23:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":180984,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2252:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":180986,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2255:6:329","memberName":"assume","nodeType":"MemberAccess","referencedDeclaration":69540,"src":"2252:9:329","typeDescriptions":{"typeIdentifier":"t_function_external_pure$_t_bool_$returns$__$","typeString":"function (bool) pure external"}},"id":180990,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2252:34:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":180991,"nodeType":"ExpressionStatement","src":"2252:34:329"},{"expression":{"id":181001,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":180992,"name":"attackerArmor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180971,"src":"2292:13:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":180996,"name":"attackerArmor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180971,"src":"2320:13:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"30","id":180997,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2335:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"31305f3030305f303030","id":180998,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2338:10:329","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10_000_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}],"id":180995,"name":"bound","nodeType":"Identifier","overloadedDeclarations":[67925,68055],"referencedDeclaration":68055,"src":"2314:5:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) view returns (int256)"}},"id":180999,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2314:35:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":180994,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2308:5:329","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":180993,"name":"int32","nodeType":"ElementaryTypeName","src":"2308:5:329","typeDescriptions":{}}},"id":181000,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2308:42:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"2292:58:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":181002,"nodeType":"ExpressionStatement","src":"2292:58:329"},{"expression":{"id":181012,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftHandSide":{"id":181003,"name":"defenderArmor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180973,"src":"2356:13:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"Assignment","operator":"=","rightHandSide":{"arguments":[{"arguments":[{"id":181007,"name":"defenderArmor","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180973,"src":"2384:13:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"30","id":181008,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2399:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"31305f3030305f303030","id":181009,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"2402:10:329","typeDescriptions":{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"},"value":"10_000_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_10000000_by_1","typeString":"int_const 10000000"}],"id":181006,"name":"bound","nodeType":"Identifier","overloadedDeclarations":[67925,68055],"referencedDeclaration":68055,"src":"2378:5:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_int256_$_t_int256_$_t_int256_$returns$_t_int256_$","typeString":"function (int256,int256,int256) view returns (int256)"}},"id":181010,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2378:35:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int256","typeString":"int256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int256","typeString":"int256"}],"id":181005,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"ElementaryTypeNameExpression","src":"2372:5:329","typeDescriptions":{"typeIdentifier":"t_type$_t_int32_$","typeString":"type(int32)"},"typeName":{"id":181004,"name":"int32","nodeType":"ElementaryTypeName","src":"2372:5:329","typeDescriptions":{}}},"id":181011,"isConstant":false,"isLValue":false,"isPure":false,"kind":"typeConversion","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2372:42:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"2356:58:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"id":181013,"nodeType":"ExpressionStatement","src":"2356:58:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181014,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"2421:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181015,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2421:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181016,"nodeType":"ExpressionStatement","src":"2421:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181017,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"2441:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181018,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2441:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181019,"nodeType":"ExpressionStatement","src":"2441:12:329"},{"expression":{"arguments":[{"id":181023,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2476:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181024,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"2487:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181025,"name":"attackerHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180967,"src":"2497:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_int32","typeString":"int32"}],"expression":{"id":181020,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"2459:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181022,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2466:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"2459:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181026,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2459:53:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181027,"nodeType":"ExpressionStatement","src":"2459:53:329"},{"expression":{"arguments":[{"id":181031,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2535:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181032,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"2546:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181033,"name":"defenderHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180969,"src":"2556:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_int32","typeString":"int32"}],"expression":{"id":181028,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"2518:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181030,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2525:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"2518:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181034,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2518:53:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181035,"nodeType":"ExpressionStatement","src":"2518:53:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181036,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"2577:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181038,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2580:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"2577:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181039,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2577:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181040,"nodeType":"ExpressionStatement","src":"2577:14:329"},{"expression":{"arguments":[{"hexValue":"41747461636b20756e6974","id":181042,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2613:13:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_1b31668b22923e75d3cf23df7a88c22c0f8a2d91ebeae1c644429b70dbc9f131","typeString":"literal_string \"Attack unit\""},"value":"Attack unit"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1b31668b22923e75d3cf23df7a88c22c0f8a2d91ebeae1c644429b70dbc9f131","typeString":"literal_string \"Attack unit\""}],"id":181041,"name":"startGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6049,"src":"2598:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":181043,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2598:29:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181044,"nodeType":"ExpressionStatement","src":"2598:29:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181045,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"2633:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181046,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2633:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181047,"nodeType":"ExpressionStatement","src":"2633:11:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181048,"name":"endGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"2650:12:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181049,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2650:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181050,"nodeType":"ExpressionStatement","src":"2650:14:329"},{"assignments":[181052],"declarations":[{"constant":false,"id":181052,"mutability":"mutable","name":"attackerDamage","nameLocation":"2677:14:329","nodeType":"VariableDeclaration","scope":181093,"src":"2671:20:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181051,"name":"int32","nodeType":"ElementaryTypeName","src":"2671:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181059,"initialValue":{"arguments":[{"id":181055,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2728:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181056,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"2739:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181057,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"2749:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181053,"name":"LibCombat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174073,"src":"2694:9:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibCombat_$174073_$","typeString":"type(library LibCombat)"}},"id":181054,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2704:23:329","memberName":"calculateDamageAttacker","nodeType":"MemberAccess","referencedDeclaration":173805,"src":"2694:33:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32,bytes32) view returns (int32)"}},"id":181058,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2694:64:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"2671:87:329"},{"assignments":[181061],"declarations":[{"constant":false,"id":181061,"mutability":"mutable","name":"defenderDamage","nameLocation":"2770:14:329","nodeType":"VariableDeclaration","scope":181093,"src":"2764:20:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181060,"name":"int32","nodeType":"ElementaryTypeName","src":"2764:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181068,"initialValue":{"arguments":[{"id":181064,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2821:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181065,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"2832:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181066,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"2842:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181062,"name":"LibCombat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174073,"src":"2787:9:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibCombat_$174073_$","typeString":"type(library LibCombat)"}},"id":181063,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2797:23:329","memberName":"calculateDamageDefender","nodeType":"MemberAccess","referencedDeclaration":173894,"src":"2787:33:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32,bytes32) view returns (int32)"}},"id":181067,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2787:64:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"2764:87:329"},{"expression":{"arguments":[{"arguments":[{"id":181072,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2884:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181073,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"2895:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181070,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"2867:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181071,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2874:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"2867:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181074,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2867:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181077,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181075,"name":"attackerHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180967,"src":"2906:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":181076,"name":"defenderDamage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181061,"src":"2923:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"2906:31:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e65787065637465642061747461636b6572204850","id":181078,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"2939:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_318d3d3e04405970cb8c4158b86149879e76b1eb713fa4d147ef4671d71d3529","typeString":"literal_string \"unexpected attacker HP\""},"value":"unexpected attacker HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_318d3d3e04405970cb8c4158b86149879e76b1eb713fa4d147ef4671d71d3529","typeString":"literal_string \"unexpected attacker HP\""}],"id":181069,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"2858:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181079,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2858:106:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181080,"nodeType":"ExpressionStatement","src":"2858:106:329"},{"expression":{"arguments":[{"arguments":[{"id":181084,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"2996:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181085,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3007:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181082,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"2979:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181083,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"2986:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"2979:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181086,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2979:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181089,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181087,"name":"defenderHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180969,"src":"3018:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"id":181088,"name":"attackerDamage","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181052,"src":"3035:14:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"3018:31:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e657870656374656420646566656e646572204850","id":181090,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3051:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""},"value":"unexpected defender HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""}],"id":181081,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"2970:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181091,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"2970:106:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181092,"nodeType":"ExpressionStatement","src":"2970:106:329"}]},"functionSelector":"844d3e8a","implemented":true,"kind":"function","modifiers":[],"name":"testCombat","nameLocation":"2102:10:329","parameters":{"id":180974,"nodeType":"ParameterList","parameters":[{"constant":false,"id":180967,"mutability":"mutable","name":"attackerHealth","nameLocation":"2119:14:329","nodeType":"VariableDeclaration","scope":181094,"src":"2113:20:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":180966,"name":"int32","nodeType":"ElementaryTypeName","src":"2113:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":180969,"mutability":"mutable","name":"defenderHealth","nameLocation":"2141:14:329","nodeType":"VariableDeclaration","scope":181094,"src":"2135:20:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":180968,"name":"int32","nodeType":"ElementaryTypeName","src":"2135:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":180971,"mutability":"mutable","name":"attackerArmor","nameLocation":"2163:13:329","nodeType":"VariableDeclaration","scope":181094,"src":"2157:19:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":180970,"name":"int32","nodeType":"ElementaryTypeName","src":"2157:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"},{"constant":false,"id":180973,"mutability":"mutable","name":"defenderArmor","nameLocation":"2184:13:329","nodeType":"VariableDeclaration","scope":181094,"src":"2178:19:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":180972,"name":"int32","nodeType":"ElementaryTypeName","src":"2178:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"src":"2112:86:329"},"returnParameters":{"id":180975,"nodeType":"ParameterList","parameters":[],"src":"2206:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181147,"nodeType":"FunctionDefinition","src":"3085:387:329","nodes":[],"body":{"id":181146,"nodeType":"Block","src":"3115:357:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181097,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"3121:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181098,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3121:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181099,"nodeType":"ExpressionStatement","src":"3121:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181100,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"3141:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181101,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3141:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181102,"nodeType":"ExpressionStatement","src":"3141:12:329"},{"expression":{"arguments":[{"id":181106,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3176:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181107,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3187:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"31","id":181108,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3197:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":181103,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"3159:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181105,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3166:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"3159:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181109,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3159:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181110,"nodeType":"ExpressionStatement","src":"3159:40:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181111,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3205:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181113,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3208:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"3205:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181114,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3205:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181115,"nodeType":"ExpressionStatement","src":"3205:14:329"},{"expression":{"arguments":[{"hexValue":"41747461636b20756e697420616e64206b696c6c696e67","id":181117,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3241:25:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_43675ee51c9821b28a2528ef70ce05fb4da7f5c31a5afb94ea133f3e07affc9b","typeString":"literal_string \"Attack unit and killing\""},"value":"Attack unit and killing"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_43675ee51c9821b28a2528ef70ce05fb4da7f5c31a5afb94ea133f3e07affc9b","typeString":"literal_string \"Attack unit and killing\""}],"id":181116,"name":"startGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6049,"src":"3226:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":181118,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3226:41:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181119,"nodeType":"ExpressionStatement","src":"3226:41:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181120,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"3273:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181121,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3273:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181122,"nodeType":"ExpressionStatement","src":"3273:11:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181123,"name":"endGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"3290:12:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181124,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3290:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181125,"nodeType":"ExpressionStatement","src":"3290:14:329"},{"expression":{"arguments":[{"arguments":[{"id":181129,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3337:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181130,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3348:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181127,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"3320:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181128,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3327:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"3320:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181131,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3320:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"30","id":181132,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3359:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"756e657870656374656420646566656e646572204850","id":181133,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3362:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""},"value":"unexpected defender HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""}],"id":181126,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"3311:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181134,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3311:76:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181135,"nodeType":"ExpressionStatement","src":"3311:76:329"},{"expression":{"arguments":[{"arguments":[{"id":181139,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3414:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181140,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3425:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181137,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"3402:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":181138,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3410:3:329","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"3402:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":181141,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3402:32:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":181142,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3436:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"756e657870656374656420646566656e646572206f776e6572","id":181143,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3439:27:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_aef50ffca1adb175067b5eac0ebb0c7527846266582a51c3ea3b5b4005e47109","typeString":"literal_string \"unexpected defender owner\""},"value":"unexpected defender owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_aef50ffca1adb175067b5eac0ebb0c7527846266582a51c3ea3b5b4005e47109","typeString":"literal_string \"unexpected defender owner\""}],"id":181136,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59810,"src":"3393:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":181144,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3393:74:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181145,"nodeType":"ExpressionStatement","src":"3393:74:329"}]},"functionSelector":"326ff597","implemented":true,"kind":"function","modifiers":[],"name":"testKilling","nameLocation":"3094:11:329","parameters":{"id":181095,"nodeType":"ParameterList","parameters":[],"src":"3105:2:329"},"returnParameters":{"id":181096,"nodeType":"ParameterList","parameters":[],"src":"3115:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181208,"nodeType":"FunctionDefinition","src":"3476:505:329","nodes":[],"body":{"id":181207,"nodeType":"Block","src":"3508:473:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181150,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"3514:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181151,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3514:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181152,"nodeType":"ExpressionStatement","src":"3514:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181153,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"3534:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181154,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3534:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181155,"nodeType":"ExpressionStatement","src":"3534:12:329"},{"expression":{"arguments":[{"id":181159,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3569:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181160,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3580:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"315f303030","id":181161,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3590:5:329","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":181156,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"3552:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181158,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3559:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"3552:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181162,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3552:44:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181163,"nodeType":"ExpressionStatement","src":"3552:44:329"},{"expression":{"arguments":[{"id":181167,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3617:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181168,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3628:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":181169,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"3638:4:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":181164,"name":"Capturable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91476,"src":"3602:10:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Capturable_$91476_$","typeString":"type(library Capturable)"}},"id":181166,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3613:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":91265,"src":"3602:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bytes32,bool)"}},"id":181170,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3602:41:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181171,"nodeType":"ExpressionStatement","src":"3602:41:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181172,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"3649:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181174,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3652:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"3649:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181175,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3649:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181176,"nodeType":"ExpressionStatement","src":"3649:14:329"},{"expression":{"arguments":[{"hexValue":"41747461636b20756e697420616e6420636170747572696e67","id":181178,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3685:27:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_35e90436cab31c7ec01db8d5eb60d51c190890b35642db1616a21a00efed2344","typeString":"literal_string \"Attack unit and capturing\""},"value":"Attack unit and capturing"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_35e90436cab31c7ec01db8d5eb60d51c190890b35642db1616a21a00efed2344","typeString":"literal_string \"Attack unit and capturing\""}],"id":181177,"name":"startGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6049,"src":"3670:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":181179,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3670:43:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181180,"nodeType":"ExpressionStatement","src":"3670:43:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181181,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"3719:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181182,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3719:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181183,"nodeType":"ExpressionStatement","src":"3719:11:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181184,"name":"endGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"3736:12:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181185,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3736:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181186,"nodeType":"ExpressionStatement","src":"3736:14:329"},{"expression":{"arguments":[{"arguments":[{"id":181190,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3810:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181191,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3821:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181188,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"3793:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181189,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3800:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"3793:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181192,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3793:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"3130305f303030","id":181193,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"3832:7:329","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100_000"},{"hexValue":"756e657870656374656420646566656e646572204850","id":181194,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3841:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""},"value":"unexpected defender HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""}],"id":181187,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"3784:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181195,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3784:82:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181196,"nodeType":"ExpressionStatement","src":"3784:82:329"},{"expression":{"arguments":[{"arguments":[{"id":181200,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"3918:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181201,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"3929:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181198,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"3906:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":181199,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"3914:3:329","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"3906:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":181202,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3906:32:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181203,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"3940:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"756e657870656374656420646566656e646572206f776e6572","id":181204,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"3948:27:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_aef50ffca1adb175067b5eac0ebb0c7527846266582a51c3ea3b5b4005e47109","typeString":"literal_string \"unexpected defender owner\""},"value":"unexpected defender owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_aef50ffca1adb175067b5eac0ebb0c7527846266582a51c3ea3b5b4005e47109","typeString":"literal_string \"unexpected defender owner\""}],"id":181197,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59810,"src":"3897:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":181205,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"3897:79:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181206,"nodeType":"ExpressionStatement","src":"3897:79:329"}]},"functionSelector":"e0e809c8","implemented":true,"kind":"function","modifiers":[],"name":"testCapturing","nameLocation":"3485:13:329","parameters":{"id":181148,"nodeType":"ParameterList","parameters":[],"src":"3498:2:329"},"returnParameters":{"id":181149,"nodeType":"ParameterList","parameters":[],"src":"3508:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181257,"nodeType":"FunctionDefinition","src":"3985:340:329","nodes":[],"body":{"id":181256,"nodeType":"Block","src":"4024:301:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181211,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"4030:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181212,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4030:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181213,"nodeType":"ExpressionStatement","src":"4030:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181214,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"4050:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181215,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4050:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181216,"nodeType":"ExpressionStatement","src":"4050:12:329"},{"expression":{"arguments":[{"id":181220,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4086:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181221,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4097:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"315f303030","id":181222,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4107:5:329","typeDescriptions":{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"},"value":"1_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_1000_by_1","typeString":"int_const 1000"}],"expression":{"id":181217,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"4069:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181219,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4076:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"4069:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181223,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4069:44:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181224,"nodeType":"ExpressionStatement","src":"4069:44:329"},{"expression":{"arguments":[{"id":181228,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4134:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181229,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4145:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":181230,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4155:4:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":181225,"name":"Capturable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91476,"src":"4119:10:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Capturable_$91476_$","typeString":"type(library Capturable)"}},"id":181227,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4130:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":91265,"src":"4119:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bytes32,bool)"}},"id":181231,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4119:41:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181232,"nodeType":"ExpressionStatement","src":"4119:41:329"},{"expression":{"arguments":[{"id":181236,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4178:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181237,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4189:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"353030","id":181238,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4199:3:329","typeDescriptions":{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"},"value":"500"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_500_by_1","typeString":"int_const 500"}],"expression":{"id":181233,"name":"Charger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94760,"src":"4166:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Charger_$94760_$","typeString":"type(library Charger)"}},"id":181235,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4174:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":94549,"src":"4166:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181239,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4166:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181240,"nodeType":"ExpressionStatement","src":"4166:37:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181241,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"4209:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181243,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4212:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"4209:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181244,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4209:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181245,"nodeType":"ExpressionStatement","src":"4209:14:329"},{"expression":{"arguments":[{"hexValue":"41747461636b20756e697420616e6420636170747572696e6720612063686172676572","id":181247,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4245:37:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_9bf5cf86adc64a99a3a9de37eba7fe2ab81a271a37809e16b5154d83b50afcf6","typeString":"literal_string \"Attack unit and capturing a charger\""},"value":"Attack unit and capturing a charger"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_9bf5cf86adc64a99a3a9de37eba7fe2ab81a271a37809e16b5154d83b50afcf6","typeString":"literal_string \"Attack unit and capturing a charger\""}],"id":181246,"name":"startGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6049,"src":"4230:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_string_memory_ptr_$returns$__$","typeString":"function (string memory)"}},"id":181248,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4230:53:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181249,"nodeType":"ExpressionStatement","src":"4230:53:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181250,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"4289:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181251,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4289:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181252,"nodeType":"ExpressionStatement","src":"4289:11:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181253,"name":"endGasReport","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":6103,"src":"4306:12:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181254,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4306:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181255,"nodeType":"ExpressionStatement","src":"4306:14:329"}]},"functionSelector":"279de9fd","implemented":true,"kind":"function","modifiers":[],"name":"testCapturingCharger","nameLocation":"3994:20:329","parameters":{"id":181209,"nodeType":"ParameterList","parameters":[],"src":"4014:2:329"},"returnParameters":{"id":181210,"nodeType":"ParameterList","parameters":[],"src":"4024:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181371,"nodeType":"FunctionDefinition","src":"4329:897:329","nodes":[],"body":{"id":181370,"nodeType":"Block","src":"4370:856:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181260,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"4376:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181261,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4376:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181262,"nodeType":"ExpressionStatement","src":"4376:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181263,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"4396:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181264,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4396:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181265,"nodeType":"ExpressionStatement","src":"4396:12:329"},{"expression":{"arguments":[{"id":181269,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4433:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181270,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"4444:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3130305f303030","id":181271,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4454:7:329","typeDescriptions":{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"},"value":"100_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_100000_by_1","typeString":"int_const 100000"}],"expression":{"id":181266,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"4414:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181268,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4421:11:329","memberName":"setStrength","nodeType":"MemberAccess","referencedDeclaration":97322,"src":"4414:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181272,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4414:48:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181273,"nodeType":"ExpressionStatement","src":"4414:48:329"},{"expression":{"arguments":[{"id":181277,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4486:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181278,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4497:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3136305f303030","id":181279,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4507:7:329","typeDescriptions":{"typeIdentifier":"t_rational_160000_by_1","typeString":"int_const 160000"},"value":"160_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_160000_by_1","typeString":"int_const 160000"}],"expression":{"id":181274,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"4469:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181276,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4476:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"4469:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181280,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4469:46:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181281,"nodeType":"ExpressionStatement","src":"4469:46:329"},{"expression":{"arguments":[{"id":181285,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4536:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181286,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4547:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":181287,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"4557:4:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":181282,"name":"Capturable","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":91476,"src":"4521:10:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Capturable_$91476_$","typeString":"type(library Capturable)"}},"id":181284,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4532:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":91265,"src":"4521:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bytes32,bool)"}},"id":181288,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4521:41:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181289,"nodeType":"ExpressionStatement","src":"4521:41:329"},{"expression":{"arguments":[{"id":181293,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4586:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181294,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4597:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":181295,"name":"StructureTypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87321,"src":"4607:14:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_StructureTypes_$87321_$","typeString":"type(enum StructureTypes)"}},"id":181296,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"4622:10:329","memberName":"Settlement","nodeType":"MemberAccess","referencedDeclaration":87316,"src":"4607:25:329","typeDescriptions":{"typeIdentifier":"t_enum$_StructureTypes_$87321","typeString":"enum StructureTypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_StructureTypes_$87321","typeString":"enum StructureTypes"}],"expression":{"id":181290,"name":"StructureType","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":157821,"src":"4568:13:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_StructureType_$157821_$","typeString":"type(library StructureType)"}},"id":181292,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4582:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":157605,"src":"4568:17:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_StructureTypes_$87321_$returns$__$","typeString":"function (bytes32,bytes32,enum StructureTypes)"}},"id":181297,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4568:65:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181298,"nodeType":"ExpressionStatement","src":"4568:65:329"},{"expression":{"arguments":[{"id":181302,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4665:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181303,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4676:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":181304,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4686:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"expression":{"id":181299,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"4639:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181301,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4646:18:329","memberName":"setCounterStrength","nodeType":"MemberAccess","referencedDeclaration":97530,"src":"4639:25:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181305,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4639:49:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181306,"nodeType":"ExpressionStatement","src":"4639:49:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181307,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"4694:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181309,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4697:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"4694:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181310,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4694:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181311,"nodeType":"ExpressionStatement","src":"4694:14:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181312,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"4715:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181313,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4715:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181314,"nodeType":"ExpressionStatement","src":"4715:11:329"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":181321,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":181318,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4741:5:329","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":181319,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4747:9:329","memberName":"timestamp","nodeType":"MemberAccess","src":"4741:15:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":181320,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4759:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"4741:21:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":181315,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"4733:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181317,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4736:4:329","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":69554,"src":"4733:7:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":181322,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4733:30:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181323,"nodeType":"ExpressionStatement","src":"4733:30:329"},{"expression":{"arguments":[{"arguments":[{"id":181327,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"4854:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181328,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"4865:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181325,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"4837:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181326,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4844:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"4837:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181329,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4837:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"36305f303030","id":181330,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4876:6:329","typeDescriptions":{"typeIdentifier":"t_rational_60000_by_1","typeString":"int_const 60000"},"value":"60_000"},{"hexValue":"756e657870656374656420646566656e646572204850","id":181331,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"4884:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""},"value":"unexpected defender HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_rational_60000_by_1","typeString":"int_const 60000"},{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""}],"id":181324,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"4828:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181332,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4828:81:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181333,"nodeType":"ExpressionStatement","src":"4828:81:329"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":181340,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":181337,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"4924:5:329","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":181338,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4930:9:329","memberName":"timestamp","nodeType":"MemberAccess","src":"4924:15:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":181339,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"4942:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"4924:21:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":181334,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"4916:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181336,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"4919:4:329","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":69554,"src":"4916:7:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":181341,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4916:30:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181342,"nodeType":"ExpressionStatement","src":"4916:30:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181343,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"4952:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181344,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"4952:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181345,"nodeType":"ExpressionStatement","src":"4952:11:329"},{"expression":{"arguments":[{"arguments":[{"id":181349,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5042:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181350,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"5053:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181347,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"5030:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":181348,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5038:3:329","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"5030:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":181351,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5030:32:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181352,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"5064:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"756e657870656374656420646566656e646572206f776e6572","id":181353,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5072:27:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_aef50ffca1adb175067b5eac0ebb0c7527846266582a51c3ea3b5b4005e47109","typeString":"literal_string \"unexpected defender owner\""},"value":"unexpected defender owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_aef50ffca1adb175067b5eac0ebb0c7527846266582a51c3ea3b5b4005e47109","typeString":"literal_string \"unexpected defender owner\""}],"id":181346,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59810,"src":"5021:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":181354,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5021:79:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181355,"nodeType":"ExpressionStatement","src":"5021:79:329"},{"expression":{"arguments":[{"arguments":[{"id":181359,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5132:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181360,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"5143:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181357,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"5115:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181358,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5122:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"5115:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181361,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5115:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"arguments":[{"id":181364,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5174:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181365,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"5185:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181362,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"5154:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181363,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5161:12:329","memberName":"getMaxHealth","nodeType":"MemberAccess","referencedDeclaration":97010,"src":"5154:19:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181366,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5154:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e657870656374656420646566656e646572204850","id":181367,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5196:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""},"value":"unexpected defender HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""}],"id":181356,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"5106:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181368,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5106:115:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181369,"nodeType":"ExpressionStatement","src":"5106:115:329"}]},"functionSelector":"ea3f81af","implemented":true,"kind":"function","modifiers":[],"name":"testCapturingStructure","nameLocation":"4338:22:329","parameters":{"id":181258,"nodeType":"ParameterList","parameters":[],"src":"4360:2:329"},"returnParameters":{"id":181259,"nodeType":"ParameterList","parameters":[],"src":"4370:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181403,"nodeType":"FunctionDefinition","src":"5230:228:329","nodes":[],"body":{"id":181402,"nodeType":"Block","src":"5282:176:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181374,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"5288:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181375,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5288:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181376,"nodeType":"ExpressionStatement","src":"5288:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181377,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"5308:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181378,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5308:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181379,"nodeType":"ExpressionStatement","src":"5308:12:329"},{"expression":{"arguments":[{"id":181383,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5338:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181384,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"5349:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181385,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"5359:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181380,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"5326:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":181382,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5334:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":146097,"src":"5326:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32)"}},"id":181386,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5326:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181387,"nodeType":"ExpressionStatement","src":"5326:40:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181388,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"5372:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181390,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5375:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"5372:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181391,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5372:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181392,"nodeType":"ExpressionStatement","src":"5372:14:329"},{"expression":{"arguments":[{"hexValue":"63616e6e6f742061747461636b206f776e20656e74697479","id":181396,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5409:26:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_b13ce70369f6e7e233282ef0033e5cc432ae53e212cabd24fb9434b5052d689e","typeString":"literal_string \"cannot attack own entity\""},"value":"cannot attack own entity"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_b13ce70369f6e7e233282ef0033e5cc432ae53e212cabd24fb9434b5052d689e","typeString":"literal_string \"cannot attack own entity\""}],"expression":{"id":181393,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"5393:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181395,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5396:12:329","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"5393:15:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":181397,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5393:43:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181398,"nodeType":"ExpressionStatement","src":"5393:43:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181399,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"5442:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181400,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5442:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181401,"nodeType":"ExpressionStatement","src":"5442:11:329"}]},"functionSelector":"6a65c69d","implemented":true,"kind":"function","modifiers":[],"name":"testCannotAttackUnitWithSameOwner","nameLocation":"5239:33:329","parameters":{"id":181372,"nodeType":"ParameterList","parameters":[],"src":"5272:2:329"},"returnParameters":{"id":181373,"nodeType":"ParameterList","parameters":[],"src":"5282:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181457,"nodeType":"FunctionDefinition","src":"5462:382:329","nodes":[],"body":{"id":181456,"nodeType":"Block","src":"5495:349:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181406,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"5501:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181407,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5501:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181408,"nodeType":"ExpressionStatement","src":"5501:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181409,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"5521:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181410,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5521:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181411,"nodeType":"ExpressionStatement","src":"5521:12:329"},{"expression":{"arguments":[{"id":181415,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5554:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181416,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"5565:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"313030","id":181417,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5575:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":181412,"name":"GoldOnKill","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109628,"src":"5539:10:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GoldOnKill_$109628_$","typeString":"type(library GoldOnKill)"}},"id":181414,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5550:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":109417,"src":"5539:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181418,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5539:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181419,"nodeType":"ExpressionStatement","src":"5539:40:329"},{"expression":{"arguments":[{"id":181423,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5602:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181424,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"5613:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"31","id":181425,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5623:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":181420,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"5585:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181422,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5592:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"5585:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181426,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5585:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181427,"nodeType":"ExpressionStatement","src":"5585:40:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181428,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"5631:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181430,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5634:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"5631:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181431,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5631:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181432,"nodeType":"ExpressionStatement","src":"5631:14:329"},{"assignments":[181434],"declarations":[{"constant":false,"id":181434,"mutability":"mutable","name":"originalGold","nameLocation":"5658:12:329","nodeType":"VariableDeclaration","scope":181456,"src":"5652:18:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181433,"name":"int32","nodeType":"ElementaryTypeName","src":"5652:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181440,"initialValue":{"arguments":[{"id":181437,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5692:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181438,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"5703:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181435,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"5673:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181436,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5681:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"5673:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181439,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5673:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"5652:58:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181441,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"5716:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181442,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5716:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181443,"nodeType":"ExpressionStatement","src":"5716:11:329"},{"expression":{"arguments":[{"arguments":[{"id":181447,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5762:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181448,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"5773:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181445,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"5743:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181446,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5751:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"5743:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181449,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5743:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181452,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181450,"name":"originalGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181434,"src":"5782:12:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":181451,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5797:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"5782:18:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"61747461636b696e6720706c6179657220646964206e6f74206761696e20676f6c64","id":181453,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"5802:36:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_45c67b07b9dbaae32cdb57dade8ac11e440a7557959dc5b2b7bdba651b88dd1b","typeString":"literal_string \"attacking player did not gain gold\""},"value":"attacking player did not gain gold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_45c67b07b9dbaae32cdb57dade8ac11e440a7557959dc5b2b7bdba651b88dd1b","typeString":"literal_string \"attacking player did not gain gold\""}],"id":181444,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"5734:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181454,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5734:105:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181455,"nodeType":"ExpressionStatement","src":"5734:105:329"}]},"functionSelector":"8f5f540b","implemented":true,"kind":"function","modifiers":[],"name":"testGoldOnKill","nameLocation":"5471:14:329","parameters":{"id":181404,"nodeType":"ParameterList","parameters":[],"src":"5485:2:329"},"returnParameters":{"id":181405,"nodeType":"ParameterList","parameters":[],"src":"5495:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181567,"nodeType":"FunctionDefinition","src":"5848:888:329","nodes":[],"body":{"id":181566,"nodeType":"Block","src":"5903:833:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181460,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"5909:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181461,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5909:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181462,"nodeType":"ExpressionStatement","src":"5909:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181463,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"5929:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181464,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5929:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181465,"nodeType":"ExpressionStatement","src":"5929:12:329"},{"expression":{"arguments":[{"id":181469,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"5962:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181470,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"5973:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"313030","id":181471,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"5983:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":181466,"name":"GoldOnKill","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109628,"src":"5947:10:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GoldOnKill_$109628_$","typeString":"type(library GoldOnKill)"}},"id":181468,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"5958:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":109417,"src":"5947:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181472,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5947:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181473,"nodeType":"ExpressionStatement","src":"5947:40:329"},{"expression":{"arguments":[{"id":181477,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6010:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181478,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"6021:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"31","id":181479,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6031:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":181474,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"5993:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181476,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6000:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"5993:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181480,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"5993:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181481,"nodeType":"ExpressionStatement","src":"5993:40:329"},{"expression":{"arguments":[{"id":181485,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6054:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181486,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"6065:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"313030","id":181487,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6075:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"}],"expression":{"id":181482,"name":"GoldOnKill","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":109628,"src":"6039:10:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_GoldOnKill_$109628_$","typeString":"type(library GoldOnKill)"}},"id":181484,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6050:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":109417,"src":"6039:14:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181488,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6039:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181489,"nodeType":"ExpressionStatement","src":"6039:40:329"},{"expression":{"arguments":[{"id":181493,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6102:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181494,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"6113:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"31","id":181495,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6123:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"}],"expression":{"id":181490,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"6085:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181492,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6092:9:329","memberName":"setHealth","nodeType":"MemberAccess","referencedDeclaration":96906,"src":"6085:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181496,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6085:40:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181497,"nodeType":"ExpressionStatement","src":"6085:40:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181498,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"6131:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181500,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6134:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"6131:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181501,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6131:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181502,"nodeType":"ExpressionStatement","src":"6131:14:329"},{"assignments":[181504],"declarations":[{"constant":false,"id":181504,"mutability":"mutable","name":"originalGold","nameLocation":"6158:12:329","nodeType":"VariableDeclaration","scope":181566,"src":"6152:18:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181503,"name":"int32","nodeType":"ElementaryTypeName","src":"6152:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181510,"initialValue":{"arguments":[{"id":181507,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6192:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181508,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"6203:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181505,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"6173:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181506,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6181:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"6173:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181509,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6173:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"6152:58:329"},{"assignments":[181512],"declarations":[{"constant":false,"id":181512,"mutability":"mutable","name":"originalDefenderGold","nameLocation":"6222:20:329","nodeType":"VariableDeclaration","scope":181566,"src":"6216:26:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181511,"name":"int32","nodeType":"ElementaryTypeName","src":"6216:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181518,"initialValue":{"arguments":[{"id":181515,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6264:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181516,"name":"defenderPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180839,"src":"6275:14:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181513,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"6245:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181514,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6253:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"6245:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181517,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6245:45:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"6216:74:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181519,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"6296:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181520,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6296:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181521,"nodeType":"ExpressionStatement","src":"6296:11:329"},{"expression":{"arguments":[{"arguments":[{"id":181525,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6340:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181526,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"6351:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181523,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"6323:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181524,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6330:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"6323:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181527,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6323:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"30","id":181528,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6362:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"61747461636b657220646964206e6f7420646965","id":181529,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6365:22:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_4deaffa38f7913a93001e0863def844c625fd5069a5c93529c190bf21b04ffdf","typeString":"literal_string \"attacker did not die\""},"value":"attacker did not die"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_4deaffa38f7913a93001e0863def844c625fd5069a5c93529c190bf21b04ffdf","typeString":"literal_string \"attacker did not die\""}],"id":181522,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"6314:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181530,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6314:74:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181531,"nodeType":"ExpressionStatement","src":"6314:74:329"},{"expression":{"arguments":[{"arguments":[{"id":181535,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6420:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181536,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"6431:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181533,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"6403:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181534,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6410:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"6403:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181537,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6403:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"30","id":181538,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6442:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"646566656e64657220646964206e6f7420646965","id":181539,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6445:22:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_d99b4cb9b8620fa596c1f3baa68a4cc353522b3a24358fcf204fc5606229f68b","typeString":"literal_string \"defender did not die\""},"value":"defender did not die"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_stringliteral_d99b4cb9b8620fa596c1f3baa68a4cc353522b3a24358fcf204fc5606229f68b","typeString":"literal_string \"defender did not die\""}],"id":181532,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"6394:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181540,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6394:74:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181541,"nodeType":"ExpressionStatement","src":"6394:74:329"},{"expression":{"arguments":[{"arguments":[{"id":181545,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6503:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181546,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"6514:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181543,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"6484:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181544,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6492:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"6484:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181547,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6484:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181550,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181548,"name":"originalGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181504,"src":"6523:12:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":181549,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6538:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"6523:18:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"61747461636b696e6720706c6179657220646964206e6f74206761696e20676f6c64","id":181551,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6543:36:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_45c67b07b9dbaae32cdb57dade8ac11e440a7557959dc5b2b7bdba651b88dd1b","typeString":"literal_string \"attacking player did not gain gold\""},"value":"attacking player did not gain gold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_45c67b07b9dbaae32cdb57dade8ac11e440a7557959dc5b2b7bdba651b88dd1b","typeString":"literal_string \"attacking player did not gain gold\""}],"id":181542,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"6475:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181552,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6475:105:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181553,"nodeType":"ExpressionStatement","src":"6475:105:329"},{"expression":{"arguments":[{"arguments":[{"id":181557,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6621:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181558,"name":"defenderPlayer","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180839,"src":"6632:14:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181555,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"6602:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181556,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6610:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"6602:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181559,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6602:45:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181562,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181560,"name":"originalDefenderGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181512,"src":"6655:20:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"hexValue":"313030","id":181561,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6678:3:329","typeDescriptions":{"typeIdentifier":"t_rational_100_by_1","typeString":"int_const 100"},"value":"100"},"src":"6655:26:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"646566656e64696e6720706c6179657220646964206e6f74206761696e20676f6c64","id":181563,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6689:36:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_3915bac3e0c2492bcf3dff3ad6e6ca1fcc3431137b4679fe501ae7c3db4f87e3","typeString":"literal_string \"defending player did not gain gold\""},"value":"defending player did not gain gold"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_3915bac3e0c2492bcf3dff3ad6e6ca1fcc3431137b4679fe501ae7c3db4f87e3","typeString":"literal_string \"defending player did not gain gold\""}],"id":181554,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"6586:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181564,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6586:145:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181565,"nodeType":"ExpressionStatement","src":"6586:145:329"}]},"functionSelector":"baf33068","implemented":true,"kind":"function","modifiers":[],"name":"testGoldOnKillWhenUnitsKillEachOther","nameLocation":"5857:36:329","parameters":{"id":181458,"nodeType":"ParameterList","parameters":[],"src":"5893:2:329"},"returnParameters":{"id":181459,"nodeType":"ParameterList","parameters":[],"src":"5903:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181698,"nodeType":"FunctionDefinition","src":"6740:1041:329","nodes":[],"body":{"id":181697,"nodeType":"Block","src":"6772:1009:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181570,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"6778:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181571,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6778:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181572,"nodeType":"ExpressionStatement","src":"6778:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181573,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"6798:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181574,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6798:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181575,"nodeType":"ExpressionStatement","src":"6798:12:329"},{"assignments":[181577],"declarations":[{"constant":false,"id":181577,"mutability":"mutable","name":"goldMine","nameLocation":"6852:8:329","nodeType":"VariableDeclaration","scope":181697,"src":"6844:16:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"},"typeName":{"id":181576,"name":"bytes32","nodeType":"ElementaryTypeName","src":"6844:7:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"visibility":"internal"}],"id":181587,"initialValue":{"arguments":[{"id":181579,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6879:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"476f6c644d696e65","id":181580,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"6890:10:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_eef712dfa6a2bfb773ea2481b05e421703f4e3945b49683b772161c8e091dfc6","typeString":"literal_string \"GoldMine\""},"value":"GoldMine"},{"hexValue":"30","id":181581,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6902:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"hexValue":"31","id":181583,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6923:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"30","id":181584,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"6929:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":181582,"name":"PositionData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":147750,"src":"6905:12:329","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_PositionData_$147750_storage_ptr_$","typeString":"type(struct PositionData storage pointer)"}},"id":181585,"isConstant":false,"isLValue":false,"isPure":true,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["6920:1:329","6926:1:329"],"names":["x","y"],"nodeType":"FunctionCall","src":"6905:28:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_eef712dfa6a2bfb773ea2481b05e421703f4e3945b49683b772161c8e091dfc6","typeString":"literal_string \"GoldMine\""},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_PositionData_$147750_memory_ptr","typeString":"struct PositionData memory"}],"id":181578,"name":"spawnTemplateAt","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":176615,"src":"6863:15:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$_t_struct$_PositionData_$147750_memory_ptr_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32,bytes32,struct PositionData memory) returns (bytes32)"}},"id":181586,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6863:71:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},"nodeType":"VariableDeclarationStatement","src":"6844:90:329"},{"expression":{"arguments":[{"id":181591,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"6992:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181592,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"7003:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3330305f303030","id":181593,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7013:7:329","typeDescriptions":{"typeIdentifier":"t_rational_300000_by_1","typeString":"int_const 300000"},"value":"300_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_300000_by_1","typeString":"int_const 300000"}],"expression":{"id":181588,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"6973:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181590,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"6980:11:329","memberName":"setStrength","nodeType":"MemberAccess","referencedDeclaration":97322,"src":"6973:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181594,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"6973:48:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181595,"nodeType":"ExpressionStatement","src":"6973:48:329"},{"expression":{"arguments":[{"id":181599,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7046:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181600,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"7057:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"3330305f303030","id":181601,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7067:7:329","typeDescriptions":{"typeIdentifier":"t_rational_300000_by_1","typeString":"int_const 300000"},"value":"300_000"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_300000_by_1","typeString":"int_const 300000"}],"expression":{"id":181596,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"7027:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181598,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7034:11:329","memberName":"setStrength","nodeType":"MemberAccess","referencedDeclaration":97322,"src":"7027:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_int32_$returns$__$","typeString":"function (bytes32,bytes32,int32)"}},"id":181602,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7027:48:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181603,"nodeType":"ExpressionStatement","src":"7027:48:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181604,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"7081:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181606,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7084:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"7081:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181607,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7081:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181608,"nodeType":"ExpressionStatement","src":"7081:14:329"},{"assignments":[181610],"declarations":[{"constant":false,"id":181610,"mutability":"mutable","name":"originalGold","nameLocation":"7108:12:329","nodeType":"VariableDeclaration","scope":181697,"src":"7102:18:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181609,"name":"int32","nodeType":"ElementaryTypeName","src":"7102:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181616,"initialValue":{"arguments":[{"id":181613,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7142:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181614,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"7153:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181611,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"7123:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181612,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7131:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"7123:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181615,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7123:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"7102:58:329"},{"expression":{"arguments":[{"id":181620,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"7181:5:329","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":181617,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"7167:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181619,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7170:10:329","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"7167:13:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":181621,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7167:20:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181622,"nodeType":"ExpressionStatement","src":"7167:20:329"},{"expression":{"arguments":[{"id":181626,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7205:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181627,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"7216:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181628,"name":"goldMine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181577,"src":"7226:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181623,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"7193:5:329","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":181625,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7199:5:329","memberName":"fight","nodeType":"MemberAccess","referencedDeclaration":171024,"src":"7193:11:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,bytes32) external"}},"id":181629,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7193:42:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181630,"nodeType":"ExpressionStatement","src":"7193:42:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181631,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"7241:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181633,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7244:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"7241:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181634,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7241:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181635,"nodeType":"ExpressionStatement","src":"7241:14:329"},{"expression":{"arguments":[{"arguments":[{"id":181639,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7312:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181640,"name":"goldMine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181577,"src":"7323:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181637,"name":"OwnedBy","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":146308,"src":"7300:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_OwnedBy_$146308_$","typeString":"type(library OwnedBy)"}},"id":181638,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7308:3:329","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":145903,"src":"7300:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_bytes32_$","typeString":"function (bytes32,bytes32) view returns (bytes32)"}},"id":181641,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7300:32:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181642,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"7334:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"756e6578706563746564206d696e65206f776e6572","id":181643,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7342:23:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_5d094b86a6fcc1cb25c09e22934d940d0f75355d5d2bf1f425f57501aa025c51","typeString":"literal_string \"unexpected mine owner\""},"value":"unexpected mine owner"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_stringliteral_5d094b86a6fcc1cb25c09e22934d940d0f75355d5d2bf1f425f57501aa025c51","typeString":"literal_string \"unexpected mine owner\""}],"id":181636,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59810,"src":"7291:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_string_memory_ptr_$returns$__$","typeString":"function (bytes32,bytes32,string memory)"}},"id":181644,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7291:75:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181645,"nodeType":"ExpressionStatement","src":"7291:75:329"},{"expression":{"arguments":[{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":181658,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"id":181649,"name":"block","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":-4,"src":"7406:5:329","typeDescriptions":{"typeIdentifier":"t_magic_block","typeString":"block"}},"id":181650,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7412:9:329","memberName":"timestamp","nodeType":"MemberAccess","src":"7406:15:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_uint256","typeString":"uint256"},"id":181657,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"expression":{"arguments":[{"id":181653,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7440:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181651,"name":"MatchConfig","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":125136,"src":"7424:11:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_MatchConfig_$125136_$","typeString":"type(library MatchConfig)"}},"id":181652,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7436:3:329","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":124549,"src":"7424:15:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$returns$_t_struct$_MatchConfigData_$123356_memory_ptr_$","typeString":"function (bytes32) view returns (struct MatchConfigData memory)"}},"id":181654,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7424:26:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_MatchConfigData_$123356_memory_ptr","typeString":"struct MatchConfigData memory"}},"id":181655,"isConstant":false,"isLValue":true,"isPure":false,"lValueRequested":false,"memberLocation":"7451:10:329","memberName":"turnLength","nodeType":"MemberAccess","referencedDeclaration":123349,"src":"7424:37:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":181656,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7464:1:329","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"7424:41:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},"src":"7406:59:329","typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"}],"expression":{"id":181646,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"7398:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181648,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7401:4:329","memberName":"warp","nodeType":"MemberAccess","referencedDeclaration":69554,"src":"7398:7:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_uint256_$returns$__$","typeString":"function (uint256) external"}},"id":181659,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7398:68:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181660,"nodeType":"ExpressionStatement","src":"7398:68:329"},{"expression":{"arguments":[{"arguments":[{"id":181664,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7498:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181665,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"7509:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181662,"name":"Chargers","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":96553,"src":"7482:8:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Chargers_$96553_$","typeString":"type(library Chargers)"}},"id":181663,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7491:6:329","memberName":"length","nodeType":"MemberAccess","referencedDeclaration":95455,"src":"7482:15:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_uint256_$","typeString":"function (bytes32,bytes32) view returns (uint256)"}},"id":181666,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7482:34:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_uint256","typeString":"uint256"}},{"hexValue":"31","id":181667,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7518:1:329","typeDescriptions":{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},"value":"1"},{"hexValue":"756e6578706563746564206368617267657220636f756e74","id":181668,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7521:26:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_457313fdcd4a262b85d7a2fd344367e3e3a6f0c8375c3c8c7dc6130bd4fc1afc","typeString":"literal_string \"unexpected charger count\""},"value":"unexpected charger count"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_uint256","typeString":"uint256"},{"typeIdentifier":"t_rational_1_by_1","typeString":"int_const 1"},{"typeIdentifier":"t_stringliteral_457313fdcd4a262b85d7a2fd344367e3e3a6f0c8375c3c8c7dc6130bd4fc1afc","typeString":"literal_string \"unexpected charger count\""}],"id":181661,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59949,"src":"7473:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_uint256_$_t_uint256_$_t_string_memory_ptr_$returns$__$","typeString":"function (uint256,uint256,string memory)"}},"id":181669,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7473:75:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181670,"nodeType":"ExpressionStatement","src":"7473:75:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181671,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"7590:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181672,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7590:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181673,"nodeType":"ExpressionStatement","src":"7590:12:329"},{"expression":{"arguments":[{"arguments":[{"id":181677,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7643:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181678,"name":"player","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180837,"src":"7654:6:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181675,"name":"LibGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174474,"src":"7624:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibGold_$174474_$","typeString":"type(library LibGold)"}},"id":181676,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7632:10:329","memberName":"getCurrent","nodeType":"MemberAccess","referencedDeclaration":174244,"src":"7624:18:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) returns (int32)"}},"id":181679,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7624:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181688,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181680,"name":"originalGold","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181610,"src":"7669:12:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"+","rightExpression":{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181687,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"arguments":[{"id":181683,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7696:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181684,"name":"goldMine","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181577,"src":"7707:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181681,"name":"Charger","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":94760,"src":"7684:7:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Charger_$94760_$","typeString":"type(library Charger)"}},"id":181682,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7692:3:329","memberName":"get","nodeType":"MemberAccess","referencedDeclaration":94349,"src":"7684:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181685,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7684:32:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"*","rightExpression":{"hexValue":"32","id":181686,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"7719:1:329","typeDescriptions":{"typeIdentifier":"t_rational_2_by_1","typeString":"int_const 2"},"value":"2"},"src":"7684:36:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"src":"7669:51:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e657870656374656420676f6c64206761696e","id":181689,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7728:22:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_61dc023bad4fedbb618571db0bb2b6768277fc4c2a88f668816dfcb115e6a2ae","typeString":"literal_string \"unexpected gold gain\""},"value":"unexpected gold gain"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_61dc023bad4fedbb618571db0bb2b6768277fc4c2a88f668816dfcb115e6a2ae","typeString":"literal_string \"unexpected gold gain\""}],"id":181674,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"7608:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181690,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7608:148:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181691,"nodeType":"ExpressionStatement","src":"7608:148:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181692,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"7762:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181694,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7765:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"7762:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181695,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7762:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181696,"nodeType":"ExpressionStatement","src":"7762:14:329"}]},"functionSelector":"538de742","implemented":true,"kind":"function","modifiers":[],"name":"testGoldMines","nameLocation":"6749:13:329","parameters":{"id":181568,"nodeType":"ParameterList","parameters":[],"src":"6762:2:329"},"returnParameters":{"id":181569,"nodeType":"ParameterList","parameters":[],"src":"6772:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181741,"nodeType":"FunctionDefinition","src":"7785:295:329","nodes":[],"body":{"id":181740,"nodeType":"Block","src":"7840:240:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181701,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"7846:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181702,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7846:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181703,"nodeType":"ExpressionStatement","src":"7846:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181704,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"7866:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181705,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7866:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181706,"nodeType":"ExpressionStatement","src":"7866:12:329"},{"expression":{"arguments":[{"id":181710,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"7902:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181711,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"7913:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"74727565","id":181712,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"7923:4:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"true"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bool","typeString":"bool"}],"expression":{"id":181707,"name":"RequiresSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":149590,"src":"7884:13:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_RequiresSetup_$149590_$","typeString":"type(library RequiresSetup)"}},"id":181709,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7898:3:329","memberName":"set","nodeType":"MemberAccess","referencedDeclaration":149379,"src":"7884:17:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_bool_$returns$__$","typeString":"function (bytes32,bytes32,bool)"}},"id":181713,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7884:44:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181714,"nodeType":"ExpressionStatement","src":"7884:44:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181715,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"7934:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181717,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7937:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"7934:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181718,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7934:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181719,"nodeType":"ExpressionStatement","src":"7934:14:329"},{"expression":{"arguments":[{"hexValue":"63616e6e6f74206d6f766520616e642061747461636b","id":181723,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"7971:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_1154b42ecf8a22e3d66be9ddc3dca87803861a9e48b4eb39fd2f1be6bfd9a4bc","typeString":"literal_string \"cannot move and attack\""},"value":"cannot move and attack"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_stringliteral_1154b42ecf8a22e3d66be9ddc3dca87803861a9e48b4eb39fd2f1be6bfd9a4bc","typeString":"literal_string \"cannot move and attack\""}],"expression":{"id":181720,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"7955:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181722,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"7958:12:329","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69636,"src":"7955:15:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes_memory_ptr_$returns$__$","typeString":"function (bytes memory) external"}},"id":181724,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"7955:41:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181725,"nodeType":"ExpressionStatement","src":"7955:41:329"},{"expression":{"arguments":[{"id":181729,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"8022:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181730,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"8033:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"arguments":[{"hexValue":"30","id":181735,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8062:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":181734,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"NewExpression","src":"8043:18:329","typeDescriptions":{"typeIdentifier":"t_function_objectcreation_pure$_t_uint256_$returns$_t_array$_t_struct$_PositionData_$147750_memory_ptr_$dyn_memory_ptr_$","typeString":"function (uint256) pure returns (struct PositionData memory[] memory)"},"typeName":{"baseType":{"id":181732,"nodeType":"UserDefinedTypeName","pathNode":{"id":181731,"name":"PositionData","nameLocations":["8047:12:329"],"nodeType":"IdentifierPath","referencedDeclaration":147750,"src":"8047:12:329"},"referencedDeclaration":147750,"src":"8047:12:329","typeDescriptions":{"typeIdentifier":"t_struct$_PositionData_$147750_storage_ptr","typeString":"struct PositionData"}},"id":181733,"nodeType":"ArrayTypeName","src":"8047:14:329","typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PositionData_$147750_storage_$dyn_storage_ptr","typeString":"struct PositionData[]"}}},"id":181736,"isConstant":false,"isLValue":false,"isPure":true,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8043:21:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_array$_t_struct$_PositionData_$147750_memory_ptr_$dyn_memory_ptr","typeString":"struct PositionData memory[] memory"}},{"id":181737,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"8066:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_array$_t_struct$_PositionData_$147750_memory_ptr_$dyn_memory_ptr","typeString":"struct PositionData memory[] memory"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181726,"name":"world","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186325,"src":"8002:5:329","typeDescriptions":{"typeIdentifier":"t_contract$_IWorld_$171183","typeString":"contract IWorld"}},"id":181728,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8008:13:329","memberName":"moveAndAttack","nodeType":"MemberAccess","referencedDeclaration":171037,"src":"8002:19:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_bytes32_$_t_bytes32_$_t_array$_t_struct$_PositionData_$147750_memory_ptr_$dyn_memory_ptr_$_t_bytes32_$returns$__$","typeString":"function (bytes32,bytes32,struct PositionData memory[] memory,bytes32) external"}},"id":181738,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8002:73:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181739,"nodeType":"ExpressionStatement","src":"8002:73:329"}]},"functionSelector":"8ce269ef","implemented":true,"kind":"function","modifiers":[],"name":"testRequiresSetupCannotMoveAndAttack","nameLocation":"7794:36:329","parameters":{"id":181699,"nodeType":"ParameterList","parameters":[],"src":"7830:2:329"},"returnParameters":{"id":181700,"nodeType":"ParameterList","parameters":[],"src":"7840:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181781,"nodeType":"FunctionDefinition","src":"8084:555:329","nodes":[],"body":{"id":181780,"nodeType":"Block","src":"8136:503:329","nodes":[],"statements":[{"expression":{"arguments":[{"id":181747,"name":"alice","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186330,"src":"8156:5:329","typeDescriptions":{"typeIdentifier":"t_address_payable","typeString":"address payable"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_address_payable","typeString":"address payable"}],"expression":{"id":181744,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"8142:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181746,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8145:10:329","memberName":"startPrank","nodeType":"MemberAccess","referencedDeclaration":69600,"src":"8142:13:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$_t_address_$returns$__$","typeString":"function (address) external"}},"id":181748,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8142:20:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181749,"nodeType":"ExpressionStatement","src":"8142:20:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181750,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"8168:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181752,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8171:12:329","memberName":"expectRevert","nodeType":"MemberAccess","referencedDeclaration":69644,"src":"8168:15:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181753,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8168:17:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181754,"nodeType":"ExpressionStatement","src":"8168:17:329"},{"expression":{"arguments":[{"hexValue":"30","id":181758,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8232:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"arguments":[{"id":181760,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"8279:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181761,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"8307:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"hexValue":"30","id":181762,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8349:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":181763,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8384:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":181764,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8411:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":181765,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8438:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"66616c7365","id":181766,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8457:5:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":181767,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8486:5:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":181768,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8515:5:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"66616c7365","id":181769,"isConstant":false,"isLValue":false,"isPure":true,"kind":"bool","lValueRequested":false,"nodeType":"Literal","src":"8548:5:329","typeDescriptions":{"typeIdentifier":"t_bool","typeString":"bool"},"value":"false"},{"hexValue":"30","id":181770,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8576:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"},{"hexValue":"30","id":181771,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8598:1:329","typeDescriptions":{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},"value":"0"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_bool","typeString":"bool"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"}],"id":181759,"name":"CombatOutcomeData","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":99024,"src":"8241:17:329","typeDescriptions":{"typeIdentifier":"t_type$_t_struct$_CombatOutcomeData_$99024_storage_ptr_$","typeString":"type(struct CombatOutcomeData storage pointer)"}},"id":181772,"isConstant":false,"isLValue":false,"isPure":false,"kind":"structConstructorCall","lValueRequested":false,"nameLocations":["8269:8:329","8297:8:329","8325:22:329","8360:22:329","8395:14:329","8422:14:329","8449:6:329","8472:12:329","8501:12:329","8530:16:329","8563:11:329","8587:9:329"],"names":["attacker","defender","attackerDamageReceived","defenderDamageReceived","attackerDamage","defenderDamage","ranged","attackerDied","defenderDied","defenderCaptured","blockNumber","timestamp"],"nodeType":"FunctionCall","src":"8241:367:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_struct$_CombatOutcomeData_$99024_memory_ptr","typeString":"struct CombatOutcomeData memory"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_rational_0_by_1","typeString":"int_const 0"},{"typeIdentifier":"t_struct$_CombatOutcomeData_$99024_memory_ptr","typeString":"struct CombatOutcomeData memory"}],"expression":{"id":181755,"name":"LibCombatOutcome","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":174100,"src":"8191:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_LibCombatOutcome_$174100_$","typeString":"type(library LibCombatOutcome)"}},"id":181757,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8208:16:329","memberName":"setCombatOutcome","nodeType":"MemberAccess","referencedDeclaration":174099,"src":"8191:33:329","typeDescriptions":{"typeIdentifier":"t_function_delegatecall_nonpayable$_t_bytes32_$_t_struct$_CombatOutcomeData_$99024_memory_ptr_$returns$__$","typeString":"function (bytes32,struct CombatOutcomeData memory)"}},"id":181773,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8191:423:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181774,"nodeType":"ExpressionStatement","src":"8191:423:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181775,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"8620:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181777,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8623:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"8620:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181778,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8620:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181779,"nodeType":"ExpressionStatement","src":"8620:14:329"}]},"functionSelector":"a0775414","implemented":true,"kind":"function","modifiers":[],"name":"testCombatOutcomeSystemIsInternal","nameLocation":"8093:33:329","parameters":{"id":181742,"nodeType":"ParameterList","parameters":[],"src":"8126:2:329"},"returnParameters":{"id":181743,"nodeType":"ParameterList","parameters":[],"src":"8136:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"},{"id":181878,"nodeType":"FunctionDefinition","src":"8643:864:329","nodes":[],"body":{"id":181877,"nodeType":"Block","src":"8683:824:329","nodes":[],"statements":[{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181784,"name":"combatSetup","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180950,"src":"8689:11:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181785,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8689:13:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181786,"nodeType":"ExpressionStatement","src":"8689:13:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181787,"name":"prankAdmin","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186506,"src":"8709:10:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181788,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8709:12:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181789,"nodeType":"ExpressionStatement","src":"8709:12:329"},{"expression":{"arguments":[{"id":181793,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"8747:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181794,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"8758:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":181795,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8768:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":181796,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8785:9:329","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"8768:26:329","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"expression":{"id":181790,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"8727:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181792,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8734:12:329","memberName":"setArchetype","nodeType":"MemberAccess","referencedDeclaration":98155,"src":"8727:19:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_CombatArchetypes_$87309_$returns$__$","typeString":"function (bytes32,bytes32,enum CombatArchetypes)"}},"id":181797,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8727:68:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181798,"nodeType":"ExpressionStatement","src":"8727:68:329"},{"expression":{"arguments":[{"id":181802,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"8821:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181803,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"8832:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"expression":{"id":181804,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8842:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":181805,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8859:7:329","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"8842:24:329","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}],"expression":{"id":181799,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"8801:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181801,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8808:12:329","memberName":"setArchetype","nodeType":"MemberAccess","referencedDeclaration":98155,"src":"8801:19:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_bytes32_$_t_bytes32_$_t_enum$_CombatArchetypes_$87309_$returns$__$","typeString":"function (bytes32,bytes32,enum CombatArchetypes)"}},"id":181806,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8801:66:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181807,"nodeType":"ExpressionStatement","src":"8801:66:329"},{"expression":{"arguments":[{"expression":{"id":181811,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8899:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":181812,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8916:9:329","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"8899:26:329","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":181813,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"8927:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":181814,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"8944:7:329","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"8927:24:329","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"hexValue":"3330","id":181815,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"8953:2:329","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"}],"expression":{"id":181808,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"8874:17:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":181810,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"8892:6:329","memberName":"setMod","nodeType":"MemberAccess","referencedDeclaration":88581,"src":"8874:24:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_int32_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,int32)"}},"id":181816,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8874:82:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181817,"nodeType":"ExpressionStatement","src":"8874:82:329"},{"expression":{"arguments":[{"expression":{"id":181821,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9010:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":181822,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9027:7:329","memberName":"Pikeman","nodeType":"MemberAccess","referencedDeclaration":87297,"src":"9010:24:329","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"expression":{"id":181823,"name":"CombatArchetypes","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":87309,"src":"9036:16:329","typeDescriptions":{"typeIdentifier":"t_type$_t_enum$_CombatArchetypes_$87309_$","typeString":"type(enum CombatArchetypes)"}},"id":181824,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"memberLocation":"9053:9:329","memberName":"Swordsman","nodeType":"MemberAccess","referencedDeclaration":87296,"src":"9036:26:329","typeDescriptions":{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"}},{"id":181826,"isConstant":false,"isLValue":false,"isPure":true,"lValueRequested":false,"nodeType":"UnaryOperation","operator":"-","prefix":true,"src":"9064:3:329","subExpression":{"hexValue":"3330","id":181825,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9065:2:329","typeDescriptions":{"typeIdentifier":"t_rational_30_by_1","typeString":"int_const 30"},"value":"30"},"typeDescriptions":{"typeIdentifier":"t_rational_minus_30_by_1","typeString":"int_const -30"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_enum$_CombatArchetypes_$87309","typeString":"enum CombatArchetypes"},{"typeIdentifier":"t_rational_minus_30_by_1","typeString":"int_const -30"}],"expression":{"id":181818,"name":"ArchetypeModifier","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":90044,"src":"8985:17:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_ArchetypeModifier_$90044_$","typeString":"type(library ArchetypeModifier)"}},"id":181820,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9003:6:329","memberName":"setMod","nodeType":"MemberAccess","referencedDeclaration":88581,"src":"8985:24:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_enum$_CombatArchetypes_$87309_$_t_enum$_CombatArchetypes_$87309_$_t_int32_$returns$__$","typeString":"function (enum CombatArchetypes,enum CombatArchetypes,int32)"}},"id":181827,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"8985:83:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181828,"nodeType":"ExpressionStatement","src":"8985:83:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"expression":{"id":181829,"name":"vm","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":61249,"src":"9097:2:329","typeDescriptions":{"typeIdentifier":"t_contract$_Vm_$69872","typeString":"contract Vm"}},"id":181831,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9100:9:329","memberName":"stopPrank","nodeType":"MemberAccess","referencedDeclaration":69617,"src":"9097:12:329","typeDescriptions":{"typeIdentifier":"t_function_external_nonpayable$__$returns$__$","typeString":"function () external"}},"id":181832,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9097:14:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181833,"nodeType":"ExpressionStatement","src":"9097:14:329"},{"assignments":[181835],"declarations":[{"constant":false,"id":181835,"mutability":"mutable","name":"originalDefenderHealth","nameLocation":"9124:22:329","nodeType":"VariableDeclaration","scope":181877,"src":"9118:28:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181834,"name":"int32","nodeType":"ElementaryTypeName","src":"9118:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181841,"initialValue":{"arguments":[{"id":181838,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"9166:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181839,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"9177:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181836,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"9149:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181837,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9156:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"9149:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181840,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9149:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"9118:68:329"},{"assignments":[181843],"declarations":[{"constant":false,"id":181843,"mutability":"mutable","name":"originalAttackerHealth","nameLocation":"9198:22:329","nodeType":"VariableDeclaration","scope":181877,"src":"9192:28:329","stateVariable":false,"storageLocation":"default","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"},"typeName":{"id":181842,"name":"int32","nodeType":"ElementaryTypeName","src":"9192:5:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"visibility":"internal"}],"id":181849,"initialValue":{"arguments":[{"id":181846,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"9240:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181847,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"9251:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181844,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"9223:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181845,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9230:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"9223:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181848,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9223:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"VariableDeclarationStatement","src":"9192:68:329"},{"expression":{"arguments":[],"expression":{"argumentTypes":[],"id":181850,"name":"runSystem","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180965,"src":"9266:9:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$__$returns$__$","typeString":"function ()"}},"id":181851,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9266:11:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181852,"nodeType":"ExpressionStatement","src":"9266:11:329"},{"expression":{"arguments":[{"arguments":[{"id":181856,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"9310:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181857,"name":"defender","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180843,"src":"9321:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181854,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"9293:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181855,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9300:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"9293:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181858,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9293:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181861,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181859,"name":"originalDefenderHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181835,"src":"9332:22:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"32365f303030","id":181860,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9357:6:329","typeDescriptions":{"typeIdentifier":"t_rational_26000_by_1","typeString":"int_const 26000"},"value":"26_000"},"src":"9332:31:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e657870656374656420646566656e646572204850","id":181862,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9365:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""},"value":"unexpected defender HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_89ceffdf2792d56c6e6abc68d2c51a8d4c4f60d8210de0604694a83ecb653393","typeString":"literal_string \"unexpected defender HP\""}],"id":181853,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"9284:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181863,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9284:106:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181864,"nodeType":"ExpressionStatement","src":"9284:106:329"},{"expression":{"arguments":[{"arguments":[{"id":181868,"name":"testMatch","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":186336,"src":"9422:9:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}},{"id":181869,"name":"attacker","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":180841,"src":"9433:8:329","typeDescriptions":{"typeIdentifier":"t_bytes32","typeString":"bytes32"}}],"expression":{"argumentTypes":[{"typeIdentifier":"t_bytes32","typeString":"bytes32"},{"typeIdentifier":"t_bytes32","typeString":"bytes32"}],"expression":{"id":181866,"name":"Combat","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":98974,"src":"9405:6:329","typeDescriptions":{"typeIdentifier":"t_type$_t_contract$_Combat_$98974_$","typeString":"type(library Combat)"}},"id":181867,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"memberLocation":"9412:9:329","memberName":"getHealth","nodeType":"MemberAccess","referencedDeclaration":96802,"src":"9405:16:329","typeDescriptions":{"typeIdentifier":"t_function_internal_view$_t_bytes32_$_t_bytes32_$returns$_t_int32_$","typeString":"function (bytes32,bytes32) view returns (int32)"}},"id":181870,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9405:37:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"commonType":{"typeIdentifier":"t_int32","typeString":"int32"},"id":181873,"isConstant":false,"isLValue":false,"isPure":false,"lValueRequested":false,"leftExpression":{"id":181871,"name":"originalAttackerHealth","nodeType":"Identifier","overloadedDeclarations":[],"referencedDeclaration":181843,"src":"9444:22:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},"nodeType":"BinaryOperation","operator":"-","rightExpression":{"hexValue":"31345f303030","id":181872,"isConstant":false,"isLValue":false,"isPure":true,"kind":"number","lValueRequested":false,"nodeType":"Literal","src":"9469:6:329","typeDescriptions":{"typeIdentifier":"t_rational_14000_by_1","typeString":"int_const 14000"},"value":"14_000"},"src":"9444:31:329","typeDescriptions":{"typeIdentifier":"t_int32","typeString":"int32"}},{"hexValue":"756e65787065637465642061747461636b6572204850","id":181874,"isConstant":false,"isLValue":false,"isPure":true,"kind":"string","lValueRequested":false,"nodeType":"Literal","src":"9477:24:329","typeDescriptions":{"typeIdentifier":"t_stringliteral_318d3d3e04405970cb8c4158b86149879e76b1eb713fa4d147ef4671d71d3529","typeString":"literal_string \"unexpected attacker HP\""},"value":"unexpected attacker HP"}],"expression":{"argumentTypes":[{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_int32","typeString":"int32"},{"typeIdentifier":"t_stringliteral_318d3d3e04405970cb8c4158b86149879e76b1eb713fa4d147ef4671d71d3529","typeString":"literal_string \"unexpected attacker HP\""}],"id":181865,"name":"assertEq","nodeType":"Identifier","overloadedDeclarations":[61424,61449,61462,61478,61520,61562,61604,61641,61678,61715,59730,59755,59785,59810,59869,59894,59924,59949,61049,61084],"referencedDeclaration":59894,"src":"9396:8:329","typeDescriptions":{"typeIdentifier":"t_function_internal_nonpayable$_t_int256_$_t_int256_$_t_string_memory_ptr_$returns$__$","typeString":"function (int256,int256,string memory)"}},"id":181875,"isConstant":false,"isLValue":false,"isPure":false,"kind":"functionCall","lValueRequested":false,"nameLocations":[],"names":[],"nodeType":"FunctionCall","src":"9396:106:329","tryCall":false,"typeDescriptions":{"typeIdentifier":"t_tuple$__$","typeString":"tuple()"}},"id":181876,"nodeType":"ExpressionStatement","src":"9396:106:329"}]},"functionSelector":"1038400d","implemented":true,"kind":"function","modifiers":[],"name":"testArchetypeModifier","nameLocation":"8652:21:329","parameters":{"id":181782,"nodeType":"ParameterList","parameters":[],"src":"8673:2:329"},"returnParameters":{"id":181783,"nodeType":"ParameterList","parameters":[],"src":"8683:0:329"},"scope":181879,"stateMutability":"nonpayable","virtual":false,"visibility":"public"}],"abstract":false,"baseContracts":[{"baseName":{"id":180832,"name":"SkyStrifeTest","nameLocations":["927:13:329"],"nodeType":"IdentifierPath","referencedDeclaration":186507,"src":"927:13:329"},"id":180833,"nodeType":"InheritanceSpecifier","src":"927:13:329"},{"baseName":{"id":180834,"name":"GasReporter","nameLocations":["942:11:329"],"nodeType":"IdentifierPath","referencedDeclaration":6191,"src":"942:11:329"},"id":180835,"nodeType":"InheritanceSpecifier","src":"942:11:329"}],"canonicalName":"CombatSystemTest","contractDependencies":[],"contractKind":"contract","fullyImplemented":true,"linearizedBaseContracts":[181879,6191,186507,59203,68582,61256,61253,68535,65454,65164,64775,63203,62539,61196],"name":"CombatSystemTest","nameLocation":"907:16:329","scope":181880,"usedErrors":[8577,8645,8689,8696,8703,8754],"usedEvents":[8783,8796,8816,8825,59415,59419,59423,59427,59431,59435,59439,59443,59449,59455,59463,59471,59477,59483,59489,59495,61318,61323,61328,61335,61342,61349]}],"license":"MIT"},"id":329}