[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "_lzEndpoint", "type": "address" }, { "internalType": "address", "name": "_owner", "type": "address" }, { "internalType": "address", "name": "_mintAddress", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "InvalidDelegate", "type": "error" }, { "inputs": [], "name": "InvalidEndpointCall", "type": "error" }, { "inputs": [], "name": "InvalidLocalDecimals", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "options", "type": "bytes" } ], "name": "InvalidOptions", "type": "error" }, { "inputs": [], "name": "LzTokenUnavailable", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" } ], "name": "NoPeer", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "msgValue", "type": "uint256" } ], "name": "NotEnoughNative", "type": "error" }, { "inputs": [ { "internalType": "address", "name": "addr", "type": "address" } ], "name": "OnlyEndpoint", "type": "error" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" } ], "name": "OnlyPeer", "type": "error" }, { "inputs": [], "name": "OnlySelf", "type": "error" }, { "inputs": [ { "internalType": "bytes", "name": "result", "type": "bytes" } ], "name": "SimulationResult", "type": "error" }, { "inputs": [ { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" } ], "name": "SlippageExceeded", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "spender", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "components": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "uint16", "name": "msgType", "type": "uint16" }, { "internalType": "bytes", "name": "options", "type": "bytes" } ], "indexed": false, "internalType": "struct EnforcedOptionParam[]", "name": "_enforcedOptions", "type": "tuple[]" } ], "name": "EnforcedOptionSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "inspector", "type": "address" } ], "name": "MsgInspectorSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "indexed": false, "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "indexed": true, "internalType": "address", "name": "toAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountLD", "type": "uint256" } ], "name": "OFTReceived", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "indexed": false, "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "indexed": true, "internalType": "address", "name": "fromAddress", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "amountLD", "type": "uint256" } ], "name": "OFTSent", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint32", "name": "eid", "type": "uint32" }, { "indexed": false, "internalType": "bytes32", "name": "peer", "type": "bytes32" } ], "name": "PeerSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "preCrimeAddress", "type": "address" } ], "name": "PreCrimeSet", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [], "name": "SEND", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "SEND_AND_CALL", "outputs": [ { "internalType": "uint16", "name": "", "type": "uint16" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "origin", "type": "tuple" } ], "name": "allowInitializePath", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" } ], "name": "allowance", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "approvalRequired", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "approve", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_eid", "type": "uint32" }, { "internalType": "uint16", "name": "_msgType", "type": "uint16" }, { "internalType": "bytes", "name": "_extraOptions", "type": "bytes" } ], "name": "combineOptions", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "composeMsgSender", "outputs": [ { "internalType": "address", "name": "sender", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimalConversionRate", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "decimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "subtractedValue", "type": "uint256" } ], "name": "decreaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "endpoint", "outputs": [ { "internalType": "contract ILayerZeroEndpointV2", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "uint16", "name": "msgType", "type": "uint16" } ], "name": "enforcedOptions", "outputs": [ { "internalType": "bytes", "name": "enforcedOption", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_eid", "type": "uint32" }, { "internalType": "bytes32", "name": "_peer", "type": "bytes32" } ], "name": "isPeer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "_origin", "type": "tuple" }, { "internalType": "bytes32", "name": "_guid", "type": "bytes32" }, { "internalType": "bytes", "name": "_message", "type": "bytes" }, { "internalType": "address", "name": "_executor", "type": "address" }, { "internalType": "bytes", "name": "_extraData", "type": "bytes" } ], "name": "lzReceive", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "origin", "type": "tuple" }, { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "address", "name": "executor", "type": "address" }, { "internalType": "bytes", "name": "message", "type": "bytes" }, { "internalType": "bytes", "name": "extraData", "type": "bytes" } ], "internalType": "struct InboundPacket[]", "name": "_packets", "type": "tuple[]" } ], "name": "lzReceiveAndRevert", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "srcEid", "type": "uint32" }, { "internalType": "bytes32", "name": "sender", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "internalType": "struct Origin", "name": "_origin", "type": "tuple" }, { "internalType": "bytes32", "name": "_guid", "type": "bytes32" }, { "internalType": "bytes", "name": "_message", "type": "bytes" }, { "internalType": "address", "name": "_executor", "type": "address" }, { "internalType": "bytes", "name": "_extraData", "type": "bytes" } ], "name": "lzReceiveSimulate", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "msgInspector", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "name": "nextNonce", "outputs": [ { "internalType": "uint64", "name": "nonce", "type": "uint64" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "oApp", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "oAppVersion", "outputs": [ { "internalType": "uint64", "name": "senderVersion", "type": "uint64" }, { "internalType": "uint64", "name": "receiverVersion", "type": "uint64" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "oftVersion", "outputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" }, { "internalType": "uint64", "name": "version", "type": "uint64" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "eid", "type": "uint32" } ], "name": "peers", "outputs": [ { "internalType": "bytes32", "name": "peer", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "preCrime", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "bytes32", "name": "to", "type": "bytes32" }, { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "bytes", "name": "extraOptions", "type": "bytes" }, { "internalType": "bytes", "name": "composeMsg", "type": "bytes" }, { "internalType": "bytes", "name": "oftCmd", "type": "bytes" } ], "internalType": "struct SendParam", "name": "_sendParam", "type": "tuple" } ], "name": "quoteOFT", "outputs": [ { "components": [ { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "uint256", "name": "maxAmountLD", "type": "uint256" } ], "internalType": "struct OFTLimit", "name": "oftLimit", "type": "tuple" }, { "components": [ { "internalType": "int256", "name": "feeAmountLD", "type": "int256" }, { "internalType": "string", "name": "description", "type": "string" } ], "internalType": "struct OFTFeeDetail[]", "name": "oftFeeDetails", "type": "tuple[]" }, { "components": [ { "internalType": "uint256", "name": "amountSentLD", "type": "uint256" }, { "internalType": "uint256", "name": "amountReceivedLD", "type": "uint256" } ], "internalType": "struct OFTReceipt", "name": "oftReceipt", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "bytes32", "name": "to", "type": "bytes32" }, { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "bytes", "name": "extraOptions", "type": "bytes" }, { "internalType": "bytes", "name": "composeMsg", "type": "bytes" }, { "internalType": "bytes", "name": "oftCmd", "type": "bytes" } ], "internalType": "struct SendParam", "name": "_sendParam", "type": "tuple" }, { "internalType": "bool", "name": "_payInLzToken", "type": "bool" } ], "name": "quoteSend", "outputs": [ { "components": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "lzTokenFee", "type": "uint256" } ], "internalType": "struct MessagingFee", "name": "msgFee", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "dstEid", "type": "uint32" }, { "internalType": "bytes32", "name": "to", "type": "bytes32" }, { "internalType": "uint256", "name": "amountLD", "type": "uint256" }, { "internalType": "uint256", "name": "minAmountLD", "type": "uint256" }, { "internalType": "bytes", "name": "extraOptions", "type": "bytes" }, { "internalType": "bytes", "name": "composeMsg", "type": "bytes" }, { "internalType": "bytes", "name": "oftCmd", "type": "bytes" } ], "internalType": "struct SendParam", "name": "_sendParam", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "lzTokenFee", "type": "uint256" } ], "internalType": "struct MessagingFee", "name": "_fee", "type": "tuple" }, { "internalType": "address", "name": "_refundAddress", "type": "address" } ], "name": "send", "outputs": [ { "components": [ { "internalType": "bytes32", "name": "guid", "type": "bytes32" }, { "internalType": "uint64", "name": "nonce", "type": "uint64" }, { "components": [ { "internalType": "uint256", "name": "nativeFee", "type": "uint256" }, { "internalType": "uint256", "name": "lzTokenFee", "type": "uint256" } ], "internalType": "struct MessagingFee", "name": "fee", "type": "tuple" } ], "internalType": "struct MessagingReceipt", "name": "msgReceipt", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "amountSentLD", "type": "uint256" }, { "internalType": "uint256", "name": "amountReceivedLD", "type": "uint256" } ], "internalType": "struct OFTReceipt", "name": "oftReceipt", "type": "tuple" } ], "stateMutability": "payable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_delegate", "type": "address" } ], "name": "setDelegate", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "components": [ { "internalType": "uint32", "name": "eid", "type": "uint32" }, { "internalType": "uint16", "name": "msgType", "type": "uint16" }, { "internalType": "bytes", "name": "options", "type": "bytes" } ], "internalType": "struct EnforcedOptionParam[]", "name": "_enforcedOptions", "type": "tuple[]" } ], "name": "setEnforcedOptions", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_msgInspector", "type": "address" } ], "name": "setMsgInspector", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_eid", "type": "uint32" }, { "internalType": "bytes32", "name": "_peer", "type": "bytes32" } ], "name": "setPeer", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_preCrime", "type": "address" } ], "name": "setPreCrime", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "sharedDecimals", "outputs": [ { "internalType": "uint8", "name": "", "type": "uint8" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "token", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "transferFrom", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" } ]
60c060405234801562000010575f80fd5b5060405162006966380380620069668339818101604052810190620000369190620006a9565b8484848483836200004c6200027b60201b60201c565b84848181818162000072620000666200028360201b60201c565b6200028a60201b60201c565b8173ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200010c576040517fb586360400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60805173ffffffffffffffffffffffffffffffffffffffff1663ca5eb5e1826040518263ffffffff1660e01b81526004016200014991906200077c565b5f604051808303815f87803b15801562000161575f80fd5b505af115801562000174573d5f803e3d5ffd5b50505050505050506200018c6200034b60201b60201c565b60ff168360ff161015620001cc576040517f1e9714b000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620001dc6200034b60201b60201c565b83620001e99190620007d0565b600a620001f7919062000964565b60a08181525050505050816008908162000212919062000be2565b50806009908162000224919062000be2565b505050505050505f6200023c6200027b60201b60201c565b600a6200024a919062000964565b632cb417806200025b919062000cc6565b90506200026f82826200035360201b60201c565b50505050505062000df4565b5f6012905090565b5f33905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f6006905090565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603620003c4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003bb9062000d6e565b60405180910390fd5b620003d75f8383620004b960201b60201c565b8060075f828254620003ea919062000d8e565b925050819055508060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200049a919062000dd9565b60405180910390a3620004b55f8383620004be60201b60201c565b5050565b505050565b505050565b5f604051905090565b5f80fd5b5f80fd5b5f80fd5b5f80fd5b5f601f19601f8301169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6200052482620004dc565b810181811067ffffffffffffffff82111715620005465762000545620004ec565b5b80604052505050565b5f6200055a620004c3565b905062000568828262000519565b919050565b5f67ffffffffffffffff8211156200058a5762000589620004ec565b5b6200059582620004dc565b9050602081019050919050565b5f5b83811015620005c1578082015181840152602081019050620005a4565b5f8484015250505050565b5f620005e2620005dc846200056d565b6200054f565b905082815260208101848484011115620006015762000600620004d8565b5b6200060e848285620005a2565b509392505050565b5f82601f8301126200062d576200062c620004d4565b5b81516200063f848260208601620005cc565b91505092915050565b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f620006738262000648565b9050919050565b620006858162000667565b811462000690575f80fd5b50565b5f81519050620006a3816200067a565b92915050565b5f805f805f60a08688031215620006c557620006c4620004cc565b5b5f86015167ffffffffffffffff811115620006e557620006e4620004d0565b5b620006f38882890162000616565b955050602086015167ffffffffffffffff811115620007175762000716620004d0565b5b620007258882890162000616565b9450506040620007388882890162000693565b93505060606200074b8882890162000693565b92505060806200075e8882890162000693565b9150509295509295909350565b620007768162000667565b82525050565b5f602082019050620007915f8301846200076b565b92915050565b5f60ff82169050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f620007dc8262000797565b9150620007e98362000797565b9250828203905060ff811115620008055762000804620007a3565b5b92915050565b5f8160011c9050919050565b5f808291508390505b6001851115620008685780860481111562000840576200083f620007a3565b5b6001851615620008505780820291505b808102905062000860856200080b565b945062000820565b94509492505050565b5f8262000882576001905062000954565b8162000891575f905062000954565b8160018114620008aa5760028114620008b557620008eb565b600191505062000954565b60ff841115620008ca57620008c9620007a3565b5b8360020a915084821115620008e457620008e3620007a3565b5b5062000954565b5060208310610133831016604e8410600b8410161715620009255782820a9050838111156200091f576200091e620007a3565b5b62000954565b62000934848484600162000817565b925090508184048111156200094e576200094d620007a3565b5b81810290505b9392505050565b5f819050919050565b5f62000970826200095b565b91506200097d8362000797565b9250620009ac7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462000871565b905092915050565b5f81519050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f600282049050600182168062000a0357607f821691505b60208210810362000a195762000a18620009be565b5b50919050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830262000a7d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000a40565b62000a89868362000a40565b95508019841693508086168417925050509392505050565b5f819050919050565b5f62000aca62000ac462000abe846200095b565b62000aa1565b6200095b565b9050919050565b5f819050919050565b62000ae58362000aaa565b62000afd62000af48262000ad1565b84845462000a4c565b825550505050565b5f90565b62000b1362000b05565b62000b2081848462000ada565b505050565b5b8181101562000b475762000b3b5f8262000b09565b60018101905062000b26565b5050565b601f82111562000b965762000b608162000a1f565b62000b6b8462000a31565b8101602085101562000b7b578190505b62000b9362000b8a8562000a31565b83018262000b25565b50505b505050565b5f82821c905092915050565b5f62000bb85f198460080262000b9b565b1980831691505092915050565b5f62000bd2838362000ba7565b9150826002028217905092915050565b62000bed82620009b4565b67ffffffffffffffff81111562000c095762000c08620004ec565b5b62000c158254620009eb565b62000c2282828562000b4b565b5f60209050601f83116001811462000c58575f841562000c43578287015190505b62000c4f858262000bc5565b86555062000cbe565b601f19841662000c688662000a1f565b5f5b8281101562000c915784890151825560018201915060208501945060208101905062000c6a565b8683101562000cb1578489015162000cad601f89168262000ba7565b8355505b6001600288020188555050505b505050505050565b5f62000cd2826200095b565b915062000cdf836200095b565b925082820262000cef816200095b565b9150828204841483151762000d095762000d08620007a3565b5b5092915050565b5f82825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f62000d56601f8362000d10565b915062000d638262000d20565b602082019050919050565b5f6020820190508181035f83015262000d878162000d48565b9050919050565b5f62000d9a826200095b565b915062000da7836200095b565b925082820190508082111562000dc25762000dc1620007a3565b5b92915050565b62000dd3816200095b565b82525050565b5f60208201905062000dee5f83018462000dc8565b92915050565b60805160a051615b0362000e635f395f81816111670152818161280301528181612824015281816128c801526129cc01525f8181610c3b01528181610fa20152818161187a01528181611e730152818161249b0152818161270501528181612c800152612d780152615b035ff3fe608060405260043610610266575f3560e01c80637d25a05e11610143578063bb0b6a53116100b5578063d045a0dc11610079578063d045a0dc14610963578063d42438851461097f578063dd62ed3e146109a7578063f2fde38b146109e3578063fc0c546a14610a0b578063ff7bd03d14610a3557610266565b8063bb0b6a5314610876578063bc70b354146108b2578063bd815db0146108ee578063c7c7f5b31461090a578063ca5eb5e11461093b57610266565b80639f68b964116101075780639f68b96414610758578063a457c2d714610782578063a9059cbb146107be578063b731ea0a146107fa578063b92d0eff14610824578063b98bd0701461084e57610266565b80637d25a05e14610674578063857749b0146106b05780638da5cb5b146106da57806395d89b4114610704578063963efcaa1461072e57610266565b8063313ce567116101dc5780635535d461116101a05780635535d461146105585780635a0dfe4d146105945780635e280f11146105d05780636fc1b31e146105fa57806370a0823114610622578063715018a61461065e57610266565b8063313ce567146104645780633400288b1461048e57806339509351146104b65780633b6f743b146104f257806352ae28791461052e57610266565b8063134d4f251161022e578063134d4f2514610354578063156a0d0f1461037e57806317442b70146103a957806318160ddd146103d45780631f5e1334146103fe57806323b872dd1461042857610266565b806306fdde031461026a578063095ea7b3146102945780630d35b415146102d0578063111ecdad1461030e57806313137d6514610338575b5f80fd5b348015610275575f80fd5b5061027e610a71565b60405161028b9190613364565b60405180910390f35b34801561029f575f80fd5b506102ba60048036038101906102b59190613422565b610b01565b6040516102c7919061347a565b60405180910390f35b3480156102db575f80fd5b506102f660048036038101906102f191906134b5565b610b23565b604051610305939291906136ba565b60405180910390f35b348015610319575f80fd5b50610322610bfd565b60405161032f9190613705565b60405180910390f35b610352600480360381019061034d91906137d0565b610c22565b005b34801561035f575f80fd5b50610368610d42565b60405161037591906138a3565b60405180910390f35b348015610389575f80fd5b50610392610d47565b6040516103a0929190613918565b60405180910390f35b3480156103b4575f80fd5b506103bd610d74565b6040516103cb92919061393f565b60405180910390f35b3480156103df575f80fd5b506103e8610d81565b6040516103f59190613975565b60405180910390f35b348015610409575f80fd5b50610412610d8a565b60405161041f91906138a3565b60405180910390f35b348015610433575f80fd5b5061044e6004803603810190610449919061398e565b610d8f565b60405161045b919061347a565b60405180910390f35b34801561046f575f80fd5b50610478610dbd565b60405161048591906139f9565b60405180910390f35b348015610499575f80fd5b506104b460048036038101906104af9190613a4b565b610dc5565b005b3480156104c1575f80fd5b506104dc60048036038101906104d79190613422565b610e2c565b6040516104e9919061347a565b60405180910390f35b3480156104fd575f80fd5b5061051860048036038101906105139190613ab3565b610e62565b6040516105259190613b3a565b60405180910390f35b348015610539575f80fd5b50610542610eca565b60405161054f9190613705565b60405180910390f35b348015610563575f80fd5b5061057e60048036038101906105799190613b7d565b610ed1565b60405161058b9190613c0d565b60405180910390f35b34801561059f575f80fd5b506105ba60048036038101906105b59190613a4b565b610f77565b6040516105c7919061347a565b60405180910390f35b3480156105db575f80fd5b506105e4610fa0565b6040516105f19190613c88565b60405180910390f35b348015610605575f80fd5b50610620600480360381019061061b9190613ca1565b610fc4565b005b34801561062d575f80fd5b5061064860048036038101906106439190613ca1565b611046565b6040516106559190613975565b60405180910390f35b348015610669575f80fd5b5061067261108c565b005b34801561067f575f80fd5b5061069a60048036038101906106959190613a4b565b61109f565b6040516106a79190613ccc565b60405180910390f35b3480156106bb575f80fd5b506106c46110a6565b6040516106d191906139f9565b60405180910390f35b3480156106e5575f80fd5b506106ee6110ae565b6040516106fb9190613705565b60405180910390f35b34801561070f575f80fd5b506107186110d5565b6040516107259190613364565b60405180910390f35b348015610739575f80fd5b50610742611165565b60405161074f9190613975565b60405180910390f35b348015610763575f80fd5b5061076c611189565b604051610779919061347a565b60405180910390f35b34801561078d575f80fd5b506107a860048036038101906107a39190613422565b61118d565b6040516107b5919061347a565b60405180910390f35b3480156107c9575f80fd5b506107e460048036038101906107df9190613422565b611202565b6040516107f1919061347a565b60405180910390f35b348015610805575f80fd5b5061080e611224565b60405161081b9190613705565b60405180910390f35b34801561082f575f80fd5b50610838611249565b6040516108459190613705565b60405180910390f35b348015610859575f80fd5b50610874600480360381019061086f9190613d3a565b611250565b005b348015610881575f80fd5b5061089c60048036038101906108979190613d85565b6113cd565b6040516108a99190613dbf565b60405180910390f35b3480156108bd575f80fd5b506108d860048036038101906108d39190613dd8565b6113e2565b6040516108e59190613c0d565b60405180910390f35b61090860048036038101906109039190613e9e565b6115a2565b005b610924600480360381019061091f9190613f07565b61176e565b604051610932929190613ffe565b60405180910390f35b348015610946575f80fd5b50610961600480360381019061095c9190613ca1565b611870565b005b61097d600480360381019061097891906137d0565b611901565b005b34801561098a575f80fd5b506109a560048036038101906109a09190613ca1565b61197e565b005b3480156109b2575f80fd5b506109cd60048036038101906109c89190614025565b611a00565b6040516109da9190613975565b60405180910390f35b3480156109ee575f80fd5b50610a096004803603810190610a049190613ca1565b611a82565b005b348015610a16575f80fd5b50610a1f611b04565b604051610a2c9190613705565b60405180910390f35b348015610a40575f80fd5b50610a5b6004803603810190610a569190614063565b611b0b565b604051610a68919061347a565b60405180910390f35b606060088054610a80906140bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610aac906140bb565b8015610af75780601f10610ace57610100808354040283529160200191610af7565b820191905f5260205f20905b815481529060010190602001808311610ada57829003601f168201915b5050505050905090565b5f80610b0b611b48565b9050610b18818585611b4f565b600191505092915050565b610b2b613247565b6060610b3561325f565b5f8067ffffffffffffffff8016905060405180604001604052808381526020018281525094505f67ffffffffffffffff811115610b7557610b746140eb565b5b604051908082528060200260200182016040528015610bae57816020015b610b9b613277565b815260200190600190039081610b935790505b5093505f80610bd7886040013589606001358a5f016020810190610bd29190613d85565b611d12565b915091506040518060400160405280838152602001828152509450505050509193909250565b60045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b3373ffffffffffffffffffffffffffffffffffffffff167f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1614610cb257336040517f91ac5e4f000000000000000000000000000000000000000000000000000000008152600401610ca99190613705565b60405180910390fd5b8660200135610cd1885f016020810190610ccc9190613d85565b611d71565b14610d2a57865f016020810190610ce89190613d85565b87602001356040517fc26bebcc000000000000000000000000000000000000000000000000000000008152600401610d21929190614127565b60405180910390fd5b610d3987878787878787611de2565b50505050505050565b600281565b5f807f02e49c2c000000000000000000000000000000000000000000000000000000006001915091509091565b5f80600180915091509091565b5f600754905090565b600181565b5f80610d99611b48565b9050610da6858285611f6c565b610db1858585611ff7565b60019150509392505050565b5f6012905090565b610dcd612266565b8060015f8463ffffffff1663ffffffff1681526020019081526020015f20819055507f238399d427b947898edb290f5ff0f9109849b1c3ba196a42e35f00c50a54b98b8282604051610e20929190614127565b60405180910390a15050565b5f80610e36611b48565b9050610e57818585610e488589611a00565b610e52919061417b565b611b4f565b600191505092915050565b610e6a613290565b5f610e8f84604001358560600135865f016020810190610e8a9190613d85565b611d12565b9150505f80610e9e86846122e4565b91509150610ebf865f016020810190610eb79190613d85565b838388612491565b935050505092915050565b5f30905090565b6003602052815f5260405f20602052805f5260405f205f91509150508054610ef8906140bb565b80601f0160208091040260200160405190810160405280929190818152602001828054610f24906140bb565b8015610f6f5780601f10610f4657610100808354040283529160200191610f6f565b820191905f5260205f20905b815481529060010190602001808311610f5257829003601f168201915b505050505081565b5f8160015f8563ffffffff1663ffffffff1681526020019081526020015f205414905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b610fcc612266565b8060045f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507ff0be4f1e87349231d80c36b33f9e8639658eeaf474014dee15a3e6a4d44141978160405161103b9190613705565b60405180910390a150565b5f60055f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20549050919050565b611094612266565b61109d5f612572565b565b5f92915050565b5f6006905090565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600980546110e4906140bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611110906140bb565b801561115b5780601f106111325761010080835404028352916020019161115b565b820191905f5260205f20905b81548152906001019060200180831161113e57829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b5f90565b5f80611197611b48565b90505f6111a48286611a00565b9050838110156111e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111e09061421e565b60405180910390fd5b6111f68286868403611b4f565b60019250505092915050565b5f8061120c611b48565b9050611219818585611ff7565b600191505092915050565b60025f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b5f30905090565b611258612266565b5f5b8282905081101561138f576112a183838381811061127b5761127a61423c565b5b905060200281019061128d9190614275565b806040019061129c919061429c565b612633565b8282828181106112b4576112b361423c565b5b90506020028101906112c69190614275565b80604001906112d5919061429c565b60035f8686868181106112eb576112ea61423c565b5b90506020028101906112fd9190614275565b5f01602081019061130e9190613d85565b63ffffffff1663ffffffff1681526020019081526020015f205f86868681811061133b5761133a61423c565b5b905060200281019061134d9190614275565b602001602081019061135f91906142fe565b61ffff1661ffff1681526020019081526020015f2091826113819291906144c7565b50808060010191505061125a565b507fbe4864a8e820971c0247f5992e2da559595f7bf076a21cb5928d443d2a13b67482826040516113c19291906147ce565b60405180910390a15050565b6001602052805f5260405f205f915090505481565b60605f60035f8763ffffffff1663ffffffff1681526020019081526020015f205f8661ffff1661ffff1681526020019081526020015f208054611424906140bb565b80601f0160208091040260200160405190810160405280929190818152602001828054611450906140bb565b801561149b5780601f106114725761010080835404028352916020019161149b565b820191905f5260205f20905b81548152906001019060200180831161147e57829003601f168201915b505050505090505f8151036114f65783838080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f8201169050808301925050505050505091505061159a565b5f8484905003611509578091505061159a565b6002848490501061155b5761151e8484612633565b8084846002908092611532939291906147f8565b60405160200161154493929190614890565b60405160208183030381529060405291505061159a565b83836040517f9a6d49cd0000000000000000000000000000000000000000000000000000000081526004016115919291906148e1565b60405180910390fd5b949350505050565b5f5b828290508110156116c157368383838181106115c3576115c261423c565b5b90506020028101906115d59190614903565b90506115fa815f015f0160208101906115ee9190613d85565b825f0160200135610f77565b61160457506116b4565b3073ffffffffffffffffffffffffffffffffffffffff1663d045a0dc8260c00135835f018460a001358580610100019061163e919061429c565b8760e00160208101906116519190613ca1565b88806101200190611662919061429c565b6040518963ffffffff1660e01b815260040161168497969594939291906149d9565b5f604051808303818588803b15801561169b575f80fd5b505af11580156116ad573d5f803e3d5ffd5b5050505050505b80806001019150506115a4565b503373ffffffffffffffffffffffffffffffffffffffff16638e9e70996040518163ffffffff1660e01b81526004015f60405180830381865afa15801561170a573d5f803e3d5ffd5b505050506040513d5f823e3d601f19601f820116820180604052508101906117329190614b29565b6040517f8351eea70000000000000000000000000000000000000000000000000000000081526004016117659190613c0d565b60405180910390fd5b6117766132a8565b61177e61325f565b5f806117a487604001358860600135895f01602081019061179f9190613d85565b6126ab565b915091505f806117b489846122e4565b915091506117e6895f0160208101906117cd9190613d85565b83838b8036038101906117e09190614bc1565b8b6126d2565b955060405180604001604052808581526020018481525094503373ffffffffffffffffffffffffffffffffffffffff16865f01517ffff873bb909b73d08a8c1af4b21779e87103bb8ea8cf3b3a0067eb8526b8b80a8b5f01602081019061184d9190613d85565b8760405161185c929190614bec565b60405180910390a350505050935093915050565b611878612266565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ca5eb5e1826040518263ffffffff1660e01b81526004016118d19190613705565b5f604051808303815f87803b1580156118e8575f80fd5b505af11580156118fa573d5f803e3d5ffd5b5050505050565b3073ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611966576040517f14d4a4e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611975878787878787876127e8565b50505050505050565b611986612266565b8060025f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055507fd48d879cef83a1c0bdda516f27b13ddb1b3f8bbac1c9e1511bb2a659c2427760816040516119f59190613705565b60405180910390a150565b5f60065f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905092915050565b611a8a612266565b5f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611aef90614c83565b60405180910390fd5b611b0181612572565b50565b5f30905090565b5f816020013560015f845f016020810190611b269190613d85565b63ffffffff1663ffffffff1681526020019081526020015f2054149050919050565b5f33905090565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611bbd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bb490614d11565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611c2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c2290614d9f565b60405180910390fd5b8060065f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d059190613975565b60405180910390a3505050565b5f80611d1d85612800565b915081905083811015611d695780846040517f71c4efed000000000000000000000000000000000000000000000000000000008152600401611d60929190614dbd565b60405180910390fd5b935093915050565b5f8060015f8463ffffffff1663ffffffff1681526020019081526020015f205490505f801b8103611dd957826040517ff6ff4fb7000000000000000000000000000000000000000000000000000000008152600401611dd09190614de4565b60405180910390fd5b80915050919050565b5f611df5611df0878761285f565b612889565b90505f611e2582611e0e611e098a8a612894565b6128c5565b8b5f016020810190611e209190613d85565b612903565b9050611e318787612918565b15611eff575f611e6f8a6040016020810190611e4d9190614dfd565b8b5f016020810190611e5f9190613d85565b84611e6a8c8c61292b565b61298d565b90507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16637cb59012848b5f856040518563ffffffff1660e01b8152600401611ed09493929190614e61565b5f604051808303815f87803b158015611ee7575f80fd5b505af1158015611ef9573d5f803e3d5ffd5b50505050505b8173ffffffffffffffffffffffffffffffffffffffff16887fefed6d3500546b29533b128a29e3a94d70788727f0507505ac12eaf2e578fd9c8b5f016020810190611f4a9190613d85565b84604051611f59929190614bec565b60405180910390a3505050505050505050565b5f611f778484611a00565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611ff15781811015611fe3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fda90614ef5565b60405180910390fd5b611ff08484848403611b4f565b5b50505050565b5f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205c90614f83565b60405180910390fd5b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036120d3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ca90615011565b60405180910390fd5b6120de8383836129bf565b5f60055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612162576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121599061509f565b60405180910390fd5b81810360055f8673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161224d9190613975565b60405180910390a36122608484846129c4565b50505050565b61226e611b48565b73ffffffffffffffffffffffffffffffffffffffff1661228c6110ae565b73ffffffffffffffffffffffffffffffffffffffff16146122e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016122d990615107565b60405180910390fd5b565b6060805f61235085602001356122f9866129c9565b878060a00190612309919061429c565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f820116905080830192505050505050506129fd565b80925081945050505f81612365576001612368565b60025b9050612395865f01602081019061237f9190613d85565b82888060800190612390919061429c565b6113e2565b92505f73ffffffffffffffffffffffffffffffffffffffff1660045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146124885760045f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663043a78eb85856040518363ffffffff1660e01b8152600401612447929190615125565b602060405180830381865afa158015612462573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612486919061516e565b505b50509250929050565b612499613290565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ddc28c586040518060a001604052808863ffffffff1681526020016124f589611d71565b8152602001878152602001868152602001851515815250306040518363ffffffff1660e01b815260040161252a92919061525a565b6040805180830381865afa158015612544573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061256891906152e9565b9050949350505050565b5f805f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050815f806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b5f82825f90600292612647939291906147f8565b90612652919061533f565b60f01c9050600361ffff168161ffff16146126a65782826040517f9a6d49cd00000000000000000000000000000000000000000000000000000000815260040161269d9291906148e1565b60405180910390fd5b505050565b5f806126b8858585611d12565b80925081935050506126ca3383612a6b565b935093915050565b6126da6132a8565b5f6126e7845f0151612c30565b90505f84602001511115612703576127028460200151612c7d565b5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16632637a450826040518060a001604052808b63ffffffff1681526020016127608c611d71565b81526020018a81526020018981526020015f8960200151111515815250866040518463ffffffff1660e01b815260040161279b92919061525a565b60806040518083038185885af11580156127b7573d5f803e3d5ffd5b50505050506040513d601f19601f820116820180604052508101906127dc9190615426565b91505095945050505050565b6127f787878787878787611de2565b50505050505050565b5f7f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000008361284e919061547e565b61285891906154ae565b9050919050565b5f82825f90602060ff1692612876939291906147f8565b9061288191906154ef565b905092915050565b5f815f1c9050919050565b5f8282602060ff1690602860ff16926128af939291906147f8565b906128ba9190615578565b60c01c905092915050565b5f7f00000000000000000000000000000000000000000000000000000000000000008267ffffffffffffffff166128fc91906154ae565b9050919050565b5f61290e8484612dc3565b8290509392505050565b5f602860ff168383905011905092915050565b60608282602860ff16908092612943939291906147f8565b8080601f0160208091040260200160405190810160405280939291908181526020018383808284375f81840152601f19601f82011690508083019250505050505050905092915050565b6060848484846040516020016129a6949392919061565e565b6040516020818303038152906040529050949350505050565b505050565b505050565b5f7f0000000000000000000000000000000000000000000000000000000000000000826129f6919061547e565b9050919050565b60605f80835111905080612a32578484604051602001612a1e9291906156c7565b604051602081830303815290604052612a61565b8484612a3d33612f12565b85604051602001612a5194939291906156f2565b6040516020818303038152906040525b9150935093915050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612ad9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ad0906157ab565b60405180910390fd5b612ae4825f836129bf565b5f60055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f2054905081811015612b68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b5f90615839565b60405180910390fd5b81810360055f8573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f20819055508160075f82825403925050819055505f73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051612c189190613975565b60405180910390a3612c2b835f846129c4565b505050565b5f813414612c7557346040517f9f704120000000000000000000000000000000000000000000000000000000008152600401612c6c9190613975565b60405180910390fd5b819050919050565b5f7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663e4fe1d946040518163ffffffff1660e01b8152600401602060405180830381865afa158015612ce7573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190612d0b919061586b565b90505f73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603612d72576040517f5373352a00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b612dbf337f0000000000000000000000000000000000000000000000000000000000000000848473ffffffffffffffffffffffffffffffffffffffff16612f33909392919063ffffffff16565b5050565b5f73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612e31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612e28906158e0565b60405180910390fd5b612e3c5f83836129bf565b8060075f828254612e4d919061417b565b925050819055508060055f8473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020015f205f82825401925050819055508173ffffffffffffffffffffffffffffffffffffffff165f73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051612efb9190613975565b60405180910390a3612f0e5f83836129c4565b5050565b5f8173ffffffffffffffffffffffffffffffffffffffff165f1b9050919050565b612fb6846323b872dd60e01b858585604051602401612f54939291906158fe565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612fbc565b50505050565b5f61301d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166130829092919063ffffffff16565b90505f8151148061303e57508080602001905181019061303d919061516e565b5b61307d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613074906159a3565b60405180910390fd5b505050565b606061309084845f85613099565b90509392505050565b6060824710156130de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130d590615a31565b60405180910390fd5b5f808673ffffffffffffffffffffffffffffffffffffffff1685876040516131069190615a4f565b5f6040518083038185875af1925050503d805f8114613140576040519150601f19603f3d011682016040523d82523d5f602084013e613145565b606091505b509150915061315687838387613162565b92505050949350505050565b606083156131c3575f8351036131bb5761317b856131d6565b6131ba576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131b190615aaf565b60405180910390fd5b5b8290506131ce565b6131cd83836131f8565b5b949350505050565b5f808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b5f8251111561320a5781518083602001fd5b806040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161323e9190613364565b60405180910390fd5b60405180604001604052805f81526020015f81525090565b60405180604001604052805f81526020015f81525090565b60405180604001604052805f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b60405180606001604052805f80191681526020015f67ffffffffffffffff1681526020016132d4613290565b81525090565b5f81519050919050565b5f82825260208201905092915050565b5f5b838110156133115780820151818401526020810190506132f6565b5f8484015250505050565b5f601f19601f8301169050919050565b5f613336826132da565b61334081856132e4565b93506133508185602086016132f4565b6133598161331c565b840191505092915050565b5f6020820190508181035f83015261337c818461332c565b905092915050565b5f604051905090565b5f80fd5b5f80fd5b5f73ffffffffffffffffffffffffffffffffffffffff82169050919050565b5f6133be82613395565b9050919050565b6133ce816133b4565b81146133d8575f80fd5b50565b5f813590506133e9816133c5565b92915050565b5f819050919050565b613401816133ef565b811461340b575f80fd5b50565b5f8135905061341c816133f8565b92915050565b5f80604083850312156134385761343761338d565b5b5f613445858286016133db565b92505060206134568582860161340e565b9150509250929050565b5f8115159050919050565b61347481613460565b82525050565b5f60208201905061348d5f83018461346b565b92915050565b5f80fd5b5f60e082840312156134ac576134ab613493565b5b81905092915050565b5f602082840312156134ca576134c961338d565b5b5f82013567ffffffffffffffff8111156134e7576134e6613391565b5b6134f384828501613497565b91505092915050565b613505816133ef565b82525050565b604082015f82015161351f5f8501826134fc565b50602082015161353260208501826134fc565b50505050565b5f81519050919050565b5f82825260208201905092915050565b5f819050602082019050919050565b5f819050919050565b61357381613561565b82525050565b5f82825260208201905092915050565b5f613593826132da565b61359d8185613579565b93506135ad8185602086016132f4565b6135b68161331c565b840191505092915050565b5f604083015f8301516135d65f86018261356a565b50602083015184820360208601526135ee8282613589565b9150508091505092915050565b5f61360683836135c1565b905092915050565b5f602082019050919050565b5f61362482613538565b61362e8185613542565b93508360208202850161364085613552565b805f5b8581101561367b578484038952815161365c85826135fb565b94506136678361360e565b925060208a01995050600181019050613643565b50829750879550505050505092915050565b604082015f8201516136a15f8501826134fc565b5060208201516136b460208501826134fc565b50505050565b5f60a0820190506136cd5f83018661350b565b81810360408301526136df818561361a565b90506136ee606083018461368d565b949350505050565b6136ff816133b4565b82525050565b5f6020820190506137185f8301846136f6565b92915050565b5f6060828403121561373357613732613493565b5b81905092915050565b5f819050919050565b61374e8161373c565b8114613758575f80fd5b50565b5f8135905061376981613745565b92915050565b5f80fd5b5f80fd5b5f80fd5b5f8083601f8401126137905761378f61376f565b5b8235905067ffffffffffffffff8111156137ad576137ac613773565b5b6020830191508360018202830111156137c9576137c8613777565b5b9250929050565b5f805f805f805f60e0888a0312156137eb576137ea61338d565b5b5f6137f88a828b0161371e565b97505060606138098a828b0161375b565b965050608088013567ffffffffffffffff81111561382a57613829613391565b5b6138368a828b0161377b565b955095505060a06138498a828b016133db565b93505060c088013567ffffffffffffffff81111561386a57613869613391565b5b6138768a828b0161377b565b925092505092959891949750929550565b5f61ffff82169050919050565b61389d81613887565b82525050565b5f6020820190506138b65f830184613894565b92915050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6138f0816138bc565b82525050565b5f67ffffffffffffffff82169050919050565b613912816138f6565b82525050565b5f60408201905061392b5f8301856138e7565b6139386020830184613909565b9392505050565b5f6040820190506139525f830185613909565b61395f6020830184613909565b9392505050565b61396f816133ef565b82525050565b5f6020820190506139885f830184613966565b92915050565b5f805f606084860312156139a5576139a461338d565b5b5f6139b2868287016133db565b93505060206139c3868287016133db565b92505060406139d48682870161340e565b9150509250925092565b5f60ff82169050919050565b6139f3816139de565b82525050565b5f602082019050613a0c5f8301846139ea565b92915050565b5f63ffffffff82169050919050565b613a2a81613a12565b8114613a34575f80fd5b50565b5f81359050613a4581613a21565b92915050565b5f8060408385031215613a6157613a6061338d565b5b5f613a6e85828601613a37565b9250506020613a7f8582860161375b565b9150509250929050565b613a9281613460565b8114613a9c575f80fd5b50565b5f81359050613aad81613a89565b92915050565b5f8060408385031215613ac957613ac861338d565b5b5f83013567ffffffffffffffff811115613ae657613ae5613391565b5b613af285828601613497565b9250506020613b0385828601613a9f565b9150509250929050565b604082015f820151613b215f8501826134fc565b506020820151613b3460208501826134fc565b50505050565b5f604082019050613b4d5f830184613b0d565b92915050565b613b5c81613887565b8114613b66575f80fd5b50565b5f81359050613b7781613b53565b92915050565b5f8060408385031215613b9357613b9261338d565b5b5f613ba085828601613a37565b9250506020613bb185828601613b69565b9150509250929050565b5f81519050919050565b5f82825260208201905092915050565b5f613bdf82613bbb565b613be98185613bc5565b9350613bf98185602086016132f4565b613c028161331c565b840191505092915050565b5f6020820190508181035f830152613c258184613bd5565b905092915050565b5f819050919050565b5f613c50613c4b613c4684613395565b613c2d565b613395565b9050919050565b5f613c6182613c36565b9050919050565b5f613c7282613c57565b9050919050565b613c8281613c68565b82525050565b5f602082019050613c9b5f830184613c79565b92915050565b5f60208284031215613cb657613cb561338d565b5b5f613cc3848285016133db565b91505092915050565b5f602082019050613cdf5f830184613909565b92915050565b5f8083601f840112613cfa57613cf961376f565b5b8235905067ffffffffffffffff811115613d1757613d16613773565b5b602083019150836020820283011115613d3357613d32613777565b5b9250929050565b5f8060208385031215613d5057613d4f61338d565b5b5f83013567ffffffffffffffff811115613d6d57613d6c613391565b5b613d7985828601613ce5565b92509250509250929050565b5f60208284031215613d9a57613d9961338d565b5b5f613da784828501613a37565b91505092915050565b613db98161373c565b82525050565b5f602082019050613dd25f830184613db0565b92915050565b5f805f8060608587031215613df057613def61338d565b5b5f613dfd87828801613a37565b9450506020613e0e87828801613b69565b935050604085013567ffffffffffffffff811115613e2f57613e2e613391565b5b613e3b8782880161377b565b925092505092959194509250565b5f8083601f840112613e5e57613e5d61376f565b5b8235905067ffffffffffffffff811115613e7b57613e7a613773565b5b602083019150836020820283011115613e9757613e96613777565b5b9250929050565b5f8060208385031215613eb457613eb361338d565b5b5f83013567ffffffffffffffff811115613ed157613ed0613391565b5b613edd85828601613e49565b92509250509250929050565b5f60408284031215613efe57613efd613493565b5b81905092915050565b5f805f60808486031215613f1e57613f1d61338d565b5b5f84013567ffffffffffffffff811115613f3b57613f3a613391565b5b613f4786828701613497565b9350506020613f5886828701613ee9565b9250506060613f69868287016133db565b9150509250925092565b613f7c8161373c565b82525050565b613f8b816138f6565b82525050565b604082015f820151613fa55f8501826134fc565b506020820151613fb860208501826134fc565b50505050565b608082015f820151613fd25f850182613f73565b506020820151613fe56020850182613f82565b506040820151613ff86040850182613f91565b50505050565b5f60c0820190506140115f830185613fbe565b61401e608083018461368d565b9392505050565b5f806040838503121561403b5761403a61338d565b5b5f614048858286016133db565b9250506020614059858286016133db565b9150509250929050565b5f606082840312156140785761407761338d565b5b5f6140858482850161371e565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b5f60028204905060018216806140d257607f821691505b6020821081036140e5576140e461408e565b5b50919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b61412181613a12565b82525050565b5f60408201905061413a5f830185614118565b6141476020830184613db0565b9392505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b5f614185826133ef565b9150614190836133ef565b92508282019050808211156141a8576141a761414e565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f775f8201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b5f6142086025836132e4565b9150614213826141ae565b604082019050919050565b5f6020820190508181035f830152614235816141fc565b9050919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b5f80fd5b5f80fd5b5f80fd5b5f823560016060038336030381126142905761428f614269565b5b80830191505092915050565b5f80833560016020038436030381126142b8576142b7614269565b5b80840192508235915067ffffffffffffffff8211156142da576142d961426d565b5b6020830192506001820236038313156142f6576142f5614271565b5b509250929050565b5f602082840312156143135761431261338d565b5b5f61432084828501613b69565b91505092915050565b5f82905092915050565b5f819050815f5260205f209050919050565b5f6020601f8301049050919050565b5f82821b905092915050565b5f6008830261438f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614354565b6143998683614354565b95508019841693508086168417925050509392505050565b5f6143cb6143c66143c1846133ef565b613c2d565b6133ef565b9050919050565b5f819050919050565b6143e4836143b1565b6143f86143f0826143d2565b848454614360565b825550505050565b5f90565b61440c614400565b6144178184846143db565b505050565b5b8181101561443a5761442f5f82614404565b60018101905061441d565b5050565b601f82111561447f5761445081614333565b61445984614345565b81016020851015614468578190505b61447c61447485614345565b83018261441c565b50505b505050565b5f82821c905092915050565b5f61449f5f1984600802614484565b1980831691505092915050565b5f6144b78383614490565b9150826002028217905092915050565b6144d18383614329565b67ffffffffffffffff8111156144ea576144e96140eb565b5b6144f482546140bb565b6144ff82828561443e565b5f601f83116001811461452c575f841561451a578287013590505b61452485826144ac565b86555061458b565b601f19841661453a86614333565b5f5b828110156145615784890135825560018201915060208501945060208101905061453c565b8683101561457e578489013561457a601f891682614490565b8355505b6001600288020188555050505b50505050505050565b5f82825260208201905092915050565b5f819050919050565b5f6145bb6020840184613a37565b905092915050565b6145cc81613a12565b82525050565b5f6145e06020840184613b69565b905092915050565b6145f181613887565b82525050565b5f80fd5b5f80fd5b5f80fd5b5f808335600160200384360303811261461f5761461e6145ff565b5b83810192508235915060208301925067ffffffffffffffff821115614647576146466145f7565b5b60018202360383131561465d5761465c6145fb565b5b509250929050565b5f82825260208201905092915050565b828183375f83830152505050565b5f61468e8385614665565b935061469b838584614675565b6146a48361331c565b840190509392505050565b5f606083016146c05f8401846145ad565b6146cc5f8601826145c3565b506146da60208401846145d2565b6146e760208601826145e8565b506146f56040840184614603565b8583036040870152614708838284614683565b925050508091505092915050565b5f61472183836146af565b905092915050565b5f82356001606003833603038112614744576147436145ff565b5b82810191505092915050565b5f602082019050919050565b5f6147678385614594565b935083602084028501614779846145a4565b805f5b878110156147bc5784840389526147938284614729565b61479d8582614716565b94506147a883614750565b925060208a0199505060018101905061477c565b50829750879450505050509392505050565b5f6020820190508181035f8301526147e781848661475c565b90509392505050565b5f80fd5b5f80fd5b5f808585111561480b5761480a6147f0565b5b8386111561481c5761481b6147f4565b5b6001850283019150848603905094509492505050565b5f81905092915050565b5f61484682613bbb565b6148508185614832565b93506148608185602086016132f4565b80840191505092915050565b5f6148778385614832565b9350614884838584614675565b82840190509392505050565b5f61489b828661483c565b91506148a882848661486c565b9150819050949350505050565b5f6148c08385613bc5565b93506148cd838584614675565b6148d68361331c565b840190509392505050565b5f6020820190508181035f8301526148fa8184866148b5565b90509392505050565b5f823560016101400383360303811261491f5761491e614269565b5b80830191505092915050565b5f614939602084018461375b565b905092915050565b61494a816138f6565b8114614954575f80fd5b50565b5f8135905061496581614941565b92915050565b5f6149796020840184614957565b905092915050565b606082016149915f8301836145ad565b61499d5f8501826145c3565b506149ab602083018361492b565b6149b86020850182613f73565b506149c6604083018361496b565b6149d36040850182613f82565b50505050565b5f60e0820190506149ec5f83018a614981565b6149f96060830189613db0565b8181036080830152614a0c8187896148b5565b9050614a1b60a08301866136f6565b81810360c0830152614a2e8184866148b5565b905098975050505050505050565b5f80fd5b614a498261331c565b810181811067ffffffffffffffff82111715614a6857614a676140eb565b5b80604052505050565b5f614a7a613384565b9050614a868282614a40565b919050565b5f67ffffffffffffffff821115614aa557614aa46140eb565b5b614aae8261331c565b9050602081019050919050565b5f614acd614ac884614a8b565b614a71565b905082815260208101848484011115614ae957614ae8614a3c565b5b614af48482856132f4565b509392505050565b5f82601f830112614b1057614b0f61376f565b5b8151614b20848260208601614abb565b91505092915050565b5f60208284031215614b3e57614b3d61338d565b5b5f82015167ffffffffffffffff811115614b5b57614b5a613391565b5b614b6784828501614afc565b91505092915050565b5f80fd5b5f60408284031215614b8957614b88614b70565b5b614b936040614a71565b90505f614ba28482850161340e565b5f830152506020614bb58482850161340e565b60208301525092915050565b5f60408284031215614bd657614bd561338d565b5b5f614be384828501614b74565b91505092915050565b5f604082019050614bff5f830185614118565b614c0c6020830184613966565b9392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f20615f8201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b5f614c6d6026836132e4565b9150614c7882614c13565b604082019050919050565b5f6020820190508181035f830152614c9a81614c61565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f206164645f8201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b5f614cfb6024836132e4565b9150614d0682614ca1565b604082019050919050565b5f6020820190508181035f830152614d2881614cef565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f2061646472655f8201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b5f614d896022836132e4565b9150614d9482614d2f565b604082019050919050565b5f6020820190508181035f830152614db681614d7d565b9050919050565b5f604082019050614dd05f830185613966565b614ddd6020830184613966565b9392505050565b5f602082019050614df75f830184614118565b92915050565b5f60208284031215614e1257614e1161338d565b5b5f614e1f84828501614957565b91505092915050565b5f819050919050565b5f614e4b614e46614e4184614e28565b613c2d565b613887565b9050919050565b614e5b81614e31565b82525050565b5f608082019050614e745f8301876136f6565b614e816020830186613db0565b614e8e6040830185614e52565b8181036060830152614ea08184613bd5565b905095945050505050565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000005f82015250565b5f614edf601d836132e4565b9150614eea82614eab565b602082019050919050565b5f6020820190508181035f830152614f0c81614ed3565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f2061645f8201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b5f614f6d6025836132e4565b9150614f7882614f13565b604082019050919050565b5f6020820190508181035f830152614f9a81614f61565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f20616464725f8201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b5f614ffb6023836132e4565b915061500682614fa1565b604082019050919050565b5f6020820190508181035f83015261502881614fef565b9050919050565b7f45524332303a207472616e7366657220616d6f756e74206578636565647320625f8201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b5f6150896026836132e4565b91506150948261502f565b604082019050919050565b5f6020820190508181035f8301526150b68161507d565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65725f82015250565b5f6150f16020836132e4565b91506150fc826150bd565b602082019050919050565b5f6020820190508181035f83015261511e816150e5565b9050919050565b5f6040820190508181035f83015261513d8185613bd5565b905081810360208301526151518184613bd5565b90509392505050565b5f8151905061516881613a89565b92915050565b5f602082840312156151835761518261338d565b5b5f6151908482850161515a565b91505092915050565b5f6151a382613bbb565b6151ad8185614665565b93506151bd8185602086016132f4565b6151c68161331c565b840191505092915050565b6151da81613460565b82525050565b5f60a083015f8301516151f55f8601826145c3565b5060208301516152086020860182613f73565b50604083015184820360408601526152208282615199565b9150506060830151848203606086015261523a8282615199565b915050608083015161524f60808601826151d1565b508091505092915050565b5f6040820190508181035f83015261527281856151e0565b905061528160208301846136f6565b9392505050565b5f81519050615296816133f8565b92915050565b5f604082840312156152b1576152b0614b70565b5b6152bb6040614a71565b90505f6152ca84828501615288565b5f8301525060206152dd84828501615288565b60208301525092915050565b5f604082840312156152fe576152fd61338d565b5b5f61530b8482850161529c565b91505092915050565b5f7fffff00000000000000000000000000000000000000000000000000000000000082169050919050565b5f61534a8383614329565b826153558135615314565b92506002821015615395576153907fffff00000000000000000000000000000000000000000000000000000000000083600203600802614354565b831692505b505092915050565b5f815190506153ab81613745565b92915050565b5f815190506153bf81614941565b92915050565b5f608082840312156153da576153d9614b70565b5b6153e46060614a71565b90505f6153f38482850161539d565b5f830152506020615406848285016153b1565b602083015250604061541a8482850161529c565b60408301525092915050565b5f6080828403121561543b5761543a61338d565b5b5f615448848285016153c5565b91505092915050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b5f615488826133ef565b9150615493836133ef565b9250826154a3576154a2615451565b5b828204905092915050565b5f6154b8826133ef565b91506154c3836133ef565b92508282026154d1816133ef565b915082820484148315176154e8576154e761414e565b5b5092915050565b5f6154fa8383614329565b82615505813561373c565b92506020821015615545576155407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff83602003600802614354565b831692505b505092915050565b5f7fffffffffffffffff00000000000000000000000000000000000000000000000082169050919050565b5f6155838383614329565b8261558e813561554d565b925060088210156155ce576155c97fffffffffffffffff00000000000000000000000000000000000000000000000083600803600802614354565b831692505b505092915050565b5f8160c01b9050919050565b5f6155ec826155d6565b9050919050565b6156046155ff826138f6565b6155e2565b82525050565b5f8160e01b9050919050565b5f6156208261560a565b9050919050565b61563861563382613a12565b615616565b82525050565b5f819050919050565b615658615653826133ef565b61563e565b82525050565b5f61566982876155f3565b6008820191506156798286615627565b6004820191506156898285615647565b602082019150615699828461483c565b915081905095945050505050565b5f819050919050565b6156c16156bc8261373c565b6156a7565b82525050565b5f6156d282856156b0565b6020820191506156e282846155f3565b6008820191508190509392505050565b5f6156fd82876156b0565b60208201915061570d82866155f3565b60088201915061571d82856156b0565b60208201915061572d828461483c565b915081905095945050505050565b7f45524332303a206275726e2066726f6d20746865207a65726f206164647265735f8201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b5f6157956021836132e4565b91506157a08261573b565b604082019050919050565b5f6020820190508181035f8301526157c281615789565b9050919050565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e5f8201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b5f6158236022836132e4565b915061582e826157c9565b604082019050919050565b5f6020820190508181035f83015261585081615817565b9050919050565b5f81519050615865816133c5565b92915050565b5f602082840312156158805761587f61338d565b5b5f61588d84828501615857565b91505092915050565b7f45524332303a206d696e7420746f20746865207a65726f2061646472657373005f82015250565b5f6158ca601f836132e4565b91506158d582615896565b602082019050919050565b5f6020820190508181035f8301526158f7816158be565b9050919050565b5f6060820190506159115f8301866136f6565b61591e60208301856136f6565b61592b6040830184613966565b949350505050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e5f8201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b5f61598d602a836132e4565b915061599882615933565b604082019050919050565b5f6020820190508181035f8301526159ba81615981565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f5f8201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b5f615a1b6026836132e4565b9150615a26826159c1565b604082019050919050565b5f6020820190508181035f830152615a4881615a0f565b9050919050565b5f615a5a828461483c565b915081905092915050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000005f82015250565b5f615a99601d836132e4565b9150615aa482615a65565b602082019050919050565b5f6020820190508181035f830152615ac681615a8d565b905091905056fea2646970667358221220eb03dfd226eb6398ee510bb48a37326839a43f5ed18b7f45451ed67dd5e6e05164736f6c6343000816003300000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000008623f9d75dbb0b7915b509a2e96ca5a2045598e70000000000000000000000008623f9d75dbb0b7915b509a2e96ca5a2045598e7000000000000000000000000000000000000000000000000000000000000000b514f52504f20546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005514f52504f000000000000000000000000000000000000000000000000000000
0x00000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000001a44076050125825900e736c501f859c50fe728c0000000000000000000000008623f9d75dbb0b7915b509a2e96ca5a2045598e70000000000000000000000008623f9d75dbb0b7915b509a2e96ca5a2045598e7000000000000000000000000000000000000000000000000000000000000000b514f52504f20546f6b656e0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000005514f52504f000000000000000000000000000000000000000000000000000000
----Decoded View------------Arg [0] : _name (string): QORPO TokenArg [1] : _symbol (string): QORPOArg [2] : _lzEndpoint (address): 0x1a44076050125825900e736c501f859c50fE728cArg [3] : _owner (address): 0x8623f9d75dBB0b7915b509A2e96ca5A2045598e7Arg [4] : _mintAddress (address): 0x8623f9d75dBB0b7915b509A2e96ca5A2045598e7
----Encoded View------------Arg [0] : 0x0000000000000000000000000000000000000000000000000000000000000020000000000000000000000000000000000000000000000000000000000000000b514f52504f20546f6b656e000000000000000000000000000000000000000000Arg [1] : 0x00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000005514f52504f000000000000000000000000000000000000000000000000000000Arg [2] : 0x0000000000000000000000001a44076050125825900e736c501f859c50fe728cArg [3] : 0x0000000000000000000000008623f9d75dbb0b7915b509a2e96ca5a2045598e7Arg [4] : 0x0000000000000000000000008623f9d75dbb0b7915b509a2e96ca5a2045598e7