Files
contract/deployment/arb1/out/VaultImpl.sol/ArbitrumVaultImpl.json
dexorder 25def69c66 dexorder
2024-10-17 02:42:28 -04:00

1 line
190 KiB
JSON

{"abi":[{"type":"constructor","inputs":[{"name":"router_","type":"address","internalType":"contract IRouter"},{"name":"feeManager_","type":"address","internalType":"contract IFeeManager"}],"stateMutability":"nonpayable"},{"type":"function","name":"cancelAllDexorders","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"cancelDexorder","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"execute","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"},{"name":"tranche_index","type":"uint8","internalType":"uint8"},{"name":"proof","type":"tuple","internalType":"struct PriceProof","components":[{"name":"proof","type":"uint256","internalType":"uint256"}]}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"feeManager","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IFeeManager"}],"stateMutability":"view"},{"type":"function","name":"numSwapOrders","inputs":[],"outputs":[{"name":"num","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"orderCanceled","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"placeDexorder","inputs":[{"name":"order","type":"tuple","internalType":"struct SwapOrder","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"placeDexorders","inputs":[{"name":"orders","type":"tuple[]","internalType":"struct SwapOrder[]","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"ocoMode","type":"uint8","internalType":"enum OcoMode"}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"placementFee","inputs":[{"name":"orders","type":"tuple[]","internalType":"struct SwapOrder[]","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"sched","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"outputs":[{"name":"orderFee","type":"uint256","internalType":"uint256"},{"name":"gasFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"placementFee","inputs":[{"name":"order","type":"tuple","internalType":"struct SwapOrder","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"sched","type":"tuple","internalType":"struct IFeeManager.FeeSchedule","components":[{"name":"orderFee","type":"uint8","internalType":"uint8"},{"name":"orderExp","type":"uint8","internalType":"uint8"},{"name":"gasFee","type":"uint8","internalType":"uint8"},{"name":"gasExp","type":"uint8","internalType":"uint8"},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"}]}],"outputs":[{"name":"orderFee","type":"uint256","internalType":"uint256"},{"name":"gasFee","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"swapOrderStatus","inputs":[{"name":"orderIndex","type":"uint64","internalType":"uint64"}],"outputs":[{"name":"status","type":"tuple","internalType":"struct SwapOrderStatus","components":[{"name":"order","type":"tuple","internalType":"struct SwapOrder","components":[{"name":"tokenIn","type":"address","internalType":"address"},{"name":"tokenOut","type":"address","internalType":"address"},{"name":"route","type":"tuple","internalType":"struct Route","components":[{"name":"exchange","type":"uint8","internalType":"enum Exchange"},{"name":"fee","type":"uint24","internalType":"uint24"}]},{"name":"amount","type":"uint256","internalType":"uint256"},{"name":"minFillAmount","type":"uint256","internalType":"uint256"},{"name":"amountIsInput","type":"bool","internalType":"bool"},{"name":"outputDirectlyToOwner","type":"bool","internalType":"bool"},{"name":"conditionalOrder","type":"uint64","internalType":"uint64"},{"name":"tranches","type":"tuple[]","internalType":"struct Tranche[]","components":[{"name":"fraction","type":"uint16","internalType":"uint16"},{"name":"startTimeIsRelative","type":"bool","internalType":"bool"},{"name":"endTimeIsRelative","type":"bool","internalType":"bool"},{"name":"minIsBarrier","type":"bool","internalType":"bool"},{"name":"maxIsBarrier","type":"bool","internalType":"bool"},{"name":"marketOrder","type":"bool","internalType":"bool"},{"name":"minIsRatio","type":"bool","internalType":"bool"},{"name":"maxIsRatio","type":"bool","internalType":"bool"},{"name":"_reserved7","type":"bool","internalType":"bool"},{"name":"rateLimitFraction","type":"uint16","internalType":"uint16"},{"name":"rateLimitPeriod","type":"uint24","internalType":"uint24"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"},{"name":"minLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]},{"name":"maxLine","type":"tuple","internalType":"struct Line","components":[{"name":"intercept","type":"uint32","internalType":"float"},{"name":"slope","type":"uint32","internalType":"float"}]}]}]},{"name":"fillFeeHalfBps","type":"uint8","internalType":"uint8"},{"name":"canceled","type":"bool","internalType":"bool"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"ocoGroup","type":"uint64","internalType":"uint64"},{"name":"originalOrder","type":"uint64","internalType":"uint64"},{"name":"startPrice","type":"uint256","internalType":"uint256"},{"name":"filled","type":"uint256","internalType":"uint256"},{"name":"trancheStatus","type":"tuple[]","internalType":"struct TrancheStatus[]","components":[{"name":"filled","type":"uint256","internalType":"uint256"},{"name":"activationTime","type":"uint32","internalType":"uint32"},{"name":"startTime","type":"uint32","internalType":"uint32"},{"name":"endTime","type":"uint32","internalType":"uint32"}]}]}],"stateMutability":"view"},{"type":"function","name":"unwrap","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"vaultImplDidChange","inputs":[{"name":"oldAddress","type":"address","internalType":"address"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"wrap","inputs":[{"name":"amount","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"wrapper","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"event","name":"DexorderCancelAll","inputs":[{"name":"cancelAllIndex","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"DexorderSwapCanceled","inputs":[{"name":"orderIndex","type":"uint64","indexed":false,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"DexorderSwapFilled","inputs":[{"name":"orderIndex","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"trancheIndex","type":"uint8","indexed":true,"internalType":"uint8"},{"name":"amountIn","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"amountOut","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"fillFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"nextExecutionTime","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false},{"type":"event","name":"DexorderSwapPlaced","inputs":[{"name":"startOrderIndex","type":"uint64","indexed":true,"internalType":"uint64"},{"name":"numOrders","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"orderFee","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"gasFee","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"error","name":"ReentrancyGuardReentrantCall","inputs":[]}],"bytecode":{"object":"0x60e03461010d57601f61544738819003918201601f19168301916001600160401b0383118484101761011257808492604094855283398101031261010d578051906001600160a01b038216820361010d5760200151906001600160a01b038216820361010d57600160005560a0526080527382af49447d8a07e3bd95bd0d56f35241523fbab160c05260405161531e908161012982396080518181816103e90152818161086e01528181610a8601528181611c160152818161417c015261424e015260a05181818161044a01528181610ae70152818161180101528181611ad7015281816124e001528181612e220152612f24015260c05181818161013f0152818161029601526108dd0152f35b600080fd5b634e487b7160e01b600052604160045260246000fdfe6080604052600436101561001257600080fd5b6000803560e01c80632800c78f146133c05780632e690bb71461335c5780634c153087146132ec57806354fd4d50146132b257806358b72a09146132765780636e98833d146115d257806377bad6b5146111225780638489f9bf1461104b57806389a44acb146109c0578063a449d03014610901578063ac210cc714610892578063d0fb020314610823578063da1c795f14610330578063de0e9a3e14610223578063e78f84e7146101dd5763ea598cb0146100cd57600080fd5b346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761011f73ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b610127613f0a565b8073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001661016a811515613ea5565b803b156101da5781600491604051928380927fd0e30db00000000000000000000000000000000000000000000000000000000082528235905af180156101cf576101b7575b506001905580f35b816101c191613540565b6101cc5780386101af565b80fd5b6040513d84823e3d90fd5b50fd5b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602067ffffffffffffffff60045416604051908152f35b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761027673ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b61027e613f0a565b8073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166102c1811515613ea5565b803b156101da578180916024604051809581937f2e1a7d4d00000000000000000000000000000000000000000000000000000000835260043560048401525af1801561032357610313575b6001815580f35b61031c91613540565b388161030c565b50604051903d90823e3d90fd5b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5760043567ffffffffffffffff811161081f5761037b90369060040161366c565b61039e73ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b6103a6613f0a565b6040517f9af1d35a00000000000000000000000000000000000000000000000000000000815260a08160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108145783916107e5575b5061042481836143ec565b9190926104328385336140b1565b60ff608067ffffffffffffffff6004541693015116907f00000000000000000000000000000000000000000000000000000000000000009360409081519261047a8385613540565b600184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08301895b8181106107ce5750506104b584613a9e565b526104bf83613a9e565b506104cd60ff84511061433b565b67ffffffffffffffff6004546104ed6104e68651614044565b821061433b565b169267ffffffffffffffff95895b825160ff82169081101561078f576105139084613ada565b51610520868201516143a0565b6002811015610762576001036107055788888260e08d940183815116848103610596575b50509160ff949391610557936003614740565b501660ff8114610569576001016104fb565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b91945092506105a691508961443c565b908a821680915260045411156106a8576105c1906004613bf4565b508973ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff835416149182610699575b8261068c575b82610679575b50501561061c5788888b923880610544565b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b8192506005015460101c1614893861060a565b6003810154159250610604565b600581015460ff1692506105fe565b606487517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8b837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608e898b805192600184526020840152820152a26001815580f35b6020906107d9613b75565b828289010152016104a3565b610807915060a03d60a01161080d575b6107ff8183613540565b810190613e3c565b38610419565b503d6107f5565b6040513d85823e3d90fd5b5080fd5b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576109396135ff565b60045467ffffffffffffffff82161015610962576109586020916143ad565b6040519015158152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4f490000000000000000000000000000000000000000000000000000000000006044820152fd5b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5760043567ffffffffffffffff811161081f57610a0b9036906004016138ed565b602435600381101561104757610a3a73ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b610a42613f0a565b604051917f9af1d35a00000000000000000000000000000000000000000000000000000000835260a08360048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa92831561103c57849361101b575b50610ac18382613b2a565b939092610acf8585336140b1565b60ff608067ffffffffffffffff6004541693015116947f000000000000000000000000000000000000000000000000000000000000000093610b1460ff82511061433b565b67ffffffffffffffff600454610b2d6104e68451614044565b169280610e3b575067ffffffffffffffff935b885b825160ff821690811015610df657610b5a9084613ada565b5190610b6960408301516143a0565b6002811015610dc957600103610d6b5787878b60e0850167ffffffffffffffff81511667ffffffffffffffff8103610bed575b505090610bae929160ff956003614740565b501660ff8114610bc057600101610b42565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b91509250610bfc91508861443c565b9067ffffffffffffffff82168091526004541115610d0d57610c1f906004613bf4565b5073ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff825416149081610cfe575b81610cf1575b81610cd5575b5015610c775787878b3880610b9c565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff915060058291015460101c161438610c67565b6003810154159150610c61565b600581015460ff169150610c5b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8a837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608c8960ff8a51169160405192835260208301526040820152a26001815580f35b938860018614801561100f575b15610fb15760055467ffffffffffffffff81169660ff85511690604051936060850185811067ffffffffffffffff821117610f845760405261076257835260208301918783526040840191825268010000000000000000811015610f5757806001610eb892016005556005614099565b939093610f2b5751916003831015610762578354905191517fffffffffffffffffffffffffffffffffffffffffffff000000000000000000009190911660ff939093169290921760089190911b68ffffffffffffffff00161760489190911b69ff00000000000000000016179055610b40565b60248d7f4e487b7100000000000000000000000000000000000000000000000000000000815280600452fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600460248201527f4f434f4d000000000000000000000000000000000000000000000000000000006044820152fd5b50508860028614610e48565b61103591935060a03d60a01161080d576107ff8183613540565b9138610ab6565b6040513d86823e3d90fd5b8280fd5b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc577f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc4860206110a66135ff565b6110c973ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b6110d1613f0a565b60076110de826004613bf4565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff82541617905567ffffffffffffffff60405191168152a16001815580f35b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576111a861115d6135ff565b606061010060405161116e816134ce565b611176613b75565b815285602082015285604082015285838201528560808201528560a08201528560c08201528560e08201520152613bd5565b5090604051906111b7826134ce565b6111c083613c34565b8252600783015490602083019160ff81168352604084019460ff8260081c1615158652606085019163ffffffff8160101c168352608086019067ffffffffffffffff8160301c16825267ffffffffffffffff60a088019160701c16815260088301549160c08801928352600a60098501549460e08a01958652019485549561124787613581565b966112556040519889613540565b808852602088019189526020892089925b82841061156357505050506101008901958652604051998a9960208b52519861012060208c01526101006102808c019a8c61014073ffffffffffffffffffffffffffffffffffffffff8351169101528c61016073ffffffffffffffffffffffffffffffffffffffff6020840151169101528c6101a062ffffff602060408501516112f5610180860182516139fd565b01511691015260608101516101c08e015260808101516101e08e015260a081015115156102008e015260c081015115156102208e015260e081015167ffffffffffffffff166102408e015201516101406102608d015280519a8b90526102a08c019a6020909101908a5b81811061143c575050905160ff1660408c01525051151560608a01525163ffffffff1660808901525167ffffffffffffffff90811660a089015290511660c08701525160e086015251610100850152518383037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016101208501528051808452602093840193909101915b8181106113f8575050500390f35b919350916020608060019263ffffffff60608851805184528286820151168685015282604082015116604085015201511660608201520194019101918493926113ea565b919b600191939495969798999a9b9d5061022060209161154d8f6101c0905161ffff81511684528581015115158685015260408101511515604085015260608101511515606085015260808101511515608085015260a0810151151560a085015260c0810151151560c085015260e0810151151560e0850152610100810151151561010085015261ffff6101208201511661012085015262ffffff6101408201511661014085015263ffffffff6101608201511661016085015263ffffffff6101808201511661018085015261152e6101a08201516101a086019063ffffffff60208092828151168552015116910152565b01516101e083019063ffffffff60208092828151168552015116910152565b019c019101918d9c9a999897969594939261135f565b60409d9495969798999a9c9d516080810181811067ffffffffffffffff821117610f84576001926002926020926040528554815263ffffffff85870154818116858401528181861c16604084015260401c1660608201528152019201930192909c9b999897969594939c611266565b50346101cc5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761160a6135ff565b6024359060ff821682036110475760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc360112611047576040516020810181811067ffffffffffffffff82111761324957604052604435905261166c613f0a565b6040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481305afa90811561103c5784916131fa575b506116b382613bd5565b50916116be816143ad565b61319c5760068301805485101561316f578552602085206116e285600a8601613f9a565b509460018601549163ffffffff83164210613111576040519261170484613482565b8884528860208501528860408501528860608501528860808501528860a08501528860c08501528860e085015263ffffffff8160201c1642106130b35760401c63ffffffff164211613055576003820281015460ff8160301c168061303d575b15612c9b576002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b015416906117e860405194859384937f77aa2cd100000000000000000000000000000000000000000000000000000000855260ff62ffffff8460081c16931660048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a91612c69575b5061184a63ffffffff600160038702860101541661461a565b818060601b046c01000000000000000000000000148215171561056957806c01000000000000000000000000016c0100000000000000000000000011610569576118f792916118ab916c01000000000000000000000000019060601b61400b565b60208601525b61ffff6003890154916118dc828d6118cb82851687613ff8565b9050048060808a01528c5490614060565b60c088015260501c1680612c3a575b50600988015490614060565b8060e08501528060c085015111612c2f575b5060c0830151966004870154809810612bd1578880889760058901549060ff8260081c16600014612bca575b73ffffffffffffffffffffffffffffffffffffffff60018b015416998a9267ffffffffffffffff808260101c1614600014612b2e5760ff90859e5b8b73ffffffffffffffffffffffffffffffffffffffff80865416966002602060c085015194015197015498604051986119a88a613482565b895260208901521660408701526060860152608085015216151560a083015260c082015262ffffff8260081c1660e082015262ffffff60e060405192611a1c60208501957f90b54f0800000000000000000000000000000000000000000000000000000000875260ff6024870191166139fd565b73ffffffffffffffffffffffffffffffffffffffff815116604485015273ffffffffffffffffffffffffffffffffffffffff602082015116606485015273ffffffffffffffffffffffffffffffffffffffff6040820151166084850152606081015160a4850152608081015160c485015260a0810151151560e485015260c08101516101048501520151166101248201526101248152611abe61014482613540565b519073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af4913d15612b26573d9267ffffffffffffffff8411612af95760405193611b4760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160186613540565b84523d8b602086013e5b15612ae957604083805181010312612a2957604060208401519301519280604087015260ff60058a015416600014612adf57611b98905b8060c088015260098a0154613aee565b6009890155611bac60c08601518354613aee565b825560a0850151612a6f575b50614e20611bcd60ff60078a01541684613ff8565b0460608501526040517fea43b36b00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a91612a40575b50606085015173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb00000000000000000000000000000000000000000000000000000000845216600483015260248201526020816044818d8b5af18015612a35576129f6575b5060ff7f234549737f22f93fc832ad92234b4a16c08b5e5f40bfb872ec6540904522fc549360809367ffffffffffffffff9363ffffffff6001606060408b01519a0151920154169160405198895260208901526040880152606087015216941692a3600582015467ffffffffffffffff8160101c169367ffffffffffffffff8503611e5d575b50505067ffffffffffffffff915080611d5260036007930154600983015490614060565b60048201541115611d8a57015460301c1667ffffffffffffffff8103611d7b575b506001815580f35b611d84906150de565b38611d73565b015460301c1667ffffffffffffffff81141580611dbc575b611dad575b5061030c565b611db6906150de565b38611da7565b50600554811015611e3057600582527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081015460ff166003811015611e0357600114611da2565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6020611e76611e70602494969597613bd5565b50613c34565b95604051938480927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa80156129eb5786906129b3575b611ec09250614060565b916060840192835260ff6007830154166004549167ffffffffffffffff8316926801000000000000000081101561298657806001611f0392016004556004613bf4565b5050611f10836004613bf4565b509473ffffffffffffffffffffffffffffffffffffffff80885116167fffffffffffffffffffffffff000000000000000000000000000000000000000087541617865573ffffffffffffffffffffffffffffffffffffffff60208801511673ffffffffffffffffffffffffffffffffffffffff6001880191167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556002860160408801518051906002821015612959577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff006020865494015160081b169316911617179055516003860155608086015160048601556005850160a0870151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617815561208660c0880151151582907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e08701517fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff69ffffffffffffffff000083549260101b169116179055610100860151805190680100000000000000008211612350576006870154826006890155808310612905575b506020016006870189526020892089915b83831061257557505050507fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff6dffffffffffffffff00000000000060078701937fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0075ffffffffffffffff0000000000000000000000000000807fffffffffffffffffffffffffffffffffffff000000000000000000000000000088549760601b16161694161765ffffffff00004260101b161717161790558491855b61010086015180518210156123e857816121d591613ada565b516060810151158015906123db575b61237d57600a86015468010000000000000000811015612350578060016122149201600a890155600a8801613f9a565b505061222382600a8801613f9a565b506020820151156123395761228c600161224e63ffffffff6101608601511663ffffffff4216615217565b925b019182907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b604082015115612328576122b163ffffffff6101808401511663ffffffff4216615217565b81547fffffffffffffffffffffffffffffffffffffffff00000000ffffffff000000001660409190911b6bffffffff000000000000000016174263ffffffff1617905560c0810151158015919061231a575b50612311575b6001016121bc565b60019350612309565b60e091500151151538612303565b63ffffffff610180830151166122b1565b61228c600163ffffffff6101608501511692612250565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e490000000000000000000000000000000000000000000000000000000000006044820152fd5b50608081015115156121e4565b505092909391612441575b505060079067ffffffffffffffff927fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df966835606060405160018152876020820152876040820152a2903880611d2e565b602061245060408401516143a0565b73ffffffffffffffffffffffffffffffffffffffff845116906124c762ffffff84604073ffffffffffffffffffffffffffffffffffffffff828a01511698015101511660405196879485947f77aa2cd100000000000000000000000000000000000000000000000000000000865260048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561256a578592612524575b50600801558067ffffffffffffffff6123f3565b929150926020833d602011612562575b8161254160209383613540565b8101031261255e579151919290919067ffffffffffffffff612510565b8480fd5b3d9150612534565b6040513d87823e3d90fd5b8051805161ffff16818454916020820151151560101b62ff0000166040830151151560181b6060840151151560201b6080850151151560281b60a0860151151560301b60c0870151151560381b9160e0880151151560401b93610100890151151560481b956101208a015160501b6bffff0000000000000000000016976101408b015160601b6effffff00000000000000000000000016996101608c015160781b72ffffffff000000000000000000000000000000169b610180015160981b76ffffffff00000000000000000000000000000000000000169c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff169063ff00000016177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff169064ff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff1661289f91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff000000001617905560200190600301916001019190612100565b6003818102048103610bc0576003838102048303610bc057600688018a5260208a208360030281015b82600302820181106129415750506120ef565b808c600392558c60018201558c60028201550161292e565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506020823d6020116129e3575b816129cd60209383613540565b810103126129df57611ec09151611eb6565b8580fd5b3d91506129c0565b6040513d88823e3d90fd5b6020813d602011612a2d575b81612a0f60209383613540565b81010312612a2957518015158103612a29575060ff611ca8565b8980fd5b3d9150612a02565b6040513d8c823e3d90fd5b612a62915060203d602011612a68575b612a5a8183613540565b81019061406d565b38611c46565b503d612a50565b63ffffffff612aaa612aa4612a99839462ffffff60c08b01519160038b02015460601c1690613ff8565b60a08901519061400b565b42613aee565b16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060018301541617600182015538611bb8565b50611b9883611b88565b8251838b82156101cc5750602001fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b606092611b51565b9350509050604051907f70a082310000000000000000000000000000000000000000000000000000000082523060048301526020826024818d5afa91821561103c5784938b938d928691612b88575b509060ff919e611970565b9450509350506020823d602011612bc2575b81612ba760209383613540565b81010312612bbe578a60ff85948c94519091612b7d565b8380fd5b3d9150612b9a565b5030611935565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54460000000000000000000000000000000000000000000000000000000000006044820152fd5b60c084015238611909565b612c4b61ffff916080880151613ff8565b048060a08701528060c087015111156118eb5760c0860152386118eb565b90506020813d602011612c93575b81612c8460209383613540565b81010312612a29575138611831565b3d9150612c77565b888452612caf6001600385028401016144fd565b612e8c575b612cc56002600385028401016144fd565b612cd3575b6118f7906118b1565b835115612d8a575b60ff8160401c16600014612d7457612d0e63ffffffff600789015460101c16600889015490600260038702860101614596565b84511115612cca5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c550000000000000000000000000000000000000000000000000000000000006044820152fd5b612d85600260038502840101614522565b612d0e565b6002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b01541690612e0960405194859384937f4f78bfff00000000000000000000000000000000000000000000000000000000855260ff62ffffff8460081c16931660048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a91612e5a575b508452612cdb565b90506020813d602011612e84575b81612e7560209383613540565b81010312612a29575138612e52565b3d9150612e68565b6002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b01541690612f0b60405194859384937f4f78bfff00000000000000000000000000000000000000000000000000000000855260ff62ffffff8460081c16931660048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a9161300b575b50845260ff8160381c16600014612ff557612f8a63ffffffff600789015460101c16600889015490600160038702860101614596565b806020860152845111612cb45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4c0000000000000000000000000000000000000000000000000000000000006044820152fd5b613006600160038502840101614522565b612f8a565b90506020813d602011613035575b8161302660209383613540565b81010312612a29575138612f54565b3d9150613019565b5063ffffffff60016003850284010154161515611764565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f544c0000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54450000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f524c0000000000000000000000000000000000000000000000000000000000006044820152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e4f0000000000000000000000000000000000000000000000000000000000006044820152fd5b90506020813d602011613241575b8161321560209383613540565b81010312612bbe575173ffffffffffffffffffffffffffffffffffffffff81168103612bbe57386116a9565b3d9150613208565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576132ae613599565b5080f35b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602060405160018152f35b50346101cc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576004359067ffffffffffffffff82116101cc576040613350613341366004860161366c565b61334a3661396c565b90613f45565b82519182526020820152f35b50346101cc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576004359067ffffffffffffffff82116101cc5760406133506133b136600486016138ed565b6133ba3661396c565b90613b2a565b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761341273ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b61341a613f0a565b7fce65bc44c9caad3bb118ec247275ee69b1ce0e86e3099162ad165bbb3eb3238b602067ffffffffffffffff60045416807fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006003541617600355604051908152a16001815580f35b610100810190811067ffffffffffffffff82111761349f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610120810190811067ffffffffffffffff82111761349f57604052565b6040810190811067ffffffffffffffff82111761349f57604052565b6101e0810190811067ffffffffffffffff82111761349f57604052565b60a0810190811067ffffffffffffffff82111761349f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761349f57604052565b67ffffffffffffffff811161349f5760051b60200190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036135bc57565b600080fd5b359073ffffffffffffffffffffffffffffffffffffffff821682036135bc57565b359062ffffff821682036135bc57565b359081151582036135bc57565b6004359067ffffffffffffffff821682036135bc57565b359061ffff821682036135bc57565b359063ffffffff821682036135bc57565b91908260409103126135bc5760405161364e816134eb565b602061366781839561365f81613625565b855201613625565b910152565b91908281039261014084126135bc5760405190613688826134ce565b60407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc083966136b6846135c1565b85526136c4602085016135c1565b602086015201126135bc576040516136db816134eb565b604082013560028110156135bc5781526136f7606083016135e2565b602082015260408301526080810135606083015260a0810135608083015261372160c082016135f2565b60a083015261373260e082016135f2565b60c083015261010081013567ffffffffffffffff811681036135bc5760e08301526101208101359067ffffffffffffffff82116135bc570182601f820112156135bc5780359061378182613581565b9361378f6040519586613540565b82855260206102208187019402830101918183116135bc57602001925b8284106137be57505050506101000152565b610220848303126135bc576020610220916040516137db81613507565b6137e487613616565b81526137f18388016135f2565b83820152613801604088016135f2565b6040820152613812606088016135f2565b6060820152613823608088016135f2565b608082015261383460a088016135f2565b60a082015261384560c088016135f2565b60c082015261385660e088016135f2565b60e082015261386861010088016135f2565b61010082015261387b6101208801613616565b61012082015261388e61014088016135e2565b6101408201526138a16101608801613625565b6101608201526138b46101808801613625565b6101808201526138c8856101a08901613636565b6101a08201526138dc856101e08901613636565b6101c08201528152019301926137ac565b9080601f830112156135bc57813561390481613581565b926139126040519485613540565b81845260208085019260051b820101918383116135bc5760208201905b83821061393e57505050505090565b813567ffffffffffffffff81116135bc576020916139618784809488010161366c565b81520191019061392f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60a09101126135bc57604051906139a382613524565b8160243560ff811681036135bc57815260443560ff811681036135bc57602082015260643560ff811681036135bc57604082015260843560ff811681036135bc57606082015260a4359060ff821682036135bc5760800152565b906002821015613a0a5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b15613a4057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152fd5b805115613aab5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015613aab5760209160051b010190565b91908201809211613afb57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600092918391825b8151841015613b6d57613b64600191613b5e613b5886613b528988613ada565b51613f45565b92613aee565b97613aee565b93019294613b32565b949392505050565b60405190613b82826134ce565b6060610100836000815260006020820152604051613b9f816134eb565b6000815260006020820152604082015260008382015260006080820152600060a0820152600060c0820152600060e08201520152565b600454811015613aab576004600052600b602060002091020190600090565b8054821015613aab57600052600b602060002091020190600090565b90604051613c1d816134eb565b602063ffffffff8294548181168452821c16910152565b90604051613c41816134ce565b809273ffffffffffffffffffffffffffffffffffffffff815416825273ffffffffffffffffffffffffffffffffffffffff600182015416602083015260405190613c8a826134eb565b60028101549160ff83166002811015613a0a5760069362ffffff91835260081c1660208201526040840152600381015460608401526004810154608084015267ffffffffffffffff600582015460ff8116151560a086015260ff8160081c16151560c086015260101c1660e084015201908154613d0681613581565b92613d146040519485613540565b818452602084019060005260206000206000915b838310613d3a57505050506101000152565b60036020600192604051613d4d81613507565b63ffffffff865461ffff8116835260ff8160101c1615158584015260ff8160181c161515604084015260ff81861c161515606084015260ff8160281c161515608084015260ff8160301c16151560a084015260ff8160381c16151560c084015260ff8160401c16151560e084015260ff8160481c16151561010084015261ffff8160501c1661012084015262ffffff8160601c16610140840152818160781c1661016084015260981c16610180820152613e08858701613c10565b6101a0820152613e1a60028701613c10565b6101c0820152815201920192019190613d28565b519060ff821682036135bc57565b908160a09103126135bc57613e9d608060405192613e5984613524565b613e6281613e2e565b8452613e7060208201613e2e565b6020850152613e8160408201613e2e565b6040850152613e9260608201613e2e565b606085015201613e2e565b608082015290565b15613eac57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f57550000000000000000000000000000000000000000000000000000000000006044820152fd5b600260005414613f1b576002600055565b7f3ee5aeb50000000000000000000000000000000000000000000000000000000060005260046000fd5b60e081019167ffffffffffffffff8084511614613f8f57613f85611e70613f80613f8b9567ffffffffffffffff80600454169151169061443c565b613bd5565b916144aa565b9091565b90613f8b92506143ec565b8054821015613aab5760005260206000209060011b0190600090565b929373ffffffffffffffffffffffffffffffffffffffff62ffffff92969581606095613fe688608081019b6139fd565b16602087015216604085015216910152565b81810292918115918404141715613afb57565b8115614015570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b67ffffffffffffffff039067ffffffffffffffff8211613afb57565b91908203918211613afb57565b908160209103126135bc575173ffffffffffffffffffffffffffffffffffffffff811681036135bc5790565b8054821015613aab5760005260206000200190600090565b916140bc8183613aee565b34106142dd578115801561420b575b5080158015614139575b506140df91613aee565b3481106140ea575050565b60008080936140fa829434614060565b908290821561412f575b73ffffffffffffffffffffffffffffffffffffffff1690f11561412357565b6040513d6000823e3d90fd5b6108fc9150614104565b6040517f1db89da100000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561412357600084819492829493839484916141ec575b5083916141e2575b73ffffffffffffffffffffffffffffffffffffffff1690f11561412357386140d5565b6108fc91506141bf565b614205915060203d602011612a6857612a5a8183613540565b386141b7565b6040517febd3cdcd00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561412357600085819492829493839484916142be575b5083916142b4575b73ffffffffffffffffffffffffffffffffffffffff1690f11561412357386140cb565b6108fc9150614291565b6142d7915060203d602011612a6857612a5a8183613540565b38614289565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f46454500000000000000000000000000000000000000000000000000000000006044820152fd5b1561434257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f544d4f00000000000000000000000000000000000000000000000000000000006044820152fd5b516002811015613a0a5790565b67ffffffffffffffff6003541667ffffffffffffffff8216109081156143d1575090565b60ff91506143e26007916004613bf4565b50015460081c1690565b919060608301511561443357806144196144136144309360ff602081835116920151161b90565b94615231565b9060ff606081604084015116920151161b90613ff8565b90565b50600091508190565b600090678000000000000000831661445357505090565b67ffffffffffffffff677fffffffffffffff9116019067ffffffffffffffff821161447d57501690565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b909291926060820151156144f157906144ec6144e66144e0846144da6144309660ff602081835116920151161b90565b976143ec565b90613aee565b91615231565b613ff8565b50509050600090600090565b5463ffffffff81161590811591614512575090565b63ffffffff915060201c16151590565b5463ffffffff61453381831661461a565b9160201c168015614553579061454b6144309261461a565b9042916151bd565b5090565b8181029291600082127f8000000000000000000000000000000000000000000000000000000000000000821416613afb578184051490151715613afb57565b54909163ffffffff6145b7816145ad81861661461a565b9460201c1661461a565b931660030b916145c78385614557565b916000838203931281841281169082851390151617613afb576c01000000000000000000000000916145f891614557565b059060008282019283129112908015821691151617613afb57614430926151bd565b637fffffff81161561473a57637f800000811660030b60171d60030b60ff81146146dc576380000000627fffff831660030b826146d15760011b925b166146c5575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810160030b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb70360030b600081126000146146b8576000031b90565b6000811315614553571d90565b6000919091039061465c565b628000001792614656565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4e614e00000000000000000000000000000000000000000000000000000000006044820152fd5b50600090565b9290919394600163ffffffff4216940180549067ffffffffffffffff8216916801000000000000000081101561349f5761478c91614785826001869401835582613bf4565b5050613bf4565b509173ffffffffffffffffffffffffffffffffffffffff80865116167fffffffffffffffffffffffff0000000000000000000000000000000000000000845416178355602085019273ffffffffffffffffffffffffffffffffffffffff84511673ffffffffffffffffffffffffffffffffffffffff6001830191167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556002810195604081019889519788516002811015613a0a576000997fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff006020865494015160081b16931691161717905560608201516003840155608082015160048401556005830160a0830151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617815561490e60c0840151151582907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e08301517fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff69ffffffffffffffff000083549260101b16911617905560068301966101008301978851908151916801000000000000000083116150b1578154838355808410615008575b506020909d9a9d01908b5260208b208b915b838310614c72575050505075ffffffffffffffff0000000000000000000000000000906dffffffffffffffff0000000000007fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff60078701947fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0060ff875492169116171665ffffffff00004260101b16179160301b161717905586948796600a84019b63ffffffff8b16985b8c518051821015614b805781614a4b91613ada565b51606081015115801590614b73575b61237d578e5468010000000000000000811015610f57578f8390614a87836001614a8e9501835582613f9a565b5050613f9a565b5060208201518e9015614b5b57600161224e614ab69263ffffffff6101608701511690615217565b60408201518e9015614b4957614ad89063ffffffff6101808501511690615217565b81547fffffffffffffffffffffffffffffffffffffffff00000000ffffffff000000001660409190911b6bffffffff000000000000000016178c17905560c08101511580159190614b3b575b50614b32575b600101614a36565b60019850614b2a565b60e091500151151538614b24565b5063ffffffff61018083015116614ad8565b50614ab6600163ffffffff6101608501511692612250565b5060808101511515614a5a565b5050949a50949a5094919697509450614b9c575b505050505050565b60209273ffffffffffffffffffffffffffffffffffffffff62ffffff858280614bc588516143a0565b995116945116955101511695614c0a604051978896879586947f77aa2cd100000000000000000000000000000000000000000000000000000000865260048601613fb6565b0392165afa928315614c66578093614c2e575b505060080155388080808080614b94565b909192506020823d602011614c5e575b81614c4b60209383613540565b810103126101cc57505190600838614c1d565b3d9150614c3e565b604051903d90823e3d90fd5b809e9b9e51805161ffff16818454916020820151151560101b62ff0000166040830151151560181b6060840151151560201b6080850151151560281b60a0860151151560301b60c0870151151560381b9160e0880151151560401b93610100890151151560481b956101208a015160501b6bffff0000000000000000000016976101408b015160601b6effffff00000000000000000000000016996101608c015160781b72ffffffff000000000000000000000000000000169b610180015160981b76ffffffff00000000000000000000000000000000000000169c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff169063ff00000016177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff169064ff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff16614f9f91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff0000000016179055602001906003019160010191909d9a9d61498b565b8060030290600382040361508457836003026003810485036150575760208e8581522091820191015b8d828210615040575050614979565b808255600182018190556002820155600301615031565b60248e7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6150e9906005614099565b505467ffffffffffffffff60ff818360081c169260481c161667ffffffffffffffff8216019067ffffffffffffffff8211613afb5767ffffffffffffffff91909116906004905b8267ffffffffffffffff82161061514657505050565b600181600761515e67ffffffffffffffff9486613bf4565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff8254161790557f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc4860206040518584168152a10116615130565b90918281830201928215614015578303829005036151e45750600081136144305750600090565b600012159050615212577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b600090565b9063ffffffff8091169116019063ffffffff8211613afb57565b600091825b61010083015180518510156152e1576101206152558661ffff93613ada565b510151169060008261527e575061010091506152746001918290613aee565b9401939050615236565b5061ffff61529181848104169384613ff8565b106152a6575b61527461010092600192613aee565b6001820180921115615297577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b509250905056fea2646970667358221220ddc8ff4ef8e533983a1a426d9b65d551d5835ecc0bbcdf1ebdf31da25e6c060e64736f6c634300081a0033","sourceMap":"6364:182:69:-:0;;;;;;;;;;;;;-1:-1:-1;;6364:182:69;;;;-1:-1:-1;;;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;;;6364:182:69;;;;;;;;;;-1:-1:-1;;;;;6364:182:69;;;;;;1857:1:28;-1:-1:-1;1857:1:28;1411:16:69;;1437:24;;1003:42:65;1471:22:69;;6364:182;;;;;;;;1437:24;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1411:16;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1471:22;6364:182;;;;;;;;;;;;;;;;;-1:-1:-1;6364:182:69;;;;;;-1:-1:-1;6364:182:69;;;;;-1:-1:-1;6364:182:69","linkReferences":{}},"deployedBytecode":{"object":"0x6080604052600436101561001257600080fd5b6000803560e01c80632800c78f146133c05780632e690bb71461335c5780634c153087146132ec57806354fd4d50146132b257806358b72a09146132765780636e98833d146115d257806377bad6b5146111225780638489f9bf1461104b57806389a44acb146109c0578063a449d03014610901578063ac210cc714610892578063d0fb020314610823578063da1c795f14610330578063de0e9a3e14610223578063e78f84e7146101dd5763ea598cb0146100cd57600080fd5b346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761011f73ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b610127613f0a565b8073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001661016a811515613ea5565b803b156101da5781600491604051928380927fd0e30db00000000000000000000000000000000000000000000000000000000082528235905af180156101cf576101b7575b506001905580f35b816101c191613540565b6101cc5780386101af565b80fd5b6040513d84823e3d90fd5b50fd5b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602067ffffffffffffffff60045416604051908152f35b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761027673ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b61027e613f0a565b8073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000166102c1811515613ea5565b803b156101da578180916024604051809581937f2e1a7d4d00000000000000000000000000000000000000000000000000000000835260043560048401525af1801561032357610313575b6001815580f35b61031c91613540565b388161030c565b50604051903d90823e3d90fd5b5060207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5760043567ffffffffffffffff811161081f5761037b90369060040161366c565b61039e73ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b6103a6613f0a565b6040517f9af1d35a00000000000000000000000000000000000000000000000000000000815260a08160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa9081156108145783916107e5575b5061042481836143ec565b9190926104328385336140b1565b60ff608067ffffffffffffffff6004541693015116907f00000000000000000000000000000000000000000000000000000000000000009360409081519261047a8385613540565b600184527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08301895b8181106107ce5750506104b584613a9e565b526104bf83613a9e565b506104cd60ff84511061433b565b67ffffffffffffffff6004546104ed6104e68651614044565b821061433b565b169267ffffffffffffffff95895b825160ff82169081101561078f576105139084613ada565b51610520868201516143a0565b6002811015610762576001036107055788888260e08d940183815116848103610596575b50509160ff949391610557936003614740565b501660ff8114610569576001016104fb565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b91945092506105a691508961443c565b908a821680915260045411156106a8576105c1906004613bf4565b508973ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff835416149182610699575b8261068c575b82610679575b50501561061c5788888b923880610544565b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b8192506005015460101c1614893861060a565b6003810154159250610604565b600581015460ff1692506105fe565b606487517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b606486517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8b837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608e898b805192600184526020840152820152a26001815580f35b6020906107d9613b75565b828289010152016104a3565b610807915060a03d60a01161080d575b6107ff8183613540565b810190613e3c565b38610419565b503d6107f5565b6040513d85823e3d90fd5b5080fd5b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576109396135ff565b60045467ffffffffffffffff82161015610962576109586020916143ad565b6040519015158152f35b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4f490000000000000000000000000000000000000000000000000000000000006044820152fd5b5060407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5760043567ffffffffffffffff811161081f57610a0b9036906004016138ed565b602435600381101561104757610a3a73ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b610a42613f0a565b604051917f9af1d35a00000000000000000000000000000000000000000000000000000000835260a08360048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa92831561103c57849361101b575b50610ac18382613b2a565b939092610acf8585336140b1565b60ff608067ffffffffffffffff6004541693015116947f000000000000000000000000000000000000000000000000000000000000000093610b1460ff82511061433b565b67ffffffffffffffff600454610b2d6104e68451614044565b169280610e3b575067ffffffffffffffff935b885b825160ff821690811015610df657610b5a9084613ada565b5190610b6960408301516143a0565b6002811015610dc957600103610d6b5787878b60e0850167ffffffffffffffff81511667ffffffffffffffff8103610bed575b505090610bae929160ff956003614740565b501660ff8114610bc057600101610b42565b60248a7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b91509250610bfc91508861443c565b9067ffffffffffffffff82168091526004541115610d0d57610c1f906004613bf4565b5073ffffffffffffffffffffffffffffffffffffffff60208401511673ffffffffffffffffffffffffffffffffffffffff825416149081610cfe575b81610cf1575b81610cd5575b5015610c775787878b3880610b9c565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f5300000000000000000000000000000000000000000000000000000000006044820152fd5b67ffffffffffffffff915060058291015460101c161438610c67565b6003810154159150610c61565b600581015460ff169150610c5b565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f434f4900000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f55520000000000000000000000000000000000000000000000000000000000006044820152fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b8a837fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df96683560608c8960ff8a51169160405192835260208301526040820152a26001815580f35b938860018614801561100f575b15610fb15760055467ffffffffffffffff81169660ff85511690604051936060850185811067ffffffffffffffff821117610f845760405261076257835260208301918783526040840191825268010000000000000000811015610f5757806001610eb892016005556005614099565b939093610f2b5751916003831015610762578354905191517fffffffffffffffffffffffffffffffffffffffffffff000000000000000000009190911660ff939093169290921760089190911b68ffffffffffffffff00161760489190911b69ff00000000000000000016179055610b40565b60248d7f4e487b7100000000000000000000000000000000000000000000000000000000815280600452fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60248f7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600460248201527f4f434f4d000000000000000000000000000000000000000000000000000000006044820152fd5b50508860028614610e48565b61103591935060a03d60a01161080d576107ff8183613540565b9138610ab6565b6040513d86823e3d90fd5b8280fd5b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc577f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc4860206110a66135ff565b6110c973ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b6110d1613f0a565b60076110de826004613bf4565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff82541617905567ffffffffffffffff60405191168152a16001815580f35b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576111a861115d6135ff565b606061010060405161116e816134ce565b611176613b75565b815285602082015285604082015285838201528560808201528560a08201528560c08201528560e08201520152613bd5565b5090604051906111b7826134ce565b6111c083613c34565b8252600783015490602083019160ff81168352604084019460ff8260081c1615158652606085019163ffffffff8160101c168352608086019067ffffffffffffffff8160301c16825267ffffffffffffffff60a088019160701c16815260088301549160c08801928352600a60098501549460e08a01958652019485549561124787613581565b966112556040519889613540565b808852602088019189526020892089925b82841061156357505050506101008901958652604051998a9960208b52519861012060208c01526101006102808c019a8c61014073ffffffffffffffffffffffffffffffffffffffff8351169101528c61016073ffffffffffffffffffffffffffffffffffffffff6020840151169101528c6101a062ffffff602060408501516112f5610180860182516139fd565b01511691015260608101516101c08e015260808101516101e08e015260a081015115156102008e015260c081015115156102208e015260e081015167ffffffffffffffff166102408e015201516101406102608d015280519a8b90526102a08c019a6020909101908a5b81811061143c575050905160ff1660408c01525051151560608a01525163ffffffff1660808901525167ffffffffffffffff90811660a089015290511660c08701525160e086015251610100850152518383037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0016101208501528051808452602093840193909101915b8181106113f8575050500390f35b919350916020608060019263ffffffff60608851805184528286820151168685015282604082015116604085015201511660608201520194019101918493926113ea565b919b600191939495969798999a9b9d5061022060209161154d8f6101c0905161ffff81511684528581015115158685015260408101511515604085015260608101511515606085015260808101511515608085015260a0810151151560a085015260c0810151151560c085015260e0810151151560e0850152610100810151151561010085015261ffff6101208201511661012085015262ffffff6101408201511661014085015263ffffffff6101608201511661016085015263ffffffff6101808201511661018085015261152e6101a08201516101a086019063ffffffff60208092828151168552015116910152565b01516101e083019063ffffffff60208092828151168552015116910152565b019c019101918d9c9a999897969594939261135f565b60409d9495969798999a9c9d516080810181811067ffffffffffffffff821117610f84576001926002926020926040528554815263ffffffff85870154818116858401528181861c16604084015260401c1660608201528152019201930192909c9b999897969594939c611266565b50346101cc5760607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761160a6135ff565b6024359060ff821682036110475760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbc360112611047576040516020810181811067ffffffffffffffff82111761324957604052604435905261166c613f0a565b6040517f8da5cb5b000000000000000000000000000000000000000000000000000000008152602081600481305afa90811561103c5784916131fa575b506116b382613bd5565b50916116be816143ad565b61319c5760068301805485101561316f578552602085206116e285600a8601613f9a565b509460018601549163ffffffff83164210613111576040519261170484613482565b8884528860208501528860408501528860608501528860808501528860a08501528860c08501528860e085015263ffffffff8160201c1642106130b35760401c63ffffffff164211613055576003820281015460ff8160301c168061303d575b15612c9b576002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b015416906117e860405194859384937f77aa2cd100000000000000000000000000000000000000000000000000000000855260ff62ffffff8460081c16931660048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a91612c69575b5061184a63ffffffff600160038702860101541661461a565b818060601b046c01000000000000000000000000148215171561056957806c01000000000000000000000000016c0100000000000000000000000011610569576118f792916118ab916c01000000000000000000000000019060601b61400b565b60208601525b61ffff6003890154916118dc828d6118cb82851687613ff8565b9050048060808a01528c5490614060565b60c088015260501c1680612c3a575b50600988015490614060565b8060e08501528060c085015111612c2f575b5060c0830151966004870154809810612bd1578880889760058901549060ff8260081c16600014612bca575b73ffffffffffffffffffffffffffffffffffffffff60018b015416998a9267ffffffffffffffff808260101c1614600014612b2e5760ff90859e5b8b73ffffffffffffffffffffffffffffffffffffffff80865416966002602060c085015194015197015498604051986119a88a613482565b895260208901521660408701526060860152608085015216151560a083015260c082015262ffffff8260081c1660e082015262ffffff60e060405192611a1c60208501957f90b54f0800000000000000000000000000000000000000000000000000000000875260ff6024870191166139fd565b73ffffffffffffffffffffffffffffffffffffffff815116604485015273ffffffffffffffffffffffffffffffffffffffff602082015116606485015273ffffffffffffffffffffffffffffffffffffffff6040820151166084850152606081015160a4850152608081015160c485015260a0810151151560e485015260c08101516101048501520151166101248201526101248152611abe61014482613540565b519073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165af4913d15612b26573d9267ffffffffffffffff8411612af95760405193611b4760207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8401160186613540565b84523d8b602086013e5b15612ae957604083805181010312612a2957604060208401519301519280604087015260ff60058a015416600014612adf57611b98905b8060c088015260098a0154613aee565b6009890155611bac60c08601518354613aee565b825560a0850151612a6f575b50614e20611bcd60ff60078a01541684613ff8565b0460608501526040517fea43b36b00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a91612a40575b50606085015173ffffffffffffffffffffffffffffffffffffffff604051927fa9059cbb00000000000000000000000000000000000000000000000000000000845216600483015260248201526020816044818d8b5af18015612a35576129f6575b5060ff7f234549737f22f93fc832ad92234b4a16c08b5e5f40bfb872ec6540904522fc549360809367ffffffffffffffff9363ffffffff6001606060408b01519a0151920154169160405198895260208901526040880152606087015216941692a3600582015467ffffffffffffffff8160101c169367ffffffffffffffff8503611e5d575b50505067ffffffffffffffff915080611d5260036007930154600983015490614060565b60048201541115611d8a57015460301c1667ffffffffffffffff8103611d7b575b506001815580f35b611d84906150de565b38611d73565b015460301c1667ffffffffffffffff81141580611dbc575b611dad575b5061030c565b611db6906150de565b38611da7565b50600554811015611e3057600582527f036b6384b5eca791c62761152d0c79bb0604c104a5fb6f4eb0703f3154bb3db081015460ff166003811015611e0357600114611da2565b6024837f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024827f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b6020611e76611e70602494969597613bd5565b50613c34565b95604051938480927f70a082310000000000000000000000000000000000000000000000000000000082523060048301525afa80156129eb5786906129b3575b611ec09250614060565b916060840192835260ff6007830154166004549167ffffffffffffffff8316926801000000000000000081101561298657806001611f0392016004556004613bf4565b5050611f10836004613bf4565b509473ffffffffffffffffffffffffffffffffffffffff80885116167fffffffffffffffffffffffff000000000000000000000000000000000000000087541617865573ffffffffffffffffffffffffffffffffffffffff60208801511673ffffffffffffffffffffffffffffffffffffffff6001880191167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556002860160408801518051906002821015612959577fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff006020865494015160081b169316911617179055516003860155608086015160048601556005850160a0870151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617815561208660c0880151151582907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e08701517fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff69ffffffffffffffff000083549260101b169116179055610100860151805190680100000000000000008211612350576006870154826006890155808310612905575b506020016006870189526020892089915b83831061257557505050507fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff6dffffffffffffffff00000000000060078701937fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0075ffffffffffffffff0000000000000000000000000000807fffffffffffffffffffffffffffffffffffff000000000000000000000000000088549760601b16161694161765ffffffff00004260101b161717161790558491855b61010086015180518210156123e857816121d591613ada565b516060810151158015906123db575b61237d57600a86015468010000000000000000811015612350578060016122149201600a890155600a8801613f9a565b505061222382600a8801613f9a565b506020820151156123395761228c600161224e63ffffffff6101608601511663ffffffff4216615217565b925b019182907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b604082015115612328576122b163ffffffff6101808401511663ffffffff4216615217565b81547fffffffffffffffffffffffffffffffffffffffff00000000ffffffff000000001660409190911b6bffffffff000000000000000016174263ffffffff1617905560c0810151158015919061231a575b50612311575b6001016121bc565b60019350612309565b60e091500151151538612303565b63ffffffff610180830151166122b1565b61228c600163ffffffff6101608501511692612250565b6024897f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e490000000000000000000000000000000000000000000000000000000000006044820152fd5b50608081015115156121e4565b505092909391612441575b505060079067ffffffffffffffff927fb8d5128cd9cda2db9057d427ff64975ed6b7fd2fab0d755f0800cf41df966835606060405160018152876020820152876040820152a2903880611d2e565b602061245060408401516143a0565b73ffffffffffffffffffffffffffffffffffffffff845116906124c762ffffff84604073ffffffffffffffffffffffffffffffffffffffff828a01511698015101511660405196879485947f77aa2cd100000000000000000000000000000000000000000000000000000000865260048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561256a578592612524575b50600801558067ffffffffffffffff6123f3565b929150926020833d602011612562575b8161254160209383613540565b8101031261255e579151919290919067ffffffffffffffff612510565b8480fd5b3d9150612534565b6040513d87823e3d90fd5b8051805161ffff16818454916020820151151560101b62ff0000166040830151151560181b6060840151151560201b6080850151151560281b60a0860151151560301b60c0870151151560381b9160e0880151151560401b93610100890151151560481b956101208a015160501b6bffff0000000000000000000016976101408b015160601b6effffff00000000000000000000000016996101608c015160781b72ffffffff000000000000000000000000000000169b610180015160981b76ffffffff00000000000000000000000000000000000000169c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff169063ff00000016177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff169064ff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff1661289f91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff000000001617905560200190600301916001019190612100565b6003818102048103610bc0576003838102048303610bc057600688018a5260208a208360030281015b82600302820181106129415750506120ef565b808c600392558c60018201558c60028201550161292e565b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526021600452fd5b6024887f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b506020823d6020116129e3575b816129cd60209383613540565b810103126129df57611ec09151611eb6565b8580fd5b3d91506129c0565b6040513d88823e3d90fd5b6020813d602011612a2d575b81612a0f60209383613540565b81010312612a2957518015158103612a29575060ff611ca8565b8980fd5b3d9150612a02565b6040513d8c823e3d90fd5b612a62915060203d602011612a68575b612a5a8183613540565b81019061406d565b38611c46565b503d612a50565b63ffffffff612aaa612aa4612a99839462ffffff60c08b01519160038b02015460601c1690613ff8565b60a08901519061400b565b42613aee565b16167fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060018301541617600182015538611bb8565b50611b9883611b88565b8251838b82156101cc5750602001fd5b60248b7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b606092611b51565b9350509050604051907f70a082310000000000000000000000000000000000000000000000000000000082523060048301526020826024818d5afa91821561103c5784938b938d928691612b88575b509060ff919e611970565b9450509350506020823d602011612bc2575b81612ba760209383613540565b81010312612bbe578a60ff85948c94519091612b7d565b8380fd5b3d9150612b9a565b5030611935565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54460000000000000000000000000000000000000000000000000000000000006044820152fd5b60c084015238611909565b612c4b61ffff916080880151613ff8565b048060a08701528060c087015111156118eb5760c0860152386118eb565b90506020813d602011612c93575b81612c8460209383613540565b81010312612a29575138611831565b3d9150612c77565b888452612caf6001600385028401016144fd565b612e8c575b612cc56002600385028401016144fd565b612cd3575b6118f7906118b1565b835115612d8a575b60ff8160401c16600014612d7457612d0e63ffffffff600789015460101c16600889015490600260038702860101614596565b84511115612cca5760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c550000000000000000000000000000000000000000000000000000000000006044820152fd5b612d85600260038502840101614522565b612d0e565b6002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b01541690612e0960405194859384937f4f78bfff00000000000000000000000000000000000000000000000000000000855260ff62ffffff8460081c16931660048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a91612e5a575b508452612cdb565b90506020813d602011612e84575b81612e7560209383613540565b81010312612a29575138612e52565b3d9150612e68565b6002870154602073ffffffffffffffffffffffffffffffffffffffff89541673ffffffffffffffffffffffffffffffffffffffff60018b01541690612f0b60405194859384937f4f78bfff00000000000000000000000000000000000000000000000000000000855260ff62ffffff8460081c16931660048601613fb6565b038173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa908115612a35578a9161300b575b50845260ff8160381c16600014612ff557612f8a63ffffffff600789015460101c16600889015490600160038702860101614596565b806020860152845111612cb45760646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4c4c0000000000000000000000000000000000000000000000000000000000006044820152fd5b613006600160038502840101614522565b612f8a565b90506020813d602011613035575b8161302660209383613540565b81010312612a29575138612f54565b3d9150613019565b5063ffffffff60016003850284010154161515611764565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f544c0000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f54450000000000000000000000000000000000000000000000000000000000006044820152fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f524c0000000000000000000000000000000000000000000000000000000000006044820152fd5b6024867f4e487b710000000000000000000000000000000000000000000000000000000081526032600452fd5b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f4e4f0000000000000000000000000000000000000000000000000000000000006044820152fd5b90506020813d602011613241575b8161321560209383613540565b81010312612bbe575173ffffffffffffffffffffffffffffffffffffffff81168103612bbe57386116a9565b3d9150613208565b6024857f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b50346101cc5760207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576132ae613599565b5080f35b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc57602060405160018152f35b50346101cc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576004359067ffffffffffffffff82116101cc576040613350613341366004860161366c565b61334a3661396c565b90613f45565b82519182526020820152f35b50346101cc5760c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc576004359067ffffffffffffffff82116101cc5760406133506133b136600486016138ed565b6133ba3661396c565b90613b2a565b50346101cc57807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601126101cc5761341273ffffffffffffffffffffffffffffffffffffffff600254163314613a39565b61341a613f0a565b7fce65bc44c9caad3bb118ec247275ee69b1ce0e86e3099162ad165bbb3eb3238b602067ffffffffffffffff60045416807fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000006003541617600355604051908152a16001815580f35b610100810190811067ffffffffffffffff82111761349f57604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b610120810190811067ffffffffffffffff82111761349f57604052565b6040810190811067ffffffffffffffff82111761349f57604052565b6101e0810190811067ffffffffffffffff82111761349f57604052565b60a0810190811067ffffffffffffffff82111761349f57604052565b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761349f57604052565b67ffffffffffffffff811161349f5760051b60200190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036135bc57565b600080fd5b359073ffffffffffffffffffffffffffffffffffffffff821682036135bc57565b359062ffffff821682036135bc57565b359081151582036135bc57565b6004359067ffffffffffffffff821682036135bc57565b359061ffff821682036135bc57565b359063ffffffff821682036135bc57565b91908260409103126135bc5760405161364e816134eb565b602061366781839561365f81613625565b855201613625565b910152565b91908281039261014084126135bc5760405190613688826134ce565b60407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc083966136b6846135c1565b85526136c4602085016135c1565b602086015201126135bc576040516136db816134eb565b604082013560028110156135bc5781526136f7606083016135e2565b602082015260408301526080810135606083015260a0810135608083015261372160c082016135f2565b60a083015261373260e082016135f2565b60c083015261010081013567ffffffffffffffff811681036135bc5760e08301526101208101359067ffffffffffffffff82116135bc570182601f820112156135bc5780359061378182613581565b9361378f6040519586613540565b82855260206102208187019402830101918183116135bc57602001925b8284106137be57505050506101000152565b610220848303126135bc576020610220916040516137db81613507565b6137e487613616565b81526137f18388016135f2565b83820152613801604088016135f2565b6040820152613812606088016135f2565b6060820152613823608088016135f2565b608082015261383460a088016135f2565b60a082015261384560c088016135f2565b60c082015261385660e088016135f2565b60e082015261386861010088016135f2565b61010082015261387b6101208801613616565b61012082015261388e61014088016135e2565b6101408201526138a16101608801613625565b6101608201526138b46101808801613625565b6101808201526138c8856101a08901613636565b6101a08201526138dc856101e08901613636565b6101c08201528152019301926137ac565b9080601f830112156135bc57813561390481613581565b926139126040519485613540565b81845260208085019260051b820101918383116135bc5760208201905b83821061393e57505050505090565b813567ffffffffffffffff81116135bc576020916139618784809488010161366c565b81520191019061392f565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60a09101126135bc57604051906139a382613524565b8160243560ff811681036135bc57815260443560ff811681036135bc57602082015260643560ff811681036135bc57604082015260843560ff811681036135bc57606082015260a4359060ff821682036135bc5760800152565b906002821015613a0a5752565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b15613a4057565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600960248201527f6e6f74206f776e657200000000000000000000000000000000000000000000006044820152fd5b805115613aab5760200190565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b8051821015613aab5760209160051b010190565b91908201809211613afb57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600092918391825b8151841015613b6d57613b64600191613b5e613b5886613b528988613ada565b51613f45565b92613aee565b97613aee565b93019294613b32565b949392505050565b60405190613b82826134ce565b6060610100836000815260006020820152604051613b9f816134eb565b6000815260006020820152604082015260008382015260006080820152600060a0820152600060c0820152600060e08201520152565b600454811015613aab576004600052600b602060002091020190600090565b8054821015613aab57600052600b602060002091020190600090565b90604051613c1d816134eb565b602063ffffffff8294548181168452821c16910152565b90604051613c41816134ce565b809273ffffffffffffffffffffffffffffffffffffffff815416825273ffffffffffffffffffffffffffffffffffffffff600182015416602083015260405190613c8a826134eb565b60028101549160ff83166002811015613a0a5760069362ffffff91835260081c1660208201526040840152600381015460608401526004810154608084015267ffffffffffffffff600582015460ff8116151560a086015260ff8160081c16151560c086015260101c1660e084015201908154613d0681613581565b92613d146040519485613540565b818452602084019060005260206000206000915b838310613d3a57505050506101000152565b60036020600192604051613d4d81613507565b63ffffffff865461ffff8116835260ff8160101c1615158584015260ff8160181c161515604084015260ff81861c161515606084015260ff8160281c161515608084015260ff8160301c16151560a084015260ff8160381c16151560c084015260ff8160401c16151560e084015260ff8160481c16151561010084015261ffff8160501c1661012084015262ffffff8160601c16610140840152818160781c1661016084015260981c16610180820152613e08858701613c10565b6101a0820152613e1a60028701613c10565b6101c0820152815201920192019190613d28565b519060ff821682036135bc57565b908160a09103126135bc57613e9d608060405192613e5984613524565b613e6281613e2e565b8452613e7060208201613e2e565b6020850152613e8160408201613e2e565b6040850152613e9260608201613e2e565b606085015201613e2e565b608082015290565b15613eac57565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600260248201527f57550000000000000000000000000000000000000000000000000000000000006044820152fd5b600260005414613f1b576002600055565b7f3ee5aeb50000000000000000000000000000000000000000000000000000000060005260046000fd5b60e081019167ffffffffffffffff8084511614613f8f57613f85611e70613f80613f8b9567ffffffffffffffff80600454169151169061443c565b613bd5565b916144aa565b9091565b90613f8b92506143ec565b8054821015613aab5760005260206000209060011b0190600090565b929373ffffffffffffffffffffffffffffffffffffffff62ffffff92969581606095613fe688608081019b6139fd565b16602087015216604085015216910152565b81810292918115918404141715613afb57565b8115614015570490565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b67ffffffffffffffff039067ffffffffffffffff8211613afb57565b91908203918211613afb57565b908160209103126135bc575173ffffffffffffffffffffffffffffffffffffffff811681036135bc5790565b8054821015613aab5760005260206000200190600090565b916140bc8183613aee565b34106142dd578115801561420b575b5080158015614139575b506140df91613aee565b3481106140ea575050565b60008080936140fa829434614060565b908290821561412f575b73ffffffffffffffffffffffffffffffffffffffff1690f11561412357565b6040513d6000823e3d90fd5b6108fc9150614104565b6040517f1db89da100000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561412357600084819492829493839484916141ec575b5083916141e2575b73ffffffffffffffffffffffffffffffffffffffff1690f11561412357386140d5565b6108fc91506141bf565b614205915060203d602011612a6857612a5a8183613540565b386141b7565b6040517febd3cdcd00000000000000000000000000000000000000000000000000000000815260208160048173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561412357600085819492829493839484916142be575b5083916142b4575b73ffffffffffffffffffffffffffffffffffffffff1690f11561412357386140cb565b6108fc9150614291565b6142d7915060203d602011612a6857612a5a8183613540565b38614289565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f46454500000000000000000000000000000000000000000000000000000000006044820152fd5b1561434257565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f544d4f00000000000000000000000000000000000000000000000000000000006044820152fd5b516002811015613a0a5790565b67ffffffffffffffff6003541667ffffffffffffffff8216109081156143d1575090565b60ff91506143e26007916004613bf4565b50015460081c1690565b919060608301511561443357806144196144136144309360ff602081835116920151161b90565b94615231565b9060ff606081604084015116920151161b90613ff8565b90565b50600091508190565b600090678000000000000000831661445357505090565b67ffffffffffffffff677fffffffffffffff9116019067ffffffffffffffff821161447d57501690565b807f4e487b7100000000000000000000000000000000000000000000000000000000602492526011600452fd5b909291926060820151156144f157906144ec6144e66144e0846144da6144309660ff602081835116920151161b90565b976143ec565b90613aee565b91615231565b613ff8565b50509050600090600090565b5463ffffffff81161590811591614512575090565b63ffffffff915060201c16151590565b5463ffffffff61453381831661461a565b9160201c168015614553579061454b6144309261461a565b9042916151bd565b5090565b8181029291600082127f8000000000000000000000000000000000000000000000000000000000000000821416613afb578184051490151715613afb57565b54909163ffffffff6145b7816145ad81861661461a565b9460201c1661461a565b931660030b916145c78385614557565b916000838203931281841281169082851390151617613afb576c01000000000000000000000000916145f891614557565b059060008282019283129112908015821691151617613afb57614430926151bd565b637fffffff81161561473a57637f800000811660030b60171d60030b60ff81146146dc576380000000627fffff831660030b826146d15760011b925b166146c5575b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff810160030b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb70360030b600081126000146146b8576000031b90565b6000811315614553571d90565b6000919091039061465c565b628000001792614656565b60646040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600360248201527f4e614e00000000000000000000000000000000000000000000000000000000006044820152fd5b50600090565b9290919394600163ffffffff4216940180549067ffffffffffffffff8216916801000000000000000081101561349f5761478c91614785826001869401835582613bf4565b5050613bf4565b509173ffffffffffffffffffffffffffffffffffffffff80865116167fffffffffffffffffffffffff0000000000000000000000000000000000000000845416178355602085019273ffffffffffffffffffffffffffffffffffffffff84511673ffffffffffffffffffffffffffffffffffffffff6001830191167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556002810195604081019889519788516002811015613a0a576000997fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000060ff63ffffff006020865494015160081b16931691161717905560608201516003840155608082015160048401556005830160a0830151151560ff7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00835416911617815561490e60c0840151151582907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff61ff00835492151560081b169116179055565b60e08301517fffffffffffffffffffffffffffffffffffffffffffff0000000000000000ffff69ffffffffffffffff000083549260101b16911617905560068301966101008301978851908151916801000000000000000083116150b1578154838355808410615008575b506020909d9a9d01908b5260208b208b915b838310614c72575050505075ffffffffffffffff0000000000000000000000000000906dffffffffffffffff0000000000007fffffffffffffffffffff0000000000000000ffffffffffffffffffffffffffff60078701947fffffffffffffffffffffffffffffffffffff000000000000000000000000ff0060ff875492169116171665ffffffff00004260101b16179160301b161717905586948796600a84019b63ffffffff8b16985b8c518051821015614b805781614a4b91613ada565b51606081015115801590614b73575b61237d578e5468010000000000000000811015610f57578f8390614a87836001614a8e9501835582613f9a565b5050613f9a565b5060208201518e9015614b5b57600161224e614ab69263ffffffff6101608701511690615217565b60408201518e9015614b4957614ad89063ffffffff6101808501511690615217565b81547fffffffffffffffffffffffffffffffffffffffff00000000ffffffff000000001660409190911b6bffffffff000000000000000016178c17905560c08101511580159190614b3b575b50614b32575b600101614a36565b60019850614b2a565b60e091500151151538614b24565b5063ffffffff61018083015116614ad8565b50614ab6600163ffffffff6101608501511692612250565b5060808101511515614a5a565b5050949a50949a5094919697509450614b9c575b505050505050565b60209273ffffffffffffffffffffffffffffffffffffffff62ffffff858280614bc588516143a0565b995116945116955101511695614c0a604051978896879586947f77aa2cd100000000000000000000000000000000000000000000000000000000865260048601613fb6565b0392165afa928315614c66578093614c2e575b505060080155388080808080614b94565b909192506020823d602011614c5e575b81614c4b60209383613540565b810103126101cc57505190600838614c1d565b3d9150614c3e565b604051903d90823e3d90fd5b809e9b9e51805161ffff16818454916020820151151560101b62ff0000166040830151151560181b6060840151151560201b6080850151151560281b60a0860151151560301b60c0870151151560381b9160e0880151151560401b93610100890151151560481b956101208a015160501b6bffff0000000000000000000016976101408b015160601b6effffff00000000000000000000000016996101608c015160781b72ffffffff000000000000000000000000000000169b610180015160981b76ffffffff00000000000000000000000000000000000000169c7fffffffffffffffffffffffffffffffffffffffffffffffffffffffff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffff16177fffffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffff169063ff00000016177fffffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffff169064ff0000000016177fffffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffff169065ff000000000016177fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff169066ff00000000000016177fffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffffff169067ff0000000000000016177fffffffffffffffffffffffffffffffffffffffff0000ffffffffffffffffffff169068ff000000000000000016177fffffffffffffffffffffffffffffffffff000000ffffffffffffffffffffffff169069ff00000000000000000016177fffffffffffffffffffffffffff00000000ffffffffffffffffffffffffffffff16177fffffffffffffffffff00000000ffffffffffffffffffffffffffffffffffffff161717178355600183016101a0820151805163ffffffff1663ffffffff1682547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff00000000161782556020015163ffffffff16614f9f91907fffffffffffffffffffffffffffffffffffffffffffffffff00000000ffffffff67ffffffff0000000083549260201b169116179055565b6101c0015180516002840180546020938401517fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000090911663ffffffff909316929092179190921b67ffffffff0000000016179055602001906003019160010191909d9a9d61498b565b8060030290600382040361508457836003026003810485036150575760208e8581522091820191015b8d828210615040575050614979565b808255600182018190556002820155600301615031565b60248e7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60248d7f4e487b710000000000000000000000000000000000000000000000000000000081526011600452fd5b60248c7f4e487b710000000000000000000000000000000000000000000000000000000081526041600452fd5b6150e9906005614099565b505467ffffffffffffffff60ff818360081c169260481c161667ffffffffffffffff8216019067ffffffffffffffff8211613afb5767ffffffffffffffff91909116906004905b8267ffffffffffffffff82161061514657505050565b600181600761515e67ffffffffffffffff9486613bf4565b50016101007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff8254161790557f74a075ee230588b5c76ea493a6d21b086384f29139b7227b9c6329e66106dc4860206040518584168152a10116615130565b90918281830201928215614015578303829005036151e45750600081136144305750600090565b600012159050615212577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b600090565b9063ffffffff8091169116019063ffffffff8211613afb57565b600091825b61010083015180518510156152e1576101206152558661ffff93613ada565b510151169060008261527e575061010091506152746001918290613aee565b9401939050615236565b5061ffff61529181848104169384613ff8565b106152a6575b61527461010092600192613aee565b6001820180921115615297577f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b509250905056fea2646970667358221220ddc8ff4ef8e533983a1a426d9b65d551d5835ecc0bbcdf1ebdf31da25e6c060e64736f6c634300081a0033","sourceMap":"6364:182:69:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:42;6364:182;6320:6;6364:182;;6306:10;:20;6298:42;:::i;:::-;2466:103:28;;:::i;:::-;6032:5:69;6364:182;6032:5;6364:182;6016:40;6024:26;;;6016:40;:::i;:::-;6066:29;;;;;6364:182;;;;;6066:29;;;;6364:182;6066:29;;6364:182;;6066:29;;;;;;;;;6364:182;1899:1:28;6364:182:69;1899:1:28;;6364:182:69;;6066:29;;;;;:::i;:::-;6364:182;;6066:29;;;;6364:182;;;6066:29;6364:182;;;;;;;;;6066:29;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6298:42;6364:182;6320:6;6364:182;;6306:10;:20;6298:42;:::i;:::-;2466:103:28;;:::i;:::-;6198:5:69;6364:182;6198:5;6364:182;6182:40;6190:26;;;6182:40;:::i;:::-;6232:22;;;;;6364:182;;;6232:22;6364:182;;6232:22;;;;6364:182;6232:22;;6364:182;;;6232:22;;6364:182;6232:22;;;;;;;;6364:182;;1899:1:28;;6364:182:69;;6232:22;;;;:::i;:::-;;;;;;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6298:42;6364:182;6320:6;6364:182;;6306:10;:20;6298:42;:::i;:::-;2466:103:28;;:::i;:::-;6364:182:69;;;2927:17;;;:10;6364:182;2927:10;6364:182;2927:10;6364:182;2927:17;;;;;;;;;;;6364:182;2991:36;;;;;:::i;:::-;6306:10;;;3306:6;6306:10;;;3306:6;:::i;:::-;6364:182;3427:20;6364:182;;;;3427:20;;6364:182;;3449:6;;6364:182;;;;;;;;;;:::i;:::-;3478:1:61;6364:182:69;;;;;;;;;;;;3490:20:61;;;;;:::i;:::-;;;;;:::i;:::-;;3798:50;6364:182:69;;;3806:34:61;3798:50;:::i;:::-;6364:182:69;;;3883:72:61;3912:35;6364:182:69;;3912:35:61;:::i;:::-;3891:56;;3883:72;:::i;:::-;6364:182:69;4021:15:61;6364:182:69;4589:11:61;;4624:3;6364:182:69;;;;;4602:20:61;;;;;;4669:12;;;;:::i;:::-;;4703:20;:11;;;;:20;:::i;:::-;6320:6:69;6364:182;;;;;3478:1:61;4703:42;6364:182:69;;5483:22:61;;;6364:182:69;5483:22:61;;;6364:182:69;;;;5483:46:61;;;5479:1493;;4624:3;6985:81;;;6364:182:69;6985:81:61;;;;;3350:11:69;6985:81:61;:::i;:::-;;6364:182:69;;;;;;3478:1:61;6364:182:69;4589:11:61;;6364:182:69;;;;;;;;;;5479:1493:61;5566:58;;;;;;;;;;:::i;:::-;6364:182:69;;;;;;;;;-1:-1:-1;6364:182:69;;;6241:20:61;;6364:182:69;6241:20:61;:::i;:::-;6454:14;;6364:182:69;;6454:14:61;;6364:182:69;;;;;;6454:37:61;:136;;;;5479:1493;6454:240;;;5479:1493;6454:419;;;5479:1493;6364:182:69;;;;;5479:1493:61;;;;;;;;6364:182:69;;;;;;;;;;;;3350:11;6364:182;;;;;;;;;;6454:419:61;6821:28;;;;;6364:182:69;;;;6821:52:61;6454:419;;;;:240;3350:11:69;6671:18:61;;6364:182:69;6671:23:61;;-1:-1:-1;6454:240:61;;:136;6565:25;;;6364:182:69;;;;-1:-1:-1;6454:136:61;;6364:182:69;;;;;;;;;;;;3350:11;6364:182;;;;;;;;;;;;;;;;;;;;;;6320:6;6364:182;;;;;;;;;;;;;;;;;;;;4602:20:61;;;3471:51:69;6364:182;4602:20:61;;;6364:182:69;;;3478:1:61;6364:182:69;;;;;;;;;3471:51;3478:1:61;1899::28;;6364:182:69;;;;;;;:::i;:::-;;;;;;;;;;2927:17;;;;;;;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1209:39;6364:182;;;;;;;;;;;;;;;;;;;;5929:5;6364:182;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;5670:38;6364:182;;;5733:45;6364:182;5733:45;;:::i;:::-;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;6298:42;6364:182;6320:6;6364:182;;6306:10;:20;6298:42;:::i;:::-;2466:103:28;;:::i;:::-;6364:182:69;;3776:17;6364:182;3776:17;;;:10;6364:182;3776:10;6364:182;3776:10;6364:182;3776:17;;;;;;;;;;;6364:182;3840:27;;;;;:::i;:::-;6306:10;;;3917:6;6306:10;;;3917:6;:::i;:::-;6364:182;4040:20;6364:182;;;;4040:20;;6364:182;;4071:6;;6364:182;3798:50:61;6364:182:69;;;3806:34:61;3798:50;:::i;:::-;6364:182:69;;;3883:72:61;3912:35;6364:182:69;;3912:35:61;:::i;3883:72::-;6364:182:69;;4050:25:61;;;4090:23;6364:182:69;4046:367:61;;4589:11;4624:3;6364:182:69;;;;;4602:20:61;;;;;;4669:12;;;;:::i;:::-;;4703:11;:20;6364:182:69;4703:11:61;;;:20;:::i;:::-;6320:6:69;6364:182;;;;;3891:11:61;4703:42;6364:182:69;;5483:22:61;;;6364:182:69;5483:22:61;;6364:182:69;;;;;5483:46:61;;5479:1493;;4624:3;6985:81;;;;;;6364:182:69;6985:81:61;6364:182:69;6985:81:61;:::i;:::-;;6364:182:69;;;;;;3891:11:61;6364:182:69;4589:11:61;;6364:182:69;;;;;;;;;;5479:1493:61;5566:58;;;;;;;;;:::i;:::-;6364:182:69;;;;;;;;;-1:-1:-1;6364:182:69;;;6241:20:61;;6364:182:69;6241:20:61;:::i;:::-;6454:14;6364:182:69;;6454:14:61;;6364:182:69;;;;;;6454:37:61;:136;;;;5479:1493;6454:240;;;5479:1493;6454:419;;;5479:1493;6364:182:69;;;;5479:1493:61;;;;;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;6454:419:61;6364:182:69;6821:28:61;;;;;;6364:182:69;;;;6821:52:61;6454:419;;;:240;6364:182:69;6671:18:61;;6364:182:69;6671:23:61;;-1:-1:-1;6454:240:61;;:136;6565:25;;;6364:182:69;;;;-1:-1:-1;6454:136:61;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;6320:6;6364:182;;;;;;;;;;;;;;;;;;;;4602:20:61;;;4093:70:69;6364:182;4602:20:61;;6364:182:69;4602:20:61;6364:182:69;;;;;;;;;;;;;;;;4093:70;3891:11:61;1899:1:28;;6364:182:69;;4046:367:61;306:16:62;;3891:11:61;4133:41;;:84;;;;4046:367;4128:285;;;4251:14;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;306:16:62;;6364:182:69;;;4307:54:61;;6364:182:69;;;;;4307:54:61;;6364:182:69;;;;;;;;;;3891:11:61;6364:182:69;;;4251:14:61;6364:182:69;4251:14:61;6364:182:69;:::i;:::-;;;;;;;306:16:62;6364:182:69;306:16:62;;;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4046:367:61;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4128:285:61;4399:14;6364:182:69;;4399:14:61;;;6364:182:69;;4399:14:61;;6364:182:69;;;;;;;;;;;4399:14:61;4133:84;306:16:62;;;6320:6:69;4178:39:61;;4133:84;;3776:17:69;;;;;;;;;;;;;;;:::i;:::-;;;;;;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;18679:32:61;6364:182:69;;;:::i;:::-;6298:42;6364:182;6320:6;6364:182;;6306:10;:20;6298:42;:::i;:::-;2466:103:28;;:::i;:::-;18625:32:61;:23;;6364:182:69;18625:23:61;:::i;:::-;:32;;6364:182:69;;;;;;;;;;;;;;;18679:32:61;18660:4;1899:1:28;;6364:182:69;;;;;;;;;;;;;;4921:30;6364:182;;:::i;:::-;;;;;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4921:30;:::i;:::-;6364:182;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6364:182:69;;;;;;;;-1:-1:-1;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2466:103:28;;:::i;:::-;6364:182:69;;;5194:13;;6364:182;5118:4;6364:182;5118:4;;5194:13;;;;;;;;;;;6364:182;10385:23:61;;;;:::i;:::-;10422:29;;;;;:::i;:::-;10418:59;;10525:21;;;6364:182:69;;;;;;;;;;;;10602:34:61;:20;;;;:34;:::i;:::-;10673:22;;6364:182:69;10673:22:61;;6364:182:69;;;;;10654:15:61;:41;6364:182:69;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10654:15:61;10851:35;10847:65;;6364:182:69;;;;10654:15:61;10940:33;10936:63;;5234:11:69;6364:182;;;;;;;;;;11123:58:61;;;6364:182:69;11119:2242:61;;;11286:18;;;6364:182:69;;;;;;;;11353:21:61;;6364:182:69;;;11264:135:61;6364:182:69;;11264:135:61;;;;;6364:182:69;11264:135:61;;6364:182:69;;;;;;;;;11264:135:61;;;:::i;:::-;;5288:6:69;6364:182;5288:6;6364:182;11264:135:61;;;;;;;;;;;11119:2242;6364:182:69;11505:37:61;6364:182:69;;5234:11;6364:182;;;;11505:15:61;6364:182:69;;11505:37:61;:::i;:::-;6364:182:69;;;;;11584:5:61;6364:182:69;;;;;;;;11584:5:61;6364:182:69;11584:5:61;6364:182:69;;;13901:35:61;6364:182:69;;11567:41:61;6364:182:69;11584:5:61;6364:182:69;;;;11567:41:61;:::i;:::-;6364:182:69;;;;11119:2242:61;6364:182:69;5234:11;13413:19:61;;6364:182:69;;13521:32:61;6364:182:69;;13413:38:61;6364:182:69;;;13413:38:61;;:::i;:::-;:53;6364:182:69;;;;;;;;;13521:32:61;;:::i;:::-;6364:182:69;;;;;;;13590:30:61;13586:258;;11119:2242;13923:13;;;;6364:182:69;13901:35:61;;:::i;:::-;6364:182:69;;;;;;;;;;13950:22:61;13946:117;;11119:2242;6364:182:69;;;;;14094:26:61;6364:182:69;14094:26:61;;6364:182:69;14082:38:61;;;355:16:62;;14158:34:61;;;;;;;6364:182:69;14158:58:61;6364:182:69;;;;;14158:58:61;6364:182:69;;;14158:58:61;6364:182:69;;14251:21:61;;6364:182:69;;14447:93:61;;;6364:182:69;;;;;;14447:53:61;:93;6364:182:69;;;;14447:93:61;;;;6364:182:69;;;;;;;15270:18:61;6364:182:69;;;;;;;;15270:18:61;;6364:182:69;;;;;;;;:::i;:::-;;;;15083:210:61;;6364:182:69;;;15083:210:61;;6364:182:69;;15083:210:61;;6364:182:69;;15083:210:61;;6364:182:69;;;;;15083:210:61;;6364:182:69;;15083:210:61;;6364:182:69;;;;;;;15083:210:61;;6364:182:69;;;;;15407:86:61;355:16:62;6364:182:69;15407:86:61;;;15430:21;15407:86;;6364:182:69;;15407:86:61;;6364:182:69;;355:16:62;:::i;:::-;6364:182:69;355:16:62;;6364:182:69;;355:16:62;;6364:182:69;;;15083:210:61;;355:16:62;6364:182:69;355:16:62;;;6364:182:69;;;15083:210:61;;355:16:62;6364:182:69;355:16:62;;;6364:182:69;;15083:210:61;;355:16:62;;;;6364:182:69;;15083:210:61;;355:16:62;;;;6364:182:69;;15083:210:61;;355:16:62;6364:182:69;;355:16:62;;;6364:182:69;;15083:210:61;;355:16:62;;;;6364:182:69;15083:210:61;355:16:62;6364:182:69;355:16:62;;;6364:182:69;355:16:62;15407:86:61;;;;;;:::i;:::-;15365:138;5288:6:69;6364:182;5288:6;6364:182;15365:138:61;;;355:16:62;;;;;;6364:182:69;355:16:62;;;;6364:182:69;;;;;;;;;;355:16:62;6364:182:69;;:::i;:::-;355:16:62;;;;6364:182:69;355:16:62;;;;15517:8:61;15513:319;;6364:182:69;;;;15901:38:61;;355:16:62;;;;6364:182:69;;15901:38:61;;6364:182:69;355:16:62;;6364:182:69;;;;;;;;14158:34:61;;;6364:182:69;;15994:51:61;;;;16055:25;15994:51;;6364:182:69;;;;;13923:13:61;;;6364:182:69;16055:25:61;:::i;:::-;13923:13;;;1899:1:28;16090:26:61;6364:182:69;;;;;;16090:26:61;:::i;:::-;1899:1:28;;6364:182:69;;;;16163:238:61;;15994:51;16460:21;16484:6;16448:33;6364:182:69;16460:21:61;;;6364:182:69;;16448:33:61;;:::i;:::-;6364:182:69;;;;;;;;16518:27:61;;6364:182:69;5296:10;6364:182;5296:10;6364:182;5296:10;6364:182;16518:27:61;;;;;;;;;;;15994:51;6364:182:69;;;;;;;;16500:57:61;6364:182:69;16500:57:61;;6364:182:69;;16500:57:61;;6364:182:69;;355:16:62;;6364:182:69;;16500:57:61;6364:182:69;16500:57:61;;;;;;;;;;;15994:51;6364:182:69;;16573:114:61;6364:182:69;;;;;;;;;;;;;;;10673:22:61;;6364:182:69;;;;;;;;;355:16:62;;6364:182:69;;355:16:62;;6364:182:69;;355:16:62;;6364:182:69;;;;16573:114:61;;14158:34;;;6364:182:69;;;;;;16842:53:61;6364:182:69;16842:53:61;;16838:721;;15994:51;13413:19;;;6364:182:69;13413:19:61;;;17641:35;5234:11:69;16460:21:61;13413:19;;6364:182:69;13923:13:61;;;6364:182:69;17641:35:61;;:::i;:::-;6364:182:69;14094:26:61;;6364:182:69;-1:-1:-1;6364:182:69;;;16460:21:61;6364:182:69;;;;;17856:31:61;;17852:86;;17686:434;;6364:182:69;1899:1:28;;6364:182:69;;17852:86:61;17922:15;;;:::i;:::-;17852:86;;;17686:434;16460:21;6364:182:69;;;;;17967:31:61;;;:105;;;17686:434;17963:157;;17686:434;;;;17963:157;18104:15;;;:::i;:::-;17963:157;;;17967:105;18002:31;14158:34;6364:182:69;306:16:62;;;;;14158:34:61;6364:182:69;;;306:16:62;;;6364:182:69;;5234:11;306:16:62;;;;;6364:182:69;18002:70:61;17967:105;;306:16:62;6364:182:69;;;;;;;;;306:16:62;6364:182:69;;;;;;;;;16838:721:61;6364:182:69;177:16:62;17042:42:61;6364:182:69;17042:42:61;;;;;:::i;:::-;177:16:62;;:::i;:::-;6364:182:69;;;17237:33:61;;;;6364:182:69;17237:33:61;;5118:4:69;6364:182;17237:33:61;;6364:182:69;17237:33:61;;;;;;;;;;16838:721;17237:59;;;;:::i;:::-;17222:12;6364:182:69;17222:12:61;;6364:182:69;;;;16460:21:61;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;8547:23:61;;;;6364:182:69;8547:23:61;:::i;:::-;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;15270:18:61;6364:182:69;;;;;;;;;15270:18:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;5234:11;6364:182;;1899:1:28;6364:182:69;;;;;;;1899:1:28;14158:34:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10525:21:61;6364:182:69;;;;10525:21:61;6364:182:69;;;;;;;;16838:721:61;6364:182:69;;;10525:21:61;6364:182:69;;;;;;;;;;;;;;;8610:21:61;;;;6364:182:69;;16460:21:61;8610;;6364:182:69;;;;;;;;;;;;;;;;;10654:15:61;6364:182:69;;;;;;;;;8819:27:61;8861:8;;8896:3;6364:182:69;;;8873:14:61;6364:182:69;;8871:23:61;;;;;8941:17;;;;:::i;:::-;;6364:182:69;9016:20:61;;6364:182:69;;;;9016:44:61;;;8896:3;9012:79;;10602:20;9126;;6364:182:69;;;;;;;;;;;;10602:20:61;9126;;6364:182:69;10602:20:61;9126;;6364:182:69;:::i;:::-;9126:20:61;;9194:23;9126:20;10602;9126;;9194:23;:::i;:::-;-1:-1:-1;6364:182:69;7822:27:61;;6364:182:69;;7822:78:61;;7795:106;6364:182:69;7852:29:61;6364:182:69;;7864:17:61;;6364:182:69;;;10654:15:61;6364:182:69;7852:29:61;:::i;:::-;7822:78;;7795:23;:106;;6364:182:69;;;;;;;;;;;;;;;7795:106:61;6364:182:69;7936:25:61;;6364:182:69;;7936:72:61;;7964:27;6364:182:69;;7976:15:61;;6364:182:69;;;10654:15:61;6364:182:69;7964:27:61;:::i;:::-;6364:182:69;;355:16:62;;6364:182:69;;;;;;;355:16:62;10654:15:61;6364:182:69;;355:16:62;;;6364:182:69;9246:18:61;;6364:182:69;;;;;9246:18:61;:40;;7936:72;9242:83;;;7936:72;6364:182:69;;8861:8:61;;9242:83;6364:182:69;;-1:-1:-1;9242:83:61;;9246:40;6364:182:69;9268:18:61;;;6364:182:69;;;9246:40:61;;;7936:72;6364:182:69;;7993:15:61;;6364:182:69;;7936:72:61;;7822:78;7795:106;6364:182:69;;;7883:17:61;;6364:182:69;;7822:78:61;;;6364:182:69;;;;;;;;;;9012:79:61;355:16:62;6364:182:69;;9079:12:61;;;6364:182:69;;9079:12:61;;6364:182:69;15270:18:61;6364:182:69;;;;;;;;;9079:12:61;9016:44;9040:20;6364:182:69;9040:20:61;;6364:182:69;;;9016:44:61;;8871:23;;;;;;;9493:143;;8856:592;6364:182:69;;16460:21:61;6364:182:69;;;17491:44:61;6364:182:69;;;;;;306:16:62;6364:182:69;306:16:62;;6364:182:69;306:16:62;6364:182:69;306:16:62;;6364:182:69;17491:44:61;16838:721;;;;;9493:143;6364:182:69;9567:20:61;6364:182:69;;;9567:11:61;:20;:::i;:::-;6364:182:69;;;;;9545:91:61;6364:182:69;;;;;;;;;;;9620:11:61;:15;6364:182:69;;;;9545:91:61;;;;;6364:182:69;9545:91:61;;6364:182:69;9545:91:61;;;:::i;:::-;;5288:6:69;6364:182;5288:6;6364:182;9545:91:61;;;;;;;;;;;9493:143;-1:-1:-1;6364:182:69;9525:17:61;1899:1:28;9525:17:61;6364:182:69;9493:143:61;;9545:91;;;;;6364:182:69;9545:91:61;;6364:182:69;9545:91:61;;;;;;6364:182:69;9545:91:61;;;:::i;:::-;;;6364:182:69;;;;;;9545:91:61;;;;6364:182:69;;9545:91:61;;6364:182:69;;;;9545:91:61;;;-1:-1:-1;9545:91:61;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;355:16:62;;;;;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;15270:18:61;6364:182:69;;355:16:62;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5234:11;6364:182;;;;;;;;;5234:11;6364:182;;;;;;;;5234:11;6364:182;;;;;;;;10525:21:61;6364:182:69;;;;;;;;5234:11;6364:182;;;;;5234:11;6364:182;;;;;;;;;;;;;;5234:11;6364:182;;;;;;;;15270:18:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;17237:33:61;;6364:182:69;17237:33:61;;6364:182:69;17237:33:61;;;;;;6364:182:69;17237:33:61;;;:::i;:::-;;;6364:182:69;;;;17237:59:61;6364:182:69;;17237:33:61;;6364:182:69;;;;17237:33:61;;;-1:-1:-1;17237:33:61;;;6364:182:69;;;;;;;;;16500:57:61;6364:182:69;16500:57:61;;6364:182:69;16500:57:61;;;;;;6364:182:69;16500:57:61;;;:::i;:::-;;;355:16:62;;;;;6364:182:69;;;;;;;-1:-1:-1;6364:182:69;16500:57:61;;6364:182:69;;;;16500:57:61;;;-1:-1:-1;16500:57:61;;;6364:182:69;;;;;;;;;16518:27:61;;;;6364:182:69;16518:27:61;6364:182:69;16518:27:61;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;;;16163:238;6364:182:69;16318:70:61;16336:52;:34;6364:182:69;;;;;;;;5234:11;6364:182;;;;;;;16336:34:61;;:::i;:::-;6364:182:69;;;;16336:52:61;;:::i;:::-;10654:15;16318:70;:::i;:::-;6364:182:69;;355:16:62;6364:182:69;10673:22:61;;355:16:62;;;6364:182:69;10673:22:61;;355:16:62;16163:238:61;;;15994:51;;16055:25;15994:51;;;15513:319;6364:182:69;;;;15545:17:61;;;;15625:140;6364:182:69;15625:140:61;;355:16:62;6364:182:69;;;;;;;;;355:16:62;6364:182:69;355:16:62;;;14447:93:61;6364:182:69;;;;;;;14507:33:61;6364:182:69;14507:33:61;;5118:4:69;6364:182;14507:33:61;;6364:182:69;;14507:33:61;6364:182:69;14507:33:61;;;;;;;;;;;;;;;;;;;14447:93;;;6364:182:69;14447:93:61;;;;14507:33;;;;;;;6364:182:69;14507:33:61;;6364:182:69;14507:33:61;;;;;;6364:182:69;14507:33:61;;;:::i;:::-;;;6364:182:69;;;;;;;;;;;14507:33:61;;;;6364:182:69;;;;14507:33:61;;;-1:-1:-1;14507:33:61;;14158:58;5118:4:69;;14158:58:61;;355:16:62;;6364:182:69;;355:16:62;;;6364:182:69;;355:16:62;;;;6364:182:69;355:16:62;;6364:182:69;355:16:62;6364:182:69;;;355:16:62;;13946:117:61;6364:182:69;;;;13946:117:61;;;13586:258;13687:43;6364:182:69;;;;;;13687:43:61;:::i;:::-;6364:182:69;;;;;;;;;;;13763:26:61;13759:74;13586:258;13759:74;6364:182:69;;;;13759:74:61;13586:258;;11264:135;;;6364:182:69;11264:135:61;;6364:182:69;11264:135:61;;;;;;6364:182:69;11264:135:61;;;:::i;:::-;;;6364:182:69;;;;;11264:135:61;;;;;;-1:-1:-1;11264:135:61;;11119:2242;6364:182:69;;;11857:27:61;6364:182:69;5234:11;6364:182;;;;11857:15:61;:27;:::i;:::-;11853:620;;11119:2242;12520:27;:15;5234:11:69;6364:182;;;;12520:15:61;:27;:::i;:::-;12516:835;;11119:2242;13901:35;11119:2242;;;12516:835;6364:182:69;;12646:12:61;12642:357;;12516:835;6364:182:69;;;;;13035:153:61;6364:182:69;;;13076:63:61;6364:182:69;13103:16:61;;;6364:182:69;;;;13121:17:61;;;6364:182:69;;12520:15:61;5234:11:69;6364:182;;;;12520:15:61;13076:63;:::i;:::-;6364:182:69;;13309:19:61;6364:182:69;12516:835:61;6364:182:69;;;;;;;;;;;;12520:15:61;6364:182:69;;;;;;;;;;13035:153:61;13162:26;12520:15;5234:11:69;6364:182;;;;12520:15:61;13162:26;:::i;:::-;13035:153;;12642:357;12520:15;12767:18;;6364:182:69;;;;;;;;12842:21:61;;6364:182:69;;;12751:137:61;6364:182:69;;12751:137:61;;;;;6364:182:69;12751:137:61;;6364:182:69;;;;;;;;;12751:137:61;;;:::i;:::-;;5288:6:69;6364:182;5288:6;6364:182;12751:137:61;;;;;;;;;;;12642:357;6364:182:69;;;12642:357:61;;12751:137;;;6364:182:69;12751:137:61;;6364:182:69;12751:137:61;;;;;;6364:182:69;12751:137:61;;;:::i;:::-;;;6364:182:69;;;;;12751:137:61;;;;;;-1:-1:-1;12751:137:61;;11853:620;11931:18;;;6364:182:69;;;;;;;;12002:21:61;;6364:182:69;;;11915:133:61;6364:182:69;;11915:133:61;;;;;6364:182:69;11915:133:61;;6364:182:69;;;;;;;;;11915:133:61;;;:::i;:::-;;5288:6:69;6364:182;5288:6;6364:182;11915:133:61;;;;;;;;;;;11853:620;6364:182:69;;;;;;;;12160:153:61;6364:182:69;;;12201:63:61;6364:182:69;12228:16:61;;;6364:182:69;;;;;12246:17:61;;6364:182:69;;;5234:11;6364:182;;;;11857:15:61;12201:63;:::i;:::-;6364:182:69;;;;;;;12433:17:61;11853:620;6364:182:69;;;;;;;;;;;;11931:18:61;6364:182:69;;;;;;;;;;12160:153:61;12287:26;6364:182:69;5234:11;6364:182;;;;11857:15:61;12287:26;:::i;:::-;12160:153;;11915:133;;;6364:182:69;11915:133:61;;6364:182:69;11915:133:61;;;;;;6364:182:69;11915:133:61;;;:::i;:::-;;;6364:182:69;;;;;11915:133:61;;;;;;-1:-1:-1;11915:133:61;;11123:58;6364:182:69;;;5234:11;6364:182;;;;11147:15:61;6364:182:69;;2435:20:59;11146:35:61;11123:58;;10936:63;10987:12;6364:182:69;;10987:12:61;;;6364:182:69;;10987:12:61;;6364:182:69;;;;;;;;;;;10987:12:61;10847:65;10900:12;6364:182:69;;10900:12:61;;;6364:182:69;;10900:12:61;;6364:182:69;;;;;;;;;;;10900:12:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10418:59:61;10465:12;6364:182:69;;10465:12:61;;;6364:182:69;;10465:12:61;;6364:182:69;;;;;;;;;;;10465:12:61;5194:13:69;;;6364:182;5194:13;;6364:182;5194:13;;;;;;6364:182;5194:13;;;:::i;:::-;;;6364:182;;;;;;;;;;;;5194:13;;;;;;-1:-1:-1;5194:13:69;;6364:182;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;1201:1;6364:182;;;;;;;;;;;;;;;;;;;;;;;;1789:26;6364:182;;;;;;:::i;:::-;;;;:::i;:::-;1789:26;;:::i;:::-;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::i;:::-;;;;;;;;;;;;6298:42;6364:182;6320:6;6364:182;;6306:10;:20;6298:42;:::i;:::-;2466:103:28;;:::i;:::-;18908:38:61;6364:182:69;;;;;;;5555:11;6364:182;;;5555:11;6364:182;;;;;;18908:38:61;18874:11;1899:1:28;;6364:182:69;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;6364:182:69;;;;;-1:-1:-1;6364:182:69;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;-1:-1:-1;6364:182:69;;;;;-1:-1:-1;6364:182:69;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;2356:387;2523:1;;2356:387;2523:1;;;2586:3;6364:182;;2569:15;;;;;2712:14;6364:182;2651:9;2682:16;2637:31;2651:9;;;;;:::i;:::-;;2637:31;:::i;:::-;2682:16;;:::i;:::-;2712:14;;:::i;:::-;2586:3;6364:182;2559:8;;;;2569:15;;;;;;;2356:387::o;6364:182::-;;;;;;;:::i;:::-;;;;-1:-1:-1;6364:182:69;;-1:-1:-1;6364:182:69;;;;;;;;;:::i;:::-;-1:-1:-1;6364:182:69;;-1:-1:-1;6364:182:69;;;;;;;;-1:-1:-1;6364:182:69;;;;-1:-1:-1;6364:182:69;;;;-1:-1:-1;6364:182:69;;;;-1:-1:-1;6364:182:69;;;;-1:-1:-1;6364:182:69;;;;;;:::o;:::-;10385:11:61;6364:182:69;;;;;;10385:11:61;-1:-1:-1;6364:182:69;;;-1:-1:-1;6364:182:69;;;;;-1:-1:-1;6364:182:69;:::o;:::-;;;;;;;;-1:-1:-1;6364:182:69;;;-1:-1:-1;6364:182:69;;;;;-1:-1:-1;6364:182:69;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;6364:182:69;;-1:-1:-1;6364:182:69;-1:-1:-1;6364:182:69;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;:::o;:::-;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;2575:307:28;1899:1;2702:7;6364:182:69;2702:18:28;2698:86;;1899:1;2702:7;1899:1;2575:307::o;2698:86::-;2743:30;2702:7;2743:30;;2702:7;2743:30;1828:522:69;1988:22;;;6364:182;;;;;;1988:46;1984:107;;177:16:62;2246:30:69;2121:90;2299:43;6364:182;;;2160:18;6364:182;;;;;2121:90;;:::i;:::-;2246:30;:::i;177:16:62:-;2299:43:69;;:::i;:::-;2292:50;;1828:522::o;1984:107::-;2055:36;;;;;:::i;6364:182::-;;;;;;;;-1:-1:-1;6364:182:69;;-1:-1:-1;6364:182:69;;;;;;-1:-1:-1;6364:182:69;:::o;:::-;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::o;:::-;;;;;;;;;;355:16:62;6364:182:69;355:16:62;;6364:182:69;355:16:62;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;6364:182:69;;;;;;;355:16:62;:::o;306:::-;6364:182:69;;306:16:62;;;;;-1:-1:-1;6364:182:69;;-1:-1:-1;6364:182:69;306:16:62;;-1:-1:-1;306:16:62;:::o;4218:582:69:-;;4337:17;;;;:::i;:::-;4324:9;:30;6364:182;;4376:12;;;;4372:77;;4218:582;4463:10;;;;;4459:71;;4218:582;4559:17;;;;:::i;:::-;4324:9;4590:20;;4586:208;;4218:582;;:::o;4586:208::-;-1:-1:-1;4324:9:69;;;4643:20;4324:9;;;4643:20;:::i;:::-;4760:23;;;;;;;4586:208;6364:182;;4760:23;;;;;4218:582::o;4760:23::-;6364:182;;;-1:-1:-1;6364:182:69;;;;;4760:23;;;-1:-1:-1;4760:23:69;;4459:71;6364:182;;;4487:26;;;:10;:26;:10;6364:182;4487:10;6364:182;4487:26;;;;;;;-1:-1:-1;4487:26:69;;;;;;;;;;;;;4459:71;4487:43;;;;;4459:71;6364:182;;4487:43;;;;;4459:71;;;4487:43;;;-1:-1:-1;4487:43:69;;:26;;;;;;;;;;;;;;:::i;:::-;;;;4372:77;6364:182;;;4402:28;;;:10;:28;:10;6364:182;4402:10;6364:182;4402:28;;;;;;;-1:-1:-1;4402:28:69;;;;;;;;;;;;;4372:77;4402:47;;;;;4372:77;6364:182;;4402:47;;;;;4372:77;;;4402:47;;;-1:-1:-1;4402:47:69;;:28;;;;;;;;;;;;;;:::i;:::-;;;;6364:182;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;18959:185:61:-;6364:182:69;5234:11;6364:182;;;;;19069:32:61;:68;;;;;19062:75;18959:185;:::o;19069:68::-;6364:182:69;19105:23:61;;;:32;:23;:11;:23;:::i;:::-;:32;;6364:182:69;;;;18959:185:61;:::o;1042:867::-;;;1402:12;;;6364:182:69;1402:15:61;1398:45;;1713:16;2252:21;1713:16;2252:63;1713:16;6364:182:69;2066:14:61;6364:182:69;;;;2066:14:61;;6364:182:69;;;1916:171:61;;1713:16;2252:21;;:::i;:::-;2285:12;6364:182:69;1402:12:61;2285;;;;6364:182:69;;2302:12:61;;6364:182:69;;;2252:63:61;;:::i;:::-;1042:867;:::o;1398:45::-;-1:-1:-1;;;;;;1431:12:61:o;7243:420::-;7568:1;;248:7:62;7520:44:61;;248:7:62;;7520:136:61;;7243:420;:::o;7520:136::-;6364:182:69;248:7:62;7594:52:61;6364:182:69;7198:38:61;;6364:182:69;7198:38:61;;;;7594:62;;7243:420;:::o;7198:38::-;6364:182:69;;;;;;;;;578:457:61;;;;;854:12;;;6364:182:69;854:15:61;850:45;;916:16;2658:21;2616:17;2545:38;916:16;;2658:36;916:16;6364:182:69;2066:14:61;6364:182:69;;;;2066:14:61;;6364:182:69;;;1916:171:61;;916:16;2545:38;;:::i;:::-;2616:17;;:::i;:::-;2658:21;;:::i;:::-;:36;:::i;850:45::-;883:12;;;;-1:-1:-1;883:12:61;-1:-1:-1;883:12:61;:::o;290:130:60:-;6364:182:69;;;;2435:20:59;371:21:60;;;:42;;;364:49;290:130;:::o;371:42::-;6364:182:69;;;;;;2435:20:59;396:17:60;290:130;:::o;468:307::-;6364:182:69;;565:23:60;6364:182:69;;;565:23:60;:::i;:::-;6364:182:69;;;;2435:20:59;;598:50:60;;669:19;;750:18;669:19;;:::i;:::-;716:15;;750:18;;:::i;598:50::-;631:17;;:::o;6364:182:69:-;;;;;;;;;;;;;;;;;;;;;;;;;:::o;877:794:60:-;6364:182:69;877:794:60;;6364:182:69;1241:19:60;6364:182:69;1018:23:60;6364:182:69;;;1018:23:60;:::i;:::-;6364:182:69;;;;1241:19:60;:::i;:::-;6364:182:69;;;;1319:5:60;;;;;:::i;:::-;6364:182:69;-1:-1:-1;6364:182:69;;;;;;;;;;;;;;;;;;;;1517:5:60;1505:9;;;;:::i;:::-;6364:182:69;;-1:-1:-1;6364:182:69;;;;;;;;;;;;;;;;;;;1646:18:60;;;:::i;922:1196:59:-;839:20;1146:25;;:30;1142:44;;729:11;1251:24;;6364:182:69;;1280:2:59;839:20;6364:182:69;;;1301:11:59;;554:4;;674:11;784;1380:25;;6364:182:69;;1420:15:59;;;1446:1;6364:182:69;1416:57:59;;1539:25;1535:48;;1416:57;507:3;;6364:182:69;;507:3:59;;6364:182:69;;;1881:9:59;;1877:205;6364:182:69;;;;674:11:59;6364:182:69;922:1196:59;:::o;1877:205::-;6364:182:69;1980:9:59;;6364:182:69;;;839:20:59;922:1196;:::o;1535:48::-;6364:182:69;674:11:59;;;;;1535:48;;1416:57;903:11;1462;1416:57;;;554:4;;6364:182:69;;554:4:59;;;;;;;;6364:182:69;554:4:59;;;6364:182:69;554:4:59;6364:182:69;;;554:4:59;;1142:44;1178:8;6364:182:69;1178:8:59;:::o;8072:1571:61:-;;;;;;8422:11;6364:182:69;8376:15:61;6364:182:69;8422:11:61;;6364:182:69;;;;;;;;;;;;;8547:23:61;6364:182:69;;;8422:11:61;6364:182:69;;;;;;;:::i;:::-;8547:23:61;;;:::i;:::-;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;8422:11:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;1899:1:28;6364:182:69;;;;;;;1899:1:28;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8072:1571:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;8610:21:61;;;;6364:182:69;8610:21:61;6364:182:69;;8610:21:61;;;6364:182:69;;;;;;;;;;;;8376:15:61;6364:182:69;;;;;;;;;;;;8819:27:61;8861:8;;9126:20;;;;6364:182:69;;;;8856:592:61;8896:3;8873:14;;6364:182:69;;8871:23:61;;;;;8941:17;;;;:::i;:::-;;6364:182:69;9016:20:61;;6364:182:69;;;;9016:44:61;;;8896:3;9012:79;;6364:182:69;;;;;;;;;;;;;8422:11:61;9194:23;6364:182:69;;;;;;:::i;:::-;9194:23:61;;;:::i;:::-;-1:-1:-1;6364:182:69;7822:27:61;;6364:182:69;7822:27:61;;6364:182:69;7822:78:61;;8422:11;7852:29;7795:106;7864:17;6364:182:69;;7864:17:61;;6364:182:69;;7852:29:61;;:::i;7795:106::-;6364:182:69;7936:25:61;;6364:182:69;7936:25:61;;6364:182:69;7936:72:61;;7964:27;7976:15;6364:182:69;;7976:15:61;;6364:182:69;;7964:27:61;;:::i;:::-;6364:182:69;;355:16:62;;6364:182:69;;;;;;;355:16:62;;;;;6364:182:69;9246:18:61;;6364:182:69;;;;;9246:18:61;:40;;7936:72;9242:83;;;7936:72;8422:11;6364:182:69;8861:8:61;;9242:83;8422:11;;-1:-1:-1;9242:83:61;;9246:40;6364:182:69;9268:18:61;;;6364:182:69;;;9246:40:61;;;7936:72;7993:15;6364:182:69;;7993:15:61;;6364:182:69;;7936:72:61;;7822:78;7883:17;7795:106;8422:11;6364:182:69;;7883:17:61;;6364:182:69;;7822:78:61;;;9016:44;9040:20;6364:182:69;9040:20:61;;6364:182:69;;;9016:44:61;;8871:23;;;;;;;;;;;;;;;;9493:143;;8856:592;8072:1571;;;;;;:::o;9493:143::-;6364:182:69;9567:11:61;6364:182:69;;9567:11:61;;;:20;:11;;:20;:::i;:::-;6364:182:69;;;;;;9620:11:61;;:15;6364:182:69;;;9545:91:61;6364:182:69;;9545:91:61;;;;;;;6364:182:69;9545:91:61;;6364:182:69;9545:91:61;;;:::i;:::-;;6364:182:69;;9545:91:61;;;;;;;;;;;9493:143;9525:17;;6364:182:69;9525:17:61;1899:1:28;9493:143:61;;;;;;;;9545:91;;;;;6364:182:69;9545:91:61;;6364:182:69;9545:91:61;;;;;;6364:182:69;9545:91:61;;;:::i;:::-;;;6364:182:69;;;;-1:-1:-1;6364:182:69;;;9545:91:61;;;;;;-1:-1:-1;9545:91:61;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8422:11:61;6364:182:69;;;;;;;;;;;;355:16:62;;;;;;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;355:16:62;;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8422:11:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8422:11:61;6364:182:69;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;18248:286:61;18354:24;18248:286;18354:14;:24;:::i;:::-;6364:182:69;;;;;;;;;18406:28:61;6364:182:69;;;;;;;7198:38:61;;6364:182:69;7198:38:61;;;;6364:182:69;;;;;;18625:11:61;;18476:10;6364:182:69;;;;18476:10:61;;;18248:286;;;:::o;18488:3::-;6364:182:69;18625:23:61;:32;:23;6364:182:69;18625:23:61;;;:::i;:::-;:32;;6364:182:69;;;;;;;;18679:32:61;6364:182:69;;;;;;;;18679:32:61;6364:182:69;;18449:25:61;;1677:695:60;;;6364:182:69;;;;;;;;;;;;;;;2051:16:60;;;-1:-1:-1;6364:182:69;2122:6:60;;6364:182:69;;2122:23:60;6364:182:69;2047:308:60;1677:695::o;2047:308::-;6364:182:69;-1:-1:-1;6364:182:69;;-1:-1:-1;6364:182:69;;2334:17:60;2047:308;1677:695::o;2326:29::-;6364:182:69;1042:867:61;:::o;6364:182:69:-;;;;;;;;;;;;;;;:::o;2707:591:61:-;2831:1;;;2882:3;2859:14;;;;6364:182:69;;2857:23:61;;;;;2916:35;:17;;6364:182:69;2916:17:61;;:::i;:::-;;:35;6364:182:69;;;2831:1:61;2995:9;;;3022:8;2859:14;3022:8;;3260:21;6364:182:69;3022:8:61;;2991:221;3260:21;:::i;:::-;2882:3;6364:182:69;2847:8:61;;;;;2991:221;6364:182:69;;3140:11:61;6364:182:69;;;;;3140:11:61;;;:::i;:::-;:26;3136:61;;2991:221;3260:21;2859:14;2991:221;6364:182:69;2991:221:61;3260:21;:::i;3136:61::-;6364:182:69;;;;;;;3136:61:61;6364:182:69;;2831:1:61;6364:182:69;;;;;2831:1:61;6364:182:69;2857:23:61;;;;;;2707:591::o","linkReferences":{},"immutableReferences":{"51536":[{"start":1001,"length":32},{"start":2158,"length":32},{"start":2694,"length":32},{"start":7190,"length":32},{"start":16764,"length":32},{"start":16974,"length":32}],"51539":[{"start":1098,"length":32},{"start":2791,"length":32},{"start":6145,"length":32},{"start":6871,"length":32},{"start":9440,"length":32},{"start":11810,"length":32},{"start":12068,"length":32}],"51542":[{"start":319,"length":32},{"start":662,"length":32},{"start":2269,"length":32}]}},"methodIdentifiers":{"cancelAllDexorders()":"2800c78f","cancelDexorder(uint64)":"8489f9bf","execute(uint64,uint8,(uint256))":"6e98833d","feeManager()":"d0fb0203","numSwapOrders()":"e78f84e7","orderCanceled(uint64)":"a449d030","placeDexorder((address,address,(uint8,uint24),uint256,uint256,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[]))":"da1c795f","placeDexorders((address,address,(uint8,uint24),uint256,uint256,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[])[],uint8)":"89a44acb","placementFee((address,address,(uint8,uint24),uint256,uint256,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[]),(uint8,uint8,uint8,uint8,uint8))":"4c153087","placementFee((address,address,(uint8,uint24),uint256,uint256,bool,bool,uint64,(uint16,bool,bool,bool,bool,bool,bool,bool,bool,uint16,uint24,uint32,uint32,(uint32,uint32),(uint32,uint32))[])[],(uint8,uint8,uint8,uint8,uint8))":"2e690bb7","swapOrderStatus(uint64)":"77bad6b5","unwrap(uint256)":"de0e9a3e","vaultImplDidChange(address)":"58b72a09","version()":"54fd4d50","wrap(uint256)":"ea598cb0","wrapper()":"ac210cc7"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.26+commit.8a97fa7a\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IRouter\",\"name\":\"router_\",\"type\":\"address\"},{\"internalType\":\"contract IFeeManager\",\"name\":\"feeManager_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"ReentrancyGuardReentrantCall\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"cancelAllIndex\",\"type\":\"uint64\"}],\"name\":\"DexorderCancelAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"DexorderSwapCanceled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"},{\"indexed\":true,\"internalType\":\"uint8\",\"name\":\"trancheIndex\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountIn\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"amountOut\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"fillFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"nextExecutionTime\",\"type\":\"uint32\"}],\"name\":\"DexorderSwapFilled\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"startOrderIndex\",\"type\":\"uint64\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"numOrders\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"orderFee\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"name\":\"DexorderSwapPlaced\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"cancelAllDexorders\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"cancelDexorder\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"},{\"internalType\":\"uint8\",\"name\":\"tranche_index\",\"type\":\"uint8\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"proof\",\"type\":\"uint256\"}],\"internalType\":\"struct PriceProof\",\"name\":\"proof\",\"type\":\"tuple\"}],\"name\":\"execute\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"feeManager\",\"outputs\":[{\"internalType\":\"contract IFeeManager\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"numSwapOrders\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"num\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"orderCanceled\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder\",\"name\":\"order\",\"type\":\"tuple\"}],\"name\":\"placeDexorder\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"internalType\":\"enum OcoMode\",\"name\":\"ocoMode\",\"type\":\"uint8\"}],\"name\":\"placeDexorders\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder[]\",\"name\":\"orders\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"sched\",\"type\":\"tuple\"}],\"name\":\"placementFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"orderFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"orderFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"orderExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasFee\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"gasExp\",\"type\":\"uint8\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"}],\"internalType\":\"struct IFeeManager.FeeSchedule\",\"name\":\"sched\",\"type\":\"tuple\"}],\"name\":\"placementFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"orderFee\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"gasFee\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint64\",\"name\":\"orderIndex\",\"type\":\"uint64\"}],\"name\":\"swapOrderStatus\",\"outputs\":[{\"components\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"tokenIn\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"tokenOut\",\"type\":\"address\"},{\"components\":[{\"internalType\":\"enum Exchange\",\"name\":\"exchange\",\"type\":\"uint8\"},{\"internalType\":\"uint24\",\"name\":\"fee\",\"type\":\"uint24\"}],\"internalType\":\"struct Route\",\"name\":\"route\",\"type\":\"tuple\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"minFillAmount\",\"type\":\"uint256\"},{\"internalType\":\"bool\",\"name\":\"amountIsInput\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"outputDirectlyToOwner\",\"type\":\"bool\"},{\"internalType\":\"uint64\",\"name\":\"conditionalOrder\",\"type\":\"uint64\"},{\"components\":[{\"internalType\":\"uint16\",\"name\":\"fraction\",\"type\":\"uint16\"},{\"internalType\":\"bool\",\"name\":\"startTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"endTimeIsRelative\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsBarrier\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"marketOrder\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"minIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"maxIsRatio\",\"type\":\"bool\"},{\"internalType\":\"bool\",\"name\":\"_reserved7\",\"type\":\"bool\"},{\"internalType\":\"uint16\",\"name\":\"rateLimitFraction\",\"type\":\"uint16\"},{\"internalType\":\"uint24\",\"name\":\"rateLimitPeriod\",\"type\":\"uint24\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"minLine\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"float\",\"name\":\"intercept\",\"type\":\"uint32\"},{\"internalType\":\"float\",\"name\":\"slope\",\"type\":\"uint32\"}],\"internalType\":\"struct Line\",\"name\":\"maxLine\",\"type\":\"tuple\"}],\"internalType\":\"struct Tranche[]\",\"name\":\"tranches\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrder\",\"name\":\"order\",\"type\":\"tuple\"},{\"internalType\":\"uint8\",\"name\":\"fillFeeHalfBps\",\"type\":\"uint8\"},{\"internalType\":\"bool\",\"name\":\"canceled\",\"type\":\"bool\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint64\",\"name\":\"ocoGroup\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"originalOrder\",\"type\":\"uint64\"},{\"internalType\":\"uint256\",\"name\":\"startPrice\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"filled\",\"type\":\"uint256\"},{\"components\":[{\"internalType\":\"uint256\",\"name\":\"filled\",\"type\":\"uint256\"},{\"internalType\":\"uint32\",\"name\":\"activationTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"startTime\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"endTime\",\"type\":\"uint32\"}],\"internalType\":\"struct TrancheStatus[]\",\"name\":\"trancheStatus\",\"type\":\"tuple[]\"}],\"internalType\":\"struct SwapOrderStatus\",\"name\":\"status\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"unwrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"oldAddress\",\"type\":\"address\"}],\"name\":\"vaultImplDidChange\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"wrap\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"wrapper\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"ReentrancyGuardReentrantCall()\":[{\"details\":\"Unauthorized reentrant call.\"}]},\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"src/core/VaultImpl.sol\":\"ArbitrumVaultImpl\"},\"evmVersion\":\"paris\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":999999999},\"remappings\":[\":@forge-std/=lib_forge_std/src/\",\":@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/\",\":@uniswap/=lib_uniswap/\",\":ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/\",\":erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts/=lib/openzeppelin-contracts/\"],\"viaIR\":true},\"sources\":{\"lib_forge_std/src/console2.sol\":{\"keccak256\":\"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973\",\"dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF\"]},\"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol\":{\"keccak256\":\"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac\",\"dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e\"]},\"lib_openzeppelin_contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xee2337af2dc162a973b4be6d3f7c16f06298259e0af48c5470d2839bfa8a22f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30c476b4b2f405c1bb3f0bae15b006d129c80f1bfd9d0f2038160a3bb9745009\",\"dweb:/ipfs/Qmb3VcuDufv6xbHeVgksC4tHpc5gKYVqBEwjEXW72XzSvN\"]},\"lib_openzeppelin_contracts/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0xe0e3a2099f2e2ce3579dd35548f613928739642058dfec95b1745f93364ce3de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://36a3930518e5c4a3c83839aaa136b863af513e6eeee6a3654e8f910f8007f827\",\"dweb:/ipfs/QmcU1b6SYYUMiXJ6jd5HY6sgYjJLdBu4smak1X1FDgkoaA\"]},\"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff\",\"dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g\"]},\"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol\":{\"keccak256\":\"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02\",\"dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE\"]},\"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol\":{\"keccak256\":\"0x84496688b0b80f8e592f0db8ef82c3e7172a1658169b8f0832b522e935e216c0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c98e6288d465afdbe084108995c6a8f19db173d6f068b92ef1f70f7edf6ffb3a\",\"dweb:/ipfs/QmShqKgJLqoRK2vv4sFU3iouqFGvWUbvGopbZS8Qn9Bp1X\"]},\"lib_openzeppelin_contracts/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0xc859863e3bda7ec3cddf6dafe2ffe91bcbe648d1395b856b839c32ee9617c44c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a9d5417888b873cf2225ed5d50b2a67be97c1504134a2a580512168d587ad82e\",\"dweb:/ipfs/QmNr5fTb2heFW658NZn7dDnofZgFvQTnNxKRJ3wdnR1skX\"]},\"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol\":{\"keccak256\":\"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2\",\"dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B\"]},\"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol\":{\"keccak256\":\"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5\",\"dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh\"]},\"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol\":{\"keccak256\":\"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652\",\"dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol\":{\"keccak256\":\"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5\",\"dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol\":{\"keccak256\":\"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7\",\"dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol\":{\"keccak256\":\"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03\",\"dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol\":{\"keccak256\":\"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047\",\"dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol\":{\"keccak256\":\"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735\",\"dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u\"]},\"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol\":{\"keccak256\":\"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f\",\"dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol\":{\"keccak256\":\"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471\",\"dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol\":{\"keccak256\":\"0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56\",\"dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol\":{\"keccak256\":\"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f\",\"dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol\":{\"keccak256\":\"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407\",\"dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol\":{\"keccak256\":\"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f\",\"dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol\":{\"keccak256\":\"0x9bfaf1feb32814623e627ab70f2409760b15d95f1f9b058e2b3399a8bb732975\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://a8a2c3e55965b61bcd91993d8e1d5d34b8b8a63e0fdfce87a85f6af92526fd53\",\"dweb:/ipfs/QmQj2CSCSwqDSU4KMNWxGsN2336Cy64WgpV1X1EHXNZWxM\"]},\"lib_uniswap/v3-periphery/contracts/interfaces/external/IWETH9.sol\":{\"keccak256\":\"0xa15c06ebc0fac4057529d5580114c73a9ec1ceed1c4192d6a2c8178e5cad5f82\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://bc05180f3b4fe5f8e5f604f3e2e84dec88b9b05c02d82c672cec8047e573c12b\",\"dweb:/ipfs/QmQLbbXriaQBGC1MMgFysrmafnmLvpHYd66DvcbhyTxxGW\"]},\"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol\":{\"keccak256\":\"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4\",\"license\":\"GPL-2.0-or-later\",\"urls\":[\"bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48\",\"dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr\"]},\"src/core/IEEE754.sol\":{\"keccak256\":\"0x121d0b729b518650687a6f267485dcd35e320ef4f0abb77c11dba1a2173e0d67\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e379276bca67a148345fe51a777b6c59147b38622f12314213789760997d2545\",\"dweb:/ipfs/QmdHnhJ6fcH9q4SKqjd7B9VVyBqykEkcht1QMPDc6Sgbbt\"]},\"src/core/LineLib.sol\":{\"keccak256\":\"0x67ae7a59ee4e4e244bf17604c4cb390233503eaa011a24bcdf737773d5b5a9f4\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://0d0c6459d297427055354956e807209fd425d814467d7c6ccb6157567718405d\",\"dweb:/ipfs/QmTV5b15om8gFaAxmsrAgVqeVTQmv2xYd6beK3mXe541Du\"]},\"src/core/OrderLib.sol\":{\"keccak256\":\"0x19391d9339480f8960e9ed4882f215e021cc662f0e537953e2ca77fc5f36e624\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://a45161c08a3282e7a1edd169f79fa5d84b5f10aa5a1cd85bb3a8514f2c54d77e\",\"dweb:/ipfs/QmVppgwfVzDQ2wy1AN6sqXUxVZvDNPXc8PuUcJLBgVzRAg\"]},\"src/core/OrderSpec.sol\":{\"keccak256\":\"0xf08b30272a94d68a193b54643ebfc26fa8677764dc19527d97cc391021437506\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://27f23f8f0002869820a4ff4efcfa14d2b4be04e7b48035355f8afe5a15296efb\",\"dweb:/ipfs/QmYahHKhgoz1tZ3sAjad4CH9UjpzXsogyzdCf1H7crXNCr\"]},\"src/core/UniswapV3.sol\":{\"keccak256\":\"0xe448b1ea18fece32d90dd17f230c81e0dbdbd9e2b6ef83700135747751c8308a\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://4a4e728c7437c70925b18a2b4ae838c53da2db94c02922a7ee57014b55ca524c\",\"dweb:/ipfs/QmcmNKdMhy1b1P78qUcRsV2DdRxxFp891o47NeH5ELgc9w\"]},\"src/core/Util.sol\":{\"keccak256\":\"0xe3164ffc07d66890a44924ba74ee42ca7f07866855842a32055035e7de5c4c15\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://848e067ad125cacc943fe7075aa3f84daaefeabce31e2f7fae787b9c8f140e0a\",\"dweb:/ipfs/QmVoK3q34s2WBRcrM7eL8ox5ZxHUNMvFpNsUSNcVVgBXZ5\"]},\"src/core/Vault.sol\":{\"keccak256\":\"0x2a9879fce94f8c88ec96789eb00e1a9ec6f43861a8f696d86b4d6e4d24e7a9f3\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://92f43fc3a530efcb3ddfd461103deadd58f54758f081fefcab6a25f342da9429\",\"dweb:/ipfs/QmUPvnLBt2uhay2uvCiLGThQYp7YbgH4PdH1AD8WgS8GEg\"]},\"src/core/VaultImpl.sol\":{\"keccak256\":\"0x000ebac4462c95eb97bddde2ccc4cf314c74b559cebab302f67d7c043e0a0d85\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://5758323a311495e06a4640a9cedfead745609fc867368f6cb2d5e7aa87565da6\",\"dweb:/ipfs/QmfSBa6XepMEeJErLvMrwC9mnyV9LB61wVSkAuKGrQS3vv\"]},\"src/interface/IFeeManager.sol\":{\"keccak256\":\"0xf92491919220097ca59e5511d6f5ecb70ce7738b164d64abd72674f5fdaaa86c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://afbc5c521400a69dcea03cb18e3907f02481de3568cf6f2f52062a4b9620b08b\",\"dweb:/ipfs/QmR3sjaKQF9AdLxUiiMSM4i5X88dnkKWsdxNjrPJ3hGE1L\"]},\"src/interface/IRouter.sol\":{\"keccak256\":\"0xbfc4846eaef5248ec4183e3b7ca3d4712c303dd16baf3b65f4e072973f37112e\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://e15cb9724bc62dbacbd5213f1fefdf8e09ae3873a3dbd1b91a9162d6dfc236de\",\"dweb:/ipfs/QmVPhaTSNxLzSZFW2QjcdgjLMMY15uUNxh2JtG46onqtgp\"]},\"src/interface/IVault.sol\":{\"keccak256\":\"0xdf24938122dae8f20b0460357ea30c7e9873b7c962502783b2c88392d2b10b75\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://dd9ee9f5b760a794606e89ed39e4491477bb46d15423bcccde11256d6c2c1cbd\",\"dweb:/ipfs/QmdP7eBXFtwHj4yr48vNC51pikvPDGn9eJQ1VMmxAybMp1\"]},\"src/interface/IVaultFactory.sol\":{\"keccak256\":\"0x612237e0fe6b27ecd323d21a1eb9b30ad703db8b552a7765c442c658d4ced69c\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://eb5805e2ef86d145c9c08093c3e634d87a137c80e8f89db07309b20f9a1e93d2\",\"dweb:/ipfs/QmTzr6xcLPNwBtFmArWat3CeuodWK2hvDCha2EbVm9y1Pk\"]},\"src/more/Dexorder.sol\":{\"keccak256\":\"0xd5e8105ebd5c825d73414820ac489da0d14889272abd0b20e2aeb805fe0156c7\",\"license\":\"UNLICENSED\",\"urls\":[\"bzz-raw://c3e36cbeb2557fc5d3a87bd5d16682fe8ed1ca4f49fbc5295cab0fd0c490cfd4\",\"dweb:/ipfs/QmdRR4RUNzD1rrD52nx9VgbNSfikfVkg6HeiaGp8M8mJBi\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.26+commit.8a97fa7a"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IRouter","name":"router_","type":"address"},{"internalType":"contract IFeeManager","name":"feeManager_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"ReentrancyGuardReentrantCall"},{"inputs":[{"internalType":"uint64","name":"cancelAllIndex","type":"uint64","indexed":false}],"type":"event","name":"DexorderCancelAll","anonymous":false},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64","indexed":false}],"type":"event","name":"DexorderSwapCanceled","anonymous":false},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64","indexed":true},{"internalType":"uint8","name":"trancheIndex","type":"uint8","indexed":true},{"internalType":"uint256","name":"amountIn","type":"uint256","indexed":false},{"internalType":"uint256","name":"amountOut","type":"uint256","indexed":false},{"internalType":"uint256","name":"fillFee","type":"uint256","indexed":false},{"internalType":"uint32","name":"nextExecutionTime","type":"uint32","indexed":false}],"type":"event","name":"DexorderSwapFilled","anonymous":false},{"inputs":[{"internalType":"uint64","name":"startOrderIndex","type":"uint64","indexed":true},{"internalType":"uint8","name":"numOrders","type":"uint8","indexed":false},{"internalType":"uint256","name":"orderFee","type":"uint256","indexed":false},{"internalType":"uint256","name":"gasFee","type":"uint256","indexed":false}],"type":"event","name":"DexorderSwapPlaced","anonymous":false},{"inputs":[],"stateMutability":"nonpayable","type":"function","name":"cancelAllDexorders"},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"}],"stateMutability":"nonpayable","type":"function","name":"cancelDexorder"},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"},{"internalType":"uint8","name":"tranche_index","type":"uint8"},{"internalType":"struct PriceProof","name":"proof","type":"tuple","components":[{"internalType":"uint256","name":"proof","type":"uint256"}]}],"stateMutability":"nonpayable","type":"function","name":"execute"},{"inputs":[],"stateMutability":"view","type":"function","name":"feeManager","outputs":[{"internalType":"contract IFeeManager","name":"","type":"address"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"numSwapOrders","outputs":[{"internalType":"uint64","name":"num","type":"uint64"}]},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"}],"stateMutability":"view","type":"function","name":"orderCanceled","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct SwapOrder","name":"order","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]}],"stateMutability":"payable","type":"function","name":"placeDexorder"},{"inputs":[{"internalType":"struct SwapOrder[]","name":"orders","type":"tuple[]","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"enum OcoMode","name":"ocoMode","type":"uint8"}],"stateMutability":"payable","type":"function","name":"placeDexorders"},{"inputs":[{"internalType":"struct SwapOrder[]","name":"orders","type":"tuple[]","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"struct IFeeManager.FeeSchedule","name":"sched","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}],"stateMutability":"view","type":"function","name":"placementFee","outputs":[{"internalType":"uint256","name":"orderFee","type":"uint256"},{"internalType":"uint256","name":"gasFee","type":"uint256"}]},{"inputs":[{"internalType":"struct SwapOrder","name":"order","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"struct IFeeManager.FeeSchedule","name":"sched","type":"tuple","components":[{"internalType":"uint8","name":"orderFee","type":"uint8"},{"internalType":"uint8","name":"orderExp","type":"uint8"},{"internalType":"uint8","name":"gasFee","type":"uint8"},{"internalType":"uint8","name":"gasExp","type":"uint8"},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"}]}],"stateMutability":"view","type":"function","name":"placementFee","outputs":[{"internalType":"uint256","name":"orderFee","type":"uint256"},{"internalType":"uint256","name":"gasFee","type":"uint256"}]},{"inputs":[{"internalType":"uint64","name":"orderIndex","type":"uint64"}],"stateMutability":"view","type":"function","name":"swapOrderStatus","outputs":[{"internalType":"struct SwapOrderStatus","name":"status","type":"tuple","components":[{"internalType":"struct SwapOrder","name":"order","type":"tuple","components":[{"internalType":"address","name":"tokenIn","type":"address"},{"internalType":"address","name":"tokenOut","type":"address"},{"internalType":"struct Route","name":"route","type":"tuple","components":[{"internalType":"enum Exchange","name":"exchange","type":"uint8"},{"internalType":"uint24","name":"fee","type":"uint24"}]},{"internalType":"uint256","name":"amount","type":"uint256"},{"internalType":"uint256","name":"minFillAmount","type":"uint256"},{"internalType":"bool","name":"amountIsInput","type":"bool"},{"internalType":"bool","name":"outputDirectlyToOwner","type":"bool"},{"internalType":"uint64","name":"conditionalOrder","type":"uint64"},{"internalType":"struct Tranche[]","name":"tranches","type":"tuple[]","components":[{"internalType":"uint16","name":"fraction","type":"uint16"},{"internalType":"bool","name":"startTimeIsRelative","type":"bool"},{"internalType":"bool","name":"endTimeIsRelative","type":"bool"},{"internalType":"bool","name":"minIsBarrier","type":"bool"},{"internalType":"bool","name":"maxIsBarrier","type":"bool"},{"internalType":"bool","name":"marketOrder","type":"bool"},{"internalType":"bool","name":"minIsRatio","type":"bool"},{"internalType":"bool","name":"maxIsRatio","type":"bool"},{"internalType":"bool","name":"_reserved7","type":"bool"},{"internalType":"uint16","name":"rateLimitFraction","type":"uint16"},{"internalType":"uint24","name":"rateLimitPeriod","type":"uint24"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"},{"internalType":"struct Line","name":"minLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]},{"internalType":"struct Line","name":"maxLine","type":"tuple","components":[{"internalType":"float","name":"intercept","type":"uint32"},{"internalType":"float","name":"slope","type":"uint32"}]}]}]},{"internalType":"uint8","name":"fillFeeHalfBps","type":"uint8"},{"internalType":"bool","name":"canceled","type":"bool"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint64","name":"ocoGroup","type":"uint64"},{"internalType":"uint64","name":"originalOrder","type":"uint64"},{"internalType":"uint256","name":"startPrice","type":"uint256"},{"internalType":"uint256","name":"filled","type":"uint256"},{"internalType":"struct TrancheStatus[]","name":"trancheStatus","type":"tuple[]","components":[{"internalType":"uint256","name":"filled","type":"uint256"},{"internalType":"uint32","name":"activationTime","type":"uint32"},{"internalType":"uint32","name":"startTime","type":"uint32"},{"internalType":"uint32","name":"endTime","type":"uint32"}]}]}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"unwrap"},{"inputs":[{"internalType":"address","name":"oldAddress","type":"address"}],"stateMutability":"nonpayable","type":"function","name":"vaultImplDidChange"},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"uint256","name":"amount","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"wrap"},{"inputs":[],"stateMutability":"view","type":"function","name":"wrapper","outputs":[{"internalType":"address","name":"","type":"address"}]}],"devdoc":{"kind":"dev","methods":{},"version":1},"userdoc":{"kind":"user","methods":{},"version":1}},"settings":{"remappings":["@forge-std/=lib_forge_std/src/","@openzeppelin/contracts/=lib_openzeppelin_contracts/contracts/","@uniswap/=lib_uniswap/","ds-test/=lib/openzeppelin-contracts/lib/forge-std/lib/ds-test/src/","erc4626-tests/=lib/openzeppelin-contracts/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts/=lib/openzeppelin-contracts/"],"optimizer":{"enabled":true,"runs":999999999},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"src/core/VaultImpl.sol":"ArbitrumVaultImpl"},"evmVersion":"paris","libraries":{},"viaIR":true},"sources":{"lib_forge_std/src/console2.sol":{"keccak256":"0x954646445d1014c3cd85c7918f5e7adeeca5ee44b68c00bafa237e597a4e35ea","urls":["bzz-raw://516fa3be52da4763147175bfba4be0aa011fadbb0c1afb01f97265bd4cee7973","dweb:/ipfs/QmdixAyMJefx7qePChgdxcBH5MxhmN7vsqPuPLx3CgrVmF"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/proxy/Proxy.sol":{"keccak256":"0xc3f2ec76a3de8ed7a7007c46166f5550c72c7709e3fc7e8bb3111a7191cdedbd","urls":["bzz-raw://e73efb4c2ca655882dc237c6b4f234a9bd36d97159d8fcaa837eb01171f726ac","dweb:/ipfs/QmTNnnv7Gu5fs5G1ZMh7Fexp8N4XUs3XrNAngjcxgiss3e"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0xee2337af2dc162a973b4be6d3f7c16f06298259e0af48c5470d2839bfa8a22f4","urls":["bzz-raw://30c476b4b2f405c1bb3f0bae15b006d129c80f1bfd9d0f2038160a3bb9745009","dweb:/ipfs/Qmb3VcuDufv6xbHeVgksC4tHpc5gKYVqBEwjEXW72XzSvN"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC721/IERC721.sol":{"keccak256":"0xe0e3a2099f2e2ce3579dd35548f613928739642058dfec95b1745f93364ce3de","urls":["bzz-raw://36a3930518e5c4a3c83839aaa136b863af513e6eeee6a3654e8f910f8007f827","dweb:/ipfs/QmcU1b6SYYUMiXJ6jd5HY6sgYjJLdBu4smak1X1FDgkoaA"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Enumerable.sol":{"keccak256":"0x3d6954a93ac198a2ffa384fa58ccf18e7e235263e051a394328002eff4e073de","urls":["bzz-raw://1f58c799bd939d3951c94893e83ef86acd56989d1d7db7f9d180c515e29e28ff","dweb:/ipfs/QmTgAxHAAys4kq9ZfU9YB24MWYoHLGAKSxnYUigPFrNW7g"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/token/ERC721/extensions/IERC721Metadata.sol":{"keccak256":"0x37d1aaaa5a2908a09e9dcf56a26ddf762ecf295afb5964695937344fc6802ce1","urls":["bzz-raw://ed0bfc1b92153c5000e50f4021367b931bbe96372ac6facec3c4961b72053d02","dweb:/ipfs/Qmbwp8VDerjS5SV1quwHH1oMXxPQ93fzfLVqJ2RCqbowGE"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/utils/ReentrancyGuard.sol":{"keccak256":"0x84496688b0b80f8e592f0db8ef82c3e7172a1658169b8f0832b522e935e216c0","urls":["bzz-raw://c98e6288d465afdbe084108995c6a8f19db173d6f068b92ef1f70f7edf6ffb3a","dweb:/ipfs/QmShqKgJLqoRK2vv4sFU3iouqFGvWUbvGopbZS8Qn9Bp1X"],"license":"MIT"},"lib_openzeppelin_contracts/contracts/utils/introspection/IERC165.sol":{"keccak256":"0xc859863e3bda7ec3cddf6dafe2ffe91bcbe648d1395b856b839c32ee9617c44c","urls":["bzz-raw://a9d5417888b873cf2225ed5d50b2a67be97c1504134a2a580512168d587ad82e","dweb:/ipfs/QmNr5fTb2heFW658NZn7dDnofZgFvQTnNxKRJ3wdnR1skX"],"license":"MIT"},"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Factory.sol":{"keccak256":"0xcc3d0c93fc9ac0febbe09f941b465b57f750bcf3b48432da0b97dc289cfdc489","urls":["bzz-raw://b9379ad954680c44a0bc523b314ae4c4da735f9fe1d02aa56ea5bdba6f1136f2","dweb:/ipfs/QmZXdgQNXKAckrXWz9R3mc47F1fvDvr28a2ewJrwNAw71B"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/IUniswapV3Pool.sol":{"keccak256":"0xfe6113d518466cd6652c85b111e01f33eb62157f49ae5ed7d5a3947a2044adb1","urls":["bzz-raw://1c42b9e6f5902ac38dd43e25750939baa7e0c1425dc75afd717c4412731065d5","dweb:/ipfs/QmWaoacnzsucTvBME2o7YgZBZMhaHv7fkj83htHMVWJKWh"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/callback/IUniswapV3SwapCallback.sol":{"keccak256":"0x3f485fb1a44e8fbeadefb5da07d66edab3cfe809f0ac4074b1e54e3eb3c4cf69","urls":["bzz-raw://095ce0626b41318c772b3ebf19d548282607f6a8f3d6c41c13edfbd5370c8652","dweb:/ipfs/QmVDZfJJ89UUCE1hMyzqpkZAtQ8jUsBgZNE5AMRG7RzRFS"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolActions.sol":{"keccak256":"0x9453dd0e7442188667d01d9b65de3f1e14e9511ff3e303179a15f6fc267f7634","urls":["bzz-raw://982f4328f956c3e60e67501e759eb292ac487f76460c774c50e9ae4fcc92aae5","dweb:/ipfs/QmRnzEDsaqtd9PJEVcgQi7p5aV5pMSvRUoGZJAdwFUJxgZ"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolDerivedState.sol":{"keccak256":"0xe603ac5b17ecdee73ba2b27efdf386c257a19c14206e87eee77e2017b742d9e5","urls":["bzz-raw://8febc9bdb399a4d94bb89f5377732652e2400e4a8dee808201ade6848f9004e7","dweb:/ipfs/QmaKDqYYFU4d2W2iN77aDHptfbFmYZRrMYXHeGpJmM8C1c"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolEvents.sol":{"keccak256":"0x8071514d0fe5d17d6fbd31c191cdfb703031c24e0ece3621d88ab10e871375cd","urls":["bzz-raw://d0b571930cc7488b1d546a7e9cea7c52d8b3c4e207da657ed0e0db7343b8cd03","dweb:/ipfs/QmaGK6vVwB95QSTR1XMYvrh7ivYAYZxi3fD7v6VMA4jZ39"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolImmutables.sol":{"keccak256":"0xf6e5d2cd1139c4c276bdbc8e1d2b256e456c866a91f1b868da265c6d2685c3f7","urls":["bzz-raw://b99c8c9ae8e27ee6559e5866bea82cbc9ffc8247f8d15b7422a4deb287d4d047","dweb:/ipfs/QmfL8gaqt3ffAnm6nVj5ksuNpLygXuL3xq5VBqrkwC2JJ3"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolOwnerActions.sol":{"keccak256":"0x759b78a2918af9e99e246dc3af084f654e48ef32bb4e4cb8a966aa3dcaece235","urls":["bzz-raw://64144fb96e1c7fdba87305acadb98a198d26a3d46c097cb3a666e567f6f29735","dweb:/ipfs/QmUnWVwN9FKB9uV5Pr8YfLpWZnYM2DENnRMaadZ492JS9u"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-core/contracts/interfaces/pool/IUniswapV3PoolState.sol":{"keccak256":"0x852dc1f5df7dcf7f11e7bb3eed79f0cea72ad4b25f6a9d2c35aafb48925fd49f","urls":["bzz-raw://ed63907c38ff36b0e22bc9ffc53e791ea74f0d4f0e7c257fdfb5aaf8825b1f0f","dweb:/ipfs/QmSQrckghEjs6HVsA5GVgpNpZWvTXMY5eQLF7cN6deFeEg"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/IERC721Permit.sol":{"keccak256":"0x9e3c2a4ee65ddf95b2dfcb0815784eea3a295707e6f8b83e4c4f0f8fe2e3a1d4","urls":["bzz-raw://bfd939085b3618101b955f87c7fabf38338ba1aad480295acb8102ebc5d72471","dweb:/ipfs/QmauQD8bGDHTztmTDfaKXjzM7Wacrq2XU7VcTbwn1WrDBL"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/INonfungiblePositionManager.sol":{"keccak256":"0x3357b065654abb7f4a9ebd184a260bc39efde2afa4e99dca2e72ffc28e9c2984","urls":["bzz-raw://f7682dab014724be8e0a5a401b047788ff9c70b77fa5bd567ea6adc333cb3b56","dweb:/ipfs/QmatH1Gc6z3AkP4dHjAEBKfCBbgBfD4vCceF4TuZU2bCyW"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryImmutableState.sol":{"keccak256":"0x7affcfeb5127c0925a71d6a65345e117c33537523aeca7bc98085ead8452519d","urls":["bzz-raw://e16b291294210e71cb0f20cd0afe62ae2dc6878d627f5ccc19c4dc9cd80aec3f","dweb:/ipfs/QmQGitSyBr26nour81BZmpmDMyJpvZRqHQZvnCD1Acb127"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/IPeripheryPayments.sol":{"keccak256":"0xb547e10f1e69bed03621a62b73a503e260643066c6b4054867a4d1fef47eb274","urls":["bzz-raw://f9a90f58f5fd5fb42f7811f4094113b532f307b14a73764c91f977590747f407","dweb:/ipfs/QmSeNH2mfiDMKf3Q6V2sqtNxx1s72JNuA1VVxRM9HoMqYp"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/IPoolInitializer.sol":{"keccak256":"0x9d7695e8d94c22cc5fcced602017aabb988de89981ea7bee29ea629d5328a862","urls":["bzz-raw://61b50933026ee1017db2a6273af8cedc3238c95dca58880db0918dbdbb2f064f","dweb:/ipfs/QmUebR26pqG25d18aBELKz8aFFKkmHa8PxntzXTA7o9Ldu"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol":{"keccak256":"0x9bfaf1feb32814623e627ab70f2409760b15d95f1f9b058e2b3399a8bb732975","urls":["bzz-raw://a8a2c3e55965b61bcd91993d8e1d5d34b8b8a63e0fdfce87a85f6af92526fd53","dweb:/ipfs/QmQj2CSCSwqDSU4KMNWxGsN2336Cy64WgpV1X1EHXNZWxM"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/interfaces/external/IWETH9.sol":{"keccak256":"0xa15c06ebc0fac4057529d5580114c73a9ec1ceed1c4192d6a2c8178e5cad5f82","urls":["bzz-raw://bc05180f3b4fe5f8e5f604f3e2e84dec88b9b05c02d82c672cec8047e573c12b","dweb:/ipfs/QmQLbbXriaQBGC1MMgFysrmafnmLvpHYd66DvcbhyTxxGW"],"license":"GPL-2.0-or-later"},"lib_uniswap/v3-periphery/contracts/libraries/PoolAddress.sol":{"keccak256":"0x0a107d09991fd2dc9a3ca13bf0745f0b6f6f6ffea3e55ad3677ecdbadef089b4","urls":["bzz-raw://e179110a9ec825b7f15384a9c61f90261fe6227b289dac9996b0ed9cf1655b48","dweb:/ipfs/Qma2amC8zJSW2PzPCk1nBYiFd4mjZiAW9z4kxjoYZPCtRr"],"license":"GPL-2.0-or-later"},"src/core/IEEE754.sol":{"keccak256":"0x121d0b729b518650687a6f267485dcd35e320ef4f0abb77c11dba1a2173e0d67","urls":["bzz-raw://e379276bca67a148345fe51a777b6c59147b38622f12314213789760997d2545","dweb:/ipfs/QmdHnhJ6fcH9q4SKqjd7B9VVyBqykEkcht1QMPDc6Sgbbt"],"license":"UNLICENSED"},"src/core/LineLib.sol":{"keccak256":"0x67ae7a59ee4e4e244bf17604c4cb390233503eaa011a24bcdf737773d5b5a9f4","urls":["bzz-raw://0d0c6459d297427055354956e807209fd425d814467d7c6ccb6157567718405d","dweb:/ipfs/QmTV5b15om8gFaAxmsrAgVqeVTQmv2xYd6beK3mXe541Du"],"license":"UNLICENSED"},"src/core/OrderLib.sol":{"keccak256":"0x19391d9339480f8960e9ed4882f215e021cc662f0e537953e2ca77fc5f36e624","urls":["bzz-raw://a45161c08a3282e7a1edd169f79fa5d84b5f10aa5a1cd85bb3a8514f2c54d77e","dweb:/ipfs/QmVppgwfVzDQ2wy1AN6sqXUxVZvDNPXc8PuUcJLBgVzRAg"],"license":"UNLICENSED"},"src/core/OrderSpec.sol":{"keccak256":"0xf08b30272a94d68a193b54643ebfc26fa8677764dc19527d97cc391021437506","urls":["bzz-raw://27f23f8f0002869820a4ff4efcfa14d2b4be04e7b48035355f8afe5a15296efb","dweb:/ipfs/QmYahHKhgoz1tZ3sAjad4CH9UjpzXsogyzdCf1H7crXNCr"],"license":"UNLICENSED"},"src/core/UniswapV3.sol":{"keccak256":"0xe448b1ea18fece32d90dd17f230c81e0dbdbd9e2b6ef83700135747751c8308a","urls":["bzz-raw://4a4e728c7437c70925b18a2b4ae838c53da2db94c02922a7ee57014b55ca524c","dweb:/ipfs/QmcmNKdMhy1b1P78qUcRsV2DdRxxFp891o47NeH5ELgc9w"],"license":"UNLICENSED"},"src/core/Util.sol":{"keccak256":"0xe3164ffc07d66890a44924ba74ee42ca7f07866855842a32055035e7de5c4c15","urls":["bzz-raw://848e067ad125cacc943fe7075aa3f84daaefeabce31e2f7fae787b9c8f140e0a","dweb:/ipfs/QmVoK3q34s2WBRcrM7eL8ox5ZxHUNMvFpNsUSNcVVgBXZ5"],"license":"UNLICENSED"},"src/core/Vault.sol":{"keccak256":"0x2a9879fce94f8c88ec96789eb00e1a9ec6f43861a8f696d86b4d6e4d24e7a9f3","urls":["bzz-raw://92f43fc3a530efcb3ddfd461103deadd58f54758f081fefcab6a25f342da9429","dweb:/ipfs/QmUPvnLBt2uhay2uvCiLGThQYp7YbgH4PdH1AD8WgS8GEg"],"license":"UNLICENSED"},"src/core/VaultImpl.sol":{"keccak256":"0x000ebac4462c95eb97bddde2ccc4cf314c74b559cebab302f67d7c043e0a0d85","urls":["bzz-raw://5758323a311495e06a4640a9cedfead745609fc867368f6cb2d5e7aa87565da6","dweb:/ipfs/QmfSBa6XepMEeJErLvMrwC9mnyV9LB61wVSkAuKGrQS3vv"],"license":"UNLICENSED"},"src/interface/IFeeManager.sol":{"keccak256":"0xf92491919220097ca59e5511d6f5ecb70ce7738b164d64abd72674f5fdaaa86c","urls":["bzz-raw://afbc5c521400a69dcea03cb18e3907f02481de3568cf6f2f52062a4b9620b08b","dweb:/ipfs/QmR3sjaKQF9AdLxUiiMSM4i5X88dnkKWsdxNjrPJ3hGE1L"],"license":"UNLICENSED"},"src/interface/IRouter.sol":{"keccak256":"0xbfc4846eaef5248ec4183e3b7ca3d4712c303dd16baf3b65f4e072973f37112e","urls":["bzz-raw://e15cb9724bc62dbacbd5213f1fefdf8e09ae3873a3dbd1b91a9162d6dfc236de","dweb:/ipfs/QmVPhaTSNxLzSZFW2QjcdgjLMMY15uUNxh2JtG46onqtgp"],"license":"UNLICENSED"},"src/interface/IVault.sol":{"keccak256":"0xdf24938122dae8f20b0460357ea30c7e9873b7c962502783b2c88392d2b10b75","urls":["bzz-raw://dd9ee9f5b760a794606e89ed39e4491477bb46d15423bcccde11256d6c2c1cbd","dweb:/ipfs/QmdP7eBXFtwHj4yr48vNC51pikvPDGn9eJQ1VMmxAybMp1"],"license":"UNLICENSED"},"src/interface/IVaultFactory.sol":{"keccak256":"0x612237e0fe6b27ecd323d21a1eb9b30ad703db8b552a7765c442c658d4ced69c","urls":["bzz-raw://eb5805e2ef86d145c9c08093c3e634d87a137c80e8f89db07309b20f9a1e93d2","dweb:/ipfs/QmTzr6xcLPNwBtFmArWat3CeuodWK2hvDCha2EbVm9y1Pk"],"license":"UNLICENSED"},"src/more/Dexorder.sol":{"keccak256":"0xd5e8105ebd5c825d73414820ac489da0d14889272abd0b20e2aeb805fe0156c7","urls":["bzz-raw://c3e36cbeb2557fc5d3a87bd5d16682fe8ed1ca4f49fbc5295cab0fd0c490cfd4","dweb:/ipfs/QmdRR4RUNzD1rrD52nx9VgbNSfikfVkg6HeiaGp8M8mJBi"],"license":"UNLICENSED"}},"version":1},"id":69}