UNPKG

@uniswap/v4-periphery

Version:

🦄 Peripheral smart contracts for interacting with Uniswap v4

1 lines • 1 MB
{"abi":[{"type":"receive","stateMutability":"payable"},{"type":"function","name":"IS_SCRIPT","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"IS_TEST","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"LIQUIDITY_PARAMS","inputs":[],"outputs":[{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidityDelta","type":"int256","internalType":"int256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"MAX_PRICE_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint160","internalType":"uint160"}],"stateMutability":"view"},{"type":"function","name":"MIN_PRICE_LIMIT","inputs":[],"outputs":[{"name":"","type":"uint160","internalType":"uint160"}],"stateMutability":"view"},{"type":"function","name":"REMOVE_LIQUIDITY_PARAMS","inputs":[],"outputs":[{"name":"tickLower","type":"int24","internalType":"int24"},{"name":"tickUpper","type":"int24","internalType":"int24"},{"name":"liquidityDelta","type":"int256","internalType":"int256"},{"name":"salt","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"SWAP_PARAMS","inputs":[],"outputs":[{"name":"zeroForOne","type":"bool","internalType":"bool"},{"name":"amountSpecified","type":"int256","internalType":"int256"},{"name":"sqrtPriceLimitX96","type":"uint160","internalType":"uint160"}],"stateMutability":"view"},{"type":"function","name":"_WETH9","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IWETH9"}],"stateMutability":"view"},{"type":"function","name":"deployAndApprovePosm","inputs":[{"name":"poolManager","type":"address","internalType":"contract IPoolManager"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployPermit2","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"deployPosmHookModifyLiquidities","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"deployPosmHookSavesDelta","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"excludeArtifacts","inputs":[],"outputs":[{"name":"excludedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"excludeContracts","inputs":[],"outputs":[{"name":"excludedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"excludeSelectors","inputs":[],"outputs":[{"name":"excludedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"excludeSenders","inputs":[],"outputs":[{"name":"excludedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"failed","inputs":[],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"positionDescriptor","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract IPositionDescriptor"}],"stateMutability":"view"},{"type":"function","name":"run","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"nonpayable"},{"type":"function","name":"setUp","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"targetArtifactSelectors","inputs":[],"outputs":[{"name":"targetedArtifactSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzArtifactSelector[]","components":[{"name":"artifact","type":"string","internalType":"string"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetArtifacts","inputs":[],"outputs":[{"name":"targetedArtifacts_","type":"string[]","internalType":"string[]"}],"stateMutability":"view"},{"type":"function","name":"targetContracts","inputs":[],"outputs":[{"name":"targetedContracts_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"targetInterfaces","inputs":[],"outputs":[{"name":"targetedInterfaces_","type":"tuple[]","internalType":"struct StdInvariant.FuzzInterface[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"artifacts","type":"string[]","internalType":"string[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSelectors","inputs":[],"outputs":[{"name":"targetedSelectors_","type":"tuple[]","internalType":"struct StdInvariant.FuzzSelector[]","components":[{"name":"addr","type":"address","internalType":"address"},{"name":"selectors","type":"bytes4[]","internalType":"bytes4[]"}]}],"stateMutability":"view"},{"type":"function","name":"targetSenders","inputs":[],"outputs":[{"name":"targetedSenders_","type":"address[]","internalType":"address[]"}],"stateMutability":"view"},{"type":"function","name":"test_bytecodeSize_positionManager","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_autocompound_clearExcess","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_autocompound_exactUnclaimedFees","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_autocompound_excessFeesCredit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_burnEmpty","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_burnEmpty_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_burn_nonEmptyPosition_native_withClose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_burn_nonEmptyPosition_native_withTakePair","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_burn_nonEmptyPosition_withClose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_burn_nonEmptyPosition_withTakePair","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_collect_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_collect_withClose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_collect_withTakePair","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_decreaseLiquidity_erc6909","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_decreaseLiquidity_withClose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_decreaseLiquidity_withTakePair","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_decrease_burnEmpty_batch","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_decrease_burnEmpty_batch_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_decrease_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_decrease_take_take","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_increaseLiquidity_erc20_withClose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_increaseLiquidity_erc20_withSettlePair","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_increaseLiquidity_erc6909","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_increase_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_differentRanges","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_native","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_native_excess_withClose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_native_excess_withSettlePair","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_sameTickLower","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_sameTickUpper","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_settleWithBalance_sweep","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_withClose","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_mint_withSettlePair","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_multicall_initialize_mint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_permit","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_permit_secondPosition","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_permit_twice","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_sameRange_collect","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_sameRange_decrease","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_sameRange_mint","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_gas_subscribe_unsubscribe","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"test_posm_initcodeHash","inputs":[],"outputs":[],"stateMutability":"nonpayable"},{"type":"event","name":"log","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_address","inputs":[{"name":"","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_array","inputs":[{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_bytes","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_bytes32","inputs":[{"name":"","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_int","inputs":[{"name":"","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_address","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address","indexed":false,"internalType":"address"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256[]","indexed":false,"internalType":"uint256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256[]","indexed":false,"internalType":"int256[]"}],"anonymous":false},{"type":"event","name":"log_named_array","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"address[]","indexed":false,"internalType":"address[]"}],"anonymous":false},{"type":"event","name":"log_named_bytes","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false},{"type":"event","name":"log_named_bytes32","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"bytes32","indexed":false,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"log_named_decimal_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_decimal_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"decimals","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_named_int","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"int256","indexed":false,"internalType":"int256"}],"anonymous":false},{"type":"event","name":"log_named_string","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_named_uint","inputs":[{"name":"key","type":"string","indexed":false,"internalType":"string"},{"name":"val","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"log_string","inputs":[{"name":"","type":"string","indexed":false,"internalType":"string"}],"anonymous":false},{"type":"event","name":"log_uint","inputs":[{"name":"","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"logs","inputs":[{"name":"","type":"bytes","indexed":false,"internalType":"bytes"}],"anonymous":false}],"bytecode":{"object":"0x600c805460ff199081166001908117909255601f80548216831790556077196080819052607860a0819052670de0b6b3a764000060c08190525f60e0819052602080546378ffff8865ffffffffffff19918216811790925560219390935560228290556101009490945261012092909252670de0b6b3a763ffff196101408190526101608390526023805490921690931790556024919091556025556101e06040526101808290526063196101a08190526bb504f333f9de6484597d89b36101c0819052602680549093168417909255602755602880546001600160a01b0319908116909217905560428054909116600e17905560438054614000600160a11b036001600160a81b031990911617905561011a9042906101ae565b604555604b80546001600160a01b03191661050017905560405161013d906101a0565b604051809103905ff080158015610156573d5f803e3d5ffd5b50604c80546001600160a01b03929092166001600160a01b0319928316179055604e8054821661abcd17905560508054909116610f8017905534801561019a575f80fd5b506101d3565b61121e806202e76083390190565b808201808211156101cd57634e487b7160e01b5f52601160045260245ffd5b92915050565b6202e57e80620001e25f395ff3fe60806040526004361062000476575f3560e01c806377aa3ca7116200024a578063c37c649f116200013a578063da86791011620000c6578063eefa1c031162000092578063f7612ffb1162000076578063f7612ffb1462000bab578063f8ccbf471462000bc2578063fa7626d41462000bf5575f80fd5b8063eefa1c031462000b7d578063f6d708e81462000b94575f80fd5b8063da8679101462000b21578063dab961b81462000b38578063db26d45d1462000b4f578063e20c9f711462000b66575f80fd5b8063c9ec18721162000106578063c9ec18721462000ac5578063cb6953901462000adc578063d98ccec51462000af3578063da2104d31462000b0a575f80fd5b8063c37c649f1462000a69578063c7b8e15d1462000a80578063c99135b71462000a97578063c9b3dcd91462000aae575f80fd5b8063ad53015611620001d6578063b2e5e68811620001a2578063ba414fa61162000186578063ba414fa61462000a13578063c04062261462000a3b578063c36e026d1462000a52575f80fd5b8063b2e5e68814620009e5578063b5508aa914620009fc575f80fd5b8063ad5301561462000933578063adedca87146200094a578063b0464fdc1462000961578063b1a73b8a1462000978575f80fd5b8063916a17c61162000216578063916a17c614620008b057806393ad73ed14620008d6578063a10ea23d1462000905578063a61da091146200091c575f80fd5b806377aa3ca71462000845578063790cc600146200085c57806385226c81146200087357806390ca30761462000899575f80fd5b806340dfd529116200036657806363e8f72811620002f2578063687e532511620002be5780636fd9f42f11620002a25780636fd9f42f14620008005780636fff59131462000817578063737c1ead146200082e575f80fd5b8063687e532514620007d25780636cb3185914620007e9575f80fd5b806363e8f728146200075057806365f00158146200077e57806366d9a9a0146200079557806367382c0514620007bb575f80fd5b8063542524dd1162000332578063542524dd14620006f457806354a6ce05146200070b578063566b5b0814620007225780635b3add291462000739575f80fd5b806340dfd52914620006af578063475be35214620006c6578063496523e314620006dd578063537779611462000482575f80fd5b80631ddb213c11620004025780632ea2d12111620003ce5780633bcbcc5311620003b25780633bcbcc53146200066a5780633e5e3c2314620006815780633f7286f41462000698575f80fd5b80632ea2d12114620005fb57806339cd20131462000612575f80fd5b80631ddb213c14620005815780631ed7831c14620005985780632ade388014620005be5780632c7bae9d14620005e4575f80fd5b8063106d02311162000442578063106d023114620004e4578063106e0c24146200053c578063149718f214620005535780631974abf9146200056a575f80fd5b80630185f08c146200048257806303ef31f61462000492578063076abe9a14620004b65780630a9254e414620004cd575f80fd5b366200047e57005b5f80fd5b3480156200048e575f80fd5b505b005b3480156200049e575f80fd5b5062000490620004b03660046200fec3565b62000c12565b348015620004c2575f80fd5b506200049062000c2a565b348015620004d9575f80fd5b506200049062001047565b348015620004f0575f80fd5b50604754620005129073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff90911681526020015b60405180910390f35b34801562000548575f80fd5b506200049062001b6a565b3480156200055f575f80fd5b506200049062001f86565b34801562000576575f80fd5b5062000490620025e9565b3480156200058d575f80fd5b506200049062002a90565b348015620005a4575f80fd5b50620005af62002eab565b6040516200053391906200fee1565b348015620005ca575f80fd5b50620005d562002f1a565b6040516200053391906200ff87565b348015620005f0575f80fd5b50620004906200306f565b34801562000607575f80fd5b506200049062003413565b3480156200061e575f80fd5b506023546024546025546200064192600281810b936301000000909204900b9184565b60408051600295860b81529390940b602084015292820152606081019190915260800162000533565b34801562000676575f80fd5b5062000490620039b2565b3480156200068d575f80fd5b50620005af620043ed565b348015620006a4575f80fd5b50620005af6200445a565b348015620006bb575f80fd5b5062000490620044c7565b348015620006d2575f80fd5b506200049062004ceb565b348015620006e9575f80fd5b506200049062004f3a565b34801562000700575f80fd5b50620005126200580b565b34801562000717575f80fd5b50620004906200582f565b3480156200072e575f80fd5b506200049062005b6d565b34801562000745575f80fd5b506200049062005f19565b3480156200075c575f80fd5b50604d54620005129073ffffffffffffffffffffffffffffffffffffffff1681565b3480156200078a575f80fd5b50620004906200630e565b348015620007a1575f80fd5b50620007ac62006641565b604051620005339190620100fd565b348015620007c7575f80fd5b5062000490620067c6565b348015620007de575f80fd5b5062000490620068e1565b348015620007f5575f80fd5b506200049062006c59565b3480156200080c575f80fd5b506200049062006e59565b34801562000823575f80fd5b50620004906200718b565b3480156200083a575f80fd5b5062000490620075f1565b34801562000851575f80fd5b5062000490620077d8565b34801562000868575f80fd5b506200049062007b15565b3480156200087f575f80fd5b506200088a62007fb9565b6040516200053391906201019f565b348015620008a5575f80fd5b50620004906200808e565b348015620008bc575f80fd5b50620008c762008966565b60405162000533919062010218565b348015620008e2575f80fd5b506020546021546022546200064192600281810b936301000000909204900b9184565b34801562000911575f80fd5b506200049062008a6d565b34801562000928575f80fd5b506200049062008de5565b3480156200093f575f80fd5b5062000490620094b7565b34801562000956575f80fd5b5062000490620096e6565b3480156200096d575f80fd5b50620008c762009eed565b34801562000984575f80fd5b50602654602754602854620009b19260ff16919073ffffffffffffffffffffffffffffffffffffffff1683565b604080519315158452602084019290925273ffffffffffffffffffffffffffffffffffffffff169082015260600162000533565b348015620009f1575f80fd5b506200049062009ff4565b34801562000a08575f80fd5b506200088a6200a354565b34801562000a1f575f80fd5b5062000a2a6200a429565b604051901515815260200162000533565b34801562000a47575f80fd5b50620005126200a4fd565b34801562000a5e575f80fd5b50620004906200a5c7565b34801562000a75575f80fd5b50620004906200a9b6565b34801562000a8c575f80fd5b50620005126200acf1565b34801562000aa3575f80fd5b50620004906200ad03565b34801562000aba575f80fd5b50620004906200af5e565b34801562000ad1575f80fd5b50620005126200b46d565b34801562000ae8575f80fd5b50620004906200b47d565b34801562000aff575f80fd5b50620004906200b607565b34801562000b16575f80fd5b50620004906200b94b565b34801562000b2d575f80fd5b50620004906200bc97565b34801562000b44575f80fd5b50620004906200c004565b34801562000b5b575f80fd5b50620004906200c0a8565b34801562000b72575f80fd5b50620005af6200c3f3565b34801562000b89575f80fd5b50620004906200c460565b34801562000ba0575f80fd5b50620004906200c84f565b34801562000bb7575f80fd5b50620004906200ca62565b34801562000bce575f80fd5b5060435462000a2a9074010000000000000000000000000000000000000000900460ff1681565b34801562000c01575f80fd5b50601f5462000a2a9060ff1681565b565b62000c1d816200cda5565b62000c276200cf50565b50565b604454604080517f75794a3c00000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916375794a3c9160048083019260209291908290030181865afa15801562000c98573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062000cbe9190620102be565b6040805161010081018252605e5473ffffffffffffffffffffffffffffffffffffffff9081166060808401918252605f54808416608086015262ffffff7401000000000000000000000000000000000000000082041660a0860152770100000000000000000000000000000000000000000000009004600290810b60c0860152905490921660e0840152825260615480820b602084015263010000009004900b9181019190915290915062000dbd906c010000000000000000000000009069021e19e0c9bab240000060015f5b6040519080825280601f01601f19166020018201604052801562000db6576020820181803683370190505b506200cf98565b6040805161010081018252605e5473ffffffffffffffffffffffffffffffffffffffff9081166060808401918252605f54808416608086015274010000000000000000000000000000000000000000810462ffffff1660a0860152770100000000000000000000000000000000000000000000009004600290810b60c0860152905490921660e0840152825260615480820b602080850191909152630100000090910490910b8284015282515f80825291810190935269021e19e0c9bab240000092909162000e919185919085906200d069565b6061549091505f9062000eda906c010000000000000000000000009062000ebb9060020b6200d094565b60615462000ed3906301000000900460020b6200d094565b866200d3a8565b5060445490915073ffffffffffffffffffffffffffffffffffffffff1663dd46508f62000f0983600162010330565b846045546040518463ffffffff1660e01b815260040162000f2c92919062010346565b5f604051808303818588803b15801562000f44575f80fd5b505af115801562000f57573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152602860248201527f506f736974696f6e4d616e616765725f696e6372656173654c6971756964697460448201527f795f6e61746976650000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d935063dd9fca12925060840190505b6020604051808303815f875af11580156200101a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620010409190620102be565b5050505050565b620010876040518060400160405280600581526020017f414c4943450000000000000000000000000000000000000000000000000000008152506200d49e565b605655605580547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff9290921691909117905560408051808201909152600381527f424f42000000000000000000000000000000000000000000000000000000000060208201526200110e906200d49e565b605855605780547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055620011606200d602565b6200116a6200dbe1565b5050602954602a54620011a99173ffffffffffffffffffffffffffffffffffffffff90811691165f610bb86c010000000000000000000000006200dc68565b6054558051603680547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff93841617909155602083015160378054604086015160608701519386167fffffffffffffffffff0000000000000000000000000000000000000000000000909216919091177401000000000000000000000000000000000000000062ffffff92831602177fffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff167701000000000000000000000000000000000000000000000091909316029190911790556080909201516038805490931690821617909155602a54604a54620012d1925f9281169116610bb86c010000000000000000000000006200dc68565b508051603980547fffffffffffffffffffffffff000000000000000000000000000000000000000090811673ffffffffffffffffffffffffffffffffffffffff938416179091556020830151603a8054604086015160608701519386167fffffffffffffffffff0000000000000000000000000000000000000000000000909216919091177401000000000000000000000000000000000000000062ffffff9283168102919091177fffffffffffff000000ffffffffffffffffffffffffffffffffffffffffffffff16770100000000000000000000000000000000000000000000009483169490940293909317909155608090940151603b80549093169316929092179055603754620013f69291900416670de0b6b3a7640000620f42406200ddcf565b605955602b546200141d9073ffffffffffffffffffffffffffffffffffffffff1662000c12565b605554620014419073ffffffffffffffffffffffffffffffffffffffff166200de0a565b605754620014659073ffffffffffffffffffffffffffffffffffffffff166200de0a565b605554620014899073ffffffffffffffffffffffffffffffffffffffff166200df59565b605754620014ad9073ffffffffffffffffffffffffffffffffffffffff166200df59565b604051806060016040528060366040518060a00160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900462ffffff1662ffffff1662ffffff1681526020016001820160179054906101000a900460020b60020b60020b8152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505081526020017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed460020b815260200161012c60020b815250605a5f820151815f015f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548162ffffff021916908362ffffff16021790555060608201518160010160176101000a81548162ffffff021916908360020b62ffffff1602179055506080820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506020820151816003015f6101000a81548162ffffff021916908360020b62ffffff16021790555060408201518160030160036101000a81548162ffffff021916908360020b62ffffff160217905550905050604051806060016040528060396040518060a00160405290815f82015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600182015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900462ffffff1662ffffff1662ffffff1681526020016001820160179054906101000a900460020b60020b60020b8152602001600282015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152505081526020017ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffed460020b815260200161012c60020b815250605e5f820151815f015f820151815f015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506020820151816001015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060408201518160010160146101000a81548162ffffff021916908362ffffff16021790555060608201518160010160176101000a81548162ffffff021916908360020b62ffffff1602179055506080820151816002015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050506020820151816003015f6101000a81548162ffffff021916908360020b62ffffff16021790555060408201518160030160036101000a81548162ffffff021916908360020b62ffffff16021790555090505060445f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1660405162001aeb906200fddd565b73ffffffffffffffffffffffffffffffffffffffff9091168152602001604051809103905ff08015801562001b22573d5f803e3d5ffd5b50606280547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b604454604080517f75794a3c00000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916375794a3c9160048083019260209291908290030181865afa15801562001bd8573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001bfe9190620102be565b6040805161010081018252605a5473ffffffffffffffffffffffffffffffffffffffff90811660608301908152605b54808316608085015262ffffff7401000000000000000000000000000000000000000082041660a0850152770100000000000000000000000000000000000000000000009004600290810b60c0850152605c5490921660e08401528252605d5480820b602084015263010000009004900b9181019190915290915062001cec90670de0b6b3a764000060015f5b6040519080825280601f01601f19166020018201604052801562001ce5576020820181803683370190505b506200e05b565b604454606254604080515f815260208101918290527f2b9261de0000000000000000000000000000000000000000000000000000000090915273ffffffffffffffffffffffffffffffffffffffff92831692632b9261de9262001d59928692909116906024810162010369565b5f604051808303815f87803b15801562001d71575f80fd5b505af115801562001d84573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f506f736974696f6e4d616e616765725f737562736372696265000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca1291506064016020604051808303815f875af115801562001e1e573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001e449190620102be565b506044546040517fad0b27fb0000000000000000000000000000000000000000000000000000000081526004810183905273ffffffffffffffffffffffffffffffffffffffff9091169063ad0b27fb906024015f604051808303815f87803b15801562001eaf575f80fd5b505af115801562001ec2573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152601b60248201527f506f736974696f6e4d616e616765725f756e73756273637269626500000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca1291506064016020604051808303815f875af115801562001f5c573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062001f829190620102be565b5050565b6055546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801562002003575f80fd5b505af115801562002016573d5f803e3d5ffd5b50506040805161010081018252605a5473ffffffffffffffffffffffffffffffffffffffff90811660608301908152605b54808316608085015262ffffff7401000000000000000000000000000000000000000082041660a0850152770100000000000000000000000000000000000000000000009004600290810b60c0850152605c5490921660e08401528252605d5480820b602084015263010000009004900b91810191909152620020db9250905069021e19e0c9bab240000060015f62001cba565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562002143575f80fd5b505af115801562002156573d5f803e3d5ffd5b505050505f60445f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375794a3c6040518163ffffffff1660e01b8152600401602060405180830381865afa158015620021c6573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620021ec9190620102be565b6040805161010081018252605a5473ffffffffffffffffffffffffffffffffffffffff90811660608301908152605b54808316608085015262ffffff7401000000000000000000000000000000000000000082041660a0850152770100000000000000000000000000000000000000000000009004600290810b60c0850152605c5490921660e08401528252605d5480820b602084015263010000009004900b91810191909152909150620022af9069021e19e0c9bab240000060015f62001cba565b60305473ffffffffffffffffffffffffffffffffffffffff1663234266d7605a6702c68af0bb140000805f6040519080825280601f01601f19166020018201604052801562002305576020820181803683370190505b506040518563ffffffff1660e01b81526004016200232794939291906201039f565b6020604051808303815f875af115801562002344573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906200236a9190620102be565b505f620023db600183838080805b6040519080825280601f01601f191660200182016040528015620023a3576020820181803683370190505b50604051602001620023ba95949392919062010412565b604051602081830303815290604052620023d36200e0f4565b91906200e152565b6040805160a081018252605a5473ffffffffffffffffffffffffffffffffffffffff9081168252605b54808216602084015262ffffff74010000000000000000000000000000000000000000820416938301939093527701000000000000000000000000000000000000000000000090920460020b6060820152605c5490911660808201529091505f90620024729083906200e38f565b6044546045546040517fdd46508f00000000000000000000000000000000000000000000000000000000815292935073ffffffffffffffffffffffffffffffffffffffff9091169163dd46508f91620024d19185919060040162010346565b5f604051808303815f87803b158015620024e9575f80fd5b505af1158015620024fc573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f506f736974696f6e4d616e616765725f636f6c6c6563745f73616d6552616e6760448201527f65000000000000000000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca1291506084015b6020604051808303815f875af1158015620025bd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620025e39190620102be565b50505050565b604080516101008101825260365473ffffffffffffffffffffffffffffffffffffffff90811660608301908152603754808316608085015274010000000000000000000000000000000000000000810462ffffff1660a085015277010000000000000000000000000000000000000000000000900460020b60c0840152603854821660e08401528252603c602083015261012c8284015260575492517f06447d560000000000000000000000000000000000000000000000000000000081529216600483015290737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b158015620026e7575f80fd5b505af1158015620026fa573d5f803e3d5ffd5b505060575462002731925083915069021e19e0c9bab24000009073ffffffffffffffffffffffffffffffffffffffff165f62001cba565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562002799575f80fd5b505af1158015620027ac573d5f803e3d5ffd5b5050605d545f9250620028339150600290605a9080830b9063010000009004830b69021e19e0c9bab24000006fffffffffffffffffffffffffffffffff806001895b6040519080825280601f01601f19166020018201604052801562002819576020820181803683370190505b50604051602001620023ba98979695949392919062010465565b6040805160a081018252605a5473ffffffffffffffffffffffffffffffffffffffff9081168252605b54808216602084015262ffffff74010000000000000000000000000000000000000000820416938301939093527701000000000000000000000000000000000000000000000090920460020b6060820152605c5490911660808201529091505f90620028ca9083906200e38f565b6055546040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156200294a575f80fd5b505af11580156200295d573d5f803e3d5ffd5b50506044546045546040517fdd46508f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216935063dd46508f9250620029bd9185919060040162010346565b5f604051808303815f87803b158015620029d5575f80fd5b505af1158015620029e8573d5f803e3d5ffd5b50506040517fdd9fca12000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f506f736974696f6e4d616e616765725f6d696e745f6f6e53616d655469636b5560448201527f70706572000000000000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca129150608401620025a0565b68a2a15d09519be000005f62002aa56200e0f4565b605d5460555491925062002b7191600291605a9181840b9163010000009004840b9087906fffffffffffffffffffffffffffffffff90819073ffffffffffffffffffffffffffffffffffffffff165f5b6040519080825280601f01601f19166020018201604052801562002b20576020820181803683370190505b5060405160200162002b3a9897969594939291906201054e565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190528391906200e152565b506029546040805173ffffffffffffffffffffffffffffffffffffffff90921660208301525f908201819052606082015262002bb390600b9060800162002b3a565b50602a546040805173ffffffffffffffffffffffffffffffffffffffff90921660208301525f908201819052606082015262002bf590600b9060800162002b3a565b506029546040805173ffffffffffffffffffffffffffffffffffffffff909216602083015260019082015262002c319060149060600162002b3a565b50602a546040805173ffffffffffffffffffffffffffffffffffffffff909216602083015260019082015262002c6d9060149060600162002b3a565b5060445460295462002ca39173ffffffffffffffffffffffffffffffffffffffff918216911668056bc75e2d631000006200e444565b604454602a5462002cd89173ffffffffffffffffffffffffffffffffffffffff918216911668056bc75e2d631000006200e444565b5f62002ce4826200e569565b6055546040517fca669fa700000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152909150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801562002d64575f80fd5b505af115801562002d77573d5f803e3d5ffd5b50506044546045546040517fdd46508f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff909216935063dd46508f925062002dd79185919060040162010346565b5f604051808303815f87803b15801562002def575f80fd5b505af115801562002e02573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f506f736974696f6e4d616e616765725f6d696e745f736574746c65576974684260448201527f616c616e63655f737765657000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca129150608401620025a0565b6060601680548060200260200160405190810160405280929190818152602001828054801562002f1057602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff16815260019091019060200180831162002ee4575b5050505050905090565b6060601e805480602002602001604051908101604052809291908181526020015f905b8282101562003066575f848152602080822060408051808201825260028702909201805473ffffffffffffffffffffffffffffffffffffffff168352600181018054835181870281018701909452808452939591948681019491929084015b828210156200304e578382905f5260205f2001805462002fbc906201061e565b80601f016020809104026020016040519081016040528092919081815260200182805462002fea906201061e565b8015620030395780601f106200300f5761010080835404028352916020019162003039565b820191905f5260205f20905b8154815290600101906020018083116200301b57829003601f168201915b50505050508152602001906001019062002f9c565b50505050815250508152602001906001019062002f3d565b50505050905090565b604454604080517f75794a3c00000000000000000000000000000000000000000000000000000000815290515f9273ffffffffffffffffffffffffffffffffffffffff16916375794a3c9160048083019260209291908290030181865afa158015620030dd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620031039190620102be565b6040805161010081018252605a5473ffffffffffffffffffffffffffffffffffffffff90811660608301908152605b54808316608085015262ffffff7401000000000000000000000000000000000000000082041660a0850152770100000000000000000000000000000000000000000000009004600290810b60c0850152605c5490921660e08401528252605d5480820b602084015263010000009004900b91810191909152909150620031c69069021e19e0c9bab240000060015f62001cba565b5f6200321f60018369021e19e0c9bab24000008480805b6040519080825280601f01601f19166020018201604052801562003208576020820181803683370190505b50604051602001620023ba95949392919062010671565b604080515f8082526020820183529293506200324b9260039262002b3a928792918291908101620106cd565b506040805160a081018252605a5473ffffffffffffffffffffffffffffffffffffffff9081168252605b54808216602084015262ffffff74010000000000000000000000000000000000000000820416938301939093527701000000000000000000000000000000000000000000000090920460020b6060820152605c5490911660808201525f90620032e09083906200e38f565b6044546045546040517fdd46508f00000000000000000000000000000000000000000000000000000000815292935073ffffffffffffffffffffffffffffffffffffffff9091169163dd46508f916200333f9185919060040162010346565b5f604051808303815f87803b15801562003357575f80fd5b505af11580156200336a573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f506f736974696f6e4d616e616765725f64656372656173655f6275726e456d7060448201527f74790000000000000000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca129150608401620025a0565b6055546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152670de0b6b3a764000090737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b1580156200349a575f80fd5b505af1158015620034ad573d5f803e3d5ffd5b505050505f60445f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375794a3c6040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200351d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620035439190620102be565b6040805161010081018252605a5473ffffffffffffffffffffffffffffffffffffffff90811660608301908152605b54808316608085015262ffffff7401000000000000000000000000000000000000000082041660a0850152770100000000000000000000000000000000000000000000009004600290810b60c0850152605c54831660e0850152908352605d5480820b602085015263010000009004900b92820192909252605554929350620036019290918591165f62001cba565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562003669575f80fd5b505af11580156200367c573d5f803e3d5ffd5b5050605754600192505f9150620036b79073ffffffffffffffffffffffffffffffffffffffff168484620036b1428262010330565b6200e59d565b6056546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529091505f9081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003733573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062003759919062010717565b60408051602081018490529081018290527fff0000000000000000000000000000000000000000000000000000000000000060f885901b16606082015292955090935091505f90606101604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152908290526057547fca669fa700000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff1660048301529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b1580156200384c575f80fd5b505af11580156200385f573d5f803e3d5ffd5b505060445460575473ffffffffffffffffffffffffffffffffffffffff9182169350630f5730f1925016896200389742600162010330565b8a866040518663ffffffff1660e01b8152600401620038bb95949392919062010752565b5f604051808303815f87803b158015620038d3575f80fd5b505af1158015620038e6573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152601660248201527f506f736974696f6e4d616e616765725f7065726d6974000000000000000000006044820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca1291506064015b6020604051808303815f875af115801562003981573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620039a79190620102be565b505050505050505050565b6055546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152670de0b6b3a764000090737109709ecfa91a80626ff3989d68f67f5b1dd12d906306447d56906024015f604051808303815f87803b15801562003a39575f80fd5b505af115801562003a4c573d5f803e3d5ffd5b505050505f60445f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375794a3c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003abc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062003ae29190620102be565b6040805161010081018252605a5473ffffffffffffffffffffffffffffffffffffffff90811660608301908152605b54808316608085015262ffffff7401000000000000000000000000000000000000000082041660a0850152770100000000000000000000000000000000000000000000009004600290810b60c0850152605c54831660e0850152908352605d5480820b602085015263010000009004900b9282019290925260555492935062003ba09290918591165f62001cba565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b15801562003c08575f80fd5b505af115801562003c1b573d5f803e3d5ffd5b5050605754600192505f915062003c509073ffffffffffffffffffffffffffffffffffffffff168484620036b1428262010330565b6056546040517fe341eaa40000000000000000000000000000000000000000000000000000000081526004810191909152602481018290529091505f9081908190737109709ecfa91a80626ff3989d68f67f5b1dd12d9063e341eaa490604401606060405180830381865afa15801562003ccc573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062003cf2919062010717565b60408051602081018490529081018290527fff0000000000000000000000000000000000000000000000000000000000000060f885901b16606082015292955090935091505f90606101604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152908290526057547fca669fa700000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff1660048301529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b15801562003de5575f80fd5b505af115801562003df8573d5f803e3d5ffd5b505060445460575473ffffffffffffffffffffffffffffffffffffffff9182169350630f5730f19250168962003e3042600162010330565b8a866040518663ffffffff1660e01b815260040162003e5495949392919062010752565b5f604051808303815f87803b15801562003e6c575f80fd5b505af115801562003e7f573d5f803e3d5ffd5b50506055546040517f06447d5600000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152737109709ecfa91a80626ff3989d68f67f5b1dd12d92506306447d5691506024015f604051808303815f87803b15801562003f00575f80fd5b505af115801562003f13573d5f803e3d5ffd5b5050505060445f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166375794a3c6040518163ffffffff1660e01b8152600401602060405180830381865afa15801562003f82573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019062003fa89190620102be565b6040805161010081018252605a5473ffffffffffffffffffffffffffffffffffffffff90811660608301908152605b54808316608085015262ffffff7401000000000000000000000000000000000000000082041660a0850152770100000000000000000000000000000000000000000000009004600290810b60c0850152605c54831660e0850152908352605d5480820b602085015263010000009004900b92820192909252605554929950620040669290918b91165f62001cba565b7f885cb69240a935d632d79c317109709ecfa91a80626ff3989d68f67f5b1dd12d5f1c73ffffffffffffffffffffffffffffffffffffffff166390c5013b6040518163ffffffff1660e01b81526004015f604051808303815f87803b158015620040ce575f80fd5b505af1158015620040e1573d5f803e3d5ffd5b50506057546002985062004117925073ffffffffffffffffffffffffffffffffffffffff1690508888620036b142600162010330565b6056546040517fe341eaa4000000000000000000000000000000000000000000000000000000008152919650737109709ecfa91a80626ff3989d68f67f5b1dd12d9163e341eaa49162004177918990600401918252602082015260400190565b606060405180830381865afa15801562004193573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190620041b9919062010717565b60408051602081018490529081018290527fff0000000000000000000000000000000000000000000000000000000000000060f885901b1660608201529296509094509250606101604080518083037fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0018152908290526057547fca669fa700000000000000000000000000000000000000000000000000000000835273ffffffffffffffffffffffffffffffffffffffff1660048301529150737109709ecfa91a80626ff3989d68f67f5b1dd12d9063ca669fa7906024015f604051808303815f87803b158015620042aa575f80fd5b505af1158015620042bd573d5f803e3d5ffd5b505060445460575473ffffffffffffffffffffffffffffffffffffffff9182169350630f5730f192501689620042f542600162010330565b8a866040518663ffffffff1660e01b81526004016200431995949392919062010752565b5f604051808303815f87803b15801562004331575f80fd5b505af115801562004344573d5f803e3d5ffd5b50506040517fdd9fca1200000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f506f736974696f6e4d616e616765725f7065726d69745f7365636f6e64506f7360448201527f6974696f6e0000000000000000000000000000000000000000000000000000006064820152737109709ecfa91a80626ff3989d68f67f5b1dd12d925063dd9fca12915060840162003964565b606060188054806020026020016040519081016040528092919081815260200182805480156200