Contract Address Details

0xe0160145ec09f98fb3Dbc03b2b5da08D16871e3f

Token
Ghost OG (GOG)
Creator
0x4995a7–c3dd22 at 0x39dc0c–9fe368
Balance
0 CRO ( )
Tokens
Fetching tokens...
Transactions
1,451 Transactions
Transfers
0 Transfers
Gas Used
655,749,596
Last Balance Update
13873048

Contract Creation Code

Verify & Publish
0x60806040526040518060400160405280601081526020017f697066733a2f2f69706673486173682f00000000000000000000000000000000815250600e90816200004a919062000a1f565b506040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600f908162000091919062000a1f565b507394910dc8cfebdbd884a40ad1bd67d6fdc49fa2a3601060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734995a7787816e2898c171d1064615ee7e4c3dd22601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550732b98dbf6e4af55fad3f509152a867849b358677f601260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550734d1d39e722a26d485de95c9bada1e004690e7931601360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060e001604052806802a802f8630a24000068ffffffffffffffffff1681526020016802ed6689e54f18000068ffffffffffffffffff168152602001680332ca1b67940c000068ffffffffffffffffff1681526020016803782dace9d900000068ffffffffffffffffff1681526020016803bd913e6c1df4000068ffffffffffffffffff168152602001680402f4cfee62e8000068ffffffffffffffffff168152602001680448586170a7dc000068ffffffffffffffffff168152506014906007620002b792919062000734565b506000601e60006101000a81548160ff021916908360ff160217905550348015620002e157600080fd5b506040518060400160405280600881526020017f47686f7374204f470000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f474f47000000000000000000000000000000000000000000000000000000000081525081600090816200035f919062000a1f565b50806001908162000371919062000a1f565b5050506200039462000388620003d860201b60201c565b620003e060201b60201c565b6001600b81905550620003d2601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166103e8620004a660201b60201c565b62000c93565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620004b6620004cc60201b60201c565b620004c882826200055d60201b60201c565b5050565b620004dc620003d860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620005026200070060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200055b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005529062000b67565b60405180910390fd5b565b6200056d6200072a60201b60201c565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115620005ce576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005c59062000bff565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000640576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006379062000c71565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600c60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000612710905090565b826007810192821562000773579160200282015b8281111562000772578251829068ffffffffffffffffff1690559160200191906001019062000748565b5b50905062000782919062000786565b5090565b5b80821115620007a157600081600090555060010162000787565b5090565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200082757607f821691505b6020821081036200083d576200083c620007df565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620008a77fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000868565b620008b3868362000868565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000900620008fa620008f484620008cb565b620008d5565b620008cb565b9050919050565b6000819050919050565b6200091c83620008df565b620009346200092b8262000907565b84845462000875565b825550505050565b600090565b6200094b6200093c565b6200095881848462000911565b505050565b5b8181101562000980576200097460008262000941565b6001810190506200095e565b5050565b601f821115620009cf57620009998162000843565b620009a48462000858565b81016020851015620009b4578190505b620009cc620009c38562000858565b8301826200095d565b50505b505050565b600082821c905092915050565b6000620009f460001984600802620009d4565b1980831691505092915050565b600062000a0f8383620009e1565b9150826002028217905092915050565b62000a2a82620007a5565b67ffffffffffffffff81111562000a465762000a45620007b0565b5b62000a5282546200080e565b62000a5f82828562000984565b600060209050601f83116001811462000a97576000841562000a82578287015190505b62000a8e858262000a01565b86555062000afe565b601f19841662000aa78662000843565b60005b8281101562000ad15784890151825560018201915060208501945060208101905062000aaa565b8683101562000af1578489015162000aed601f891682620009e1565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000b4f60208362000b06565b915062000b5c8262000b17565b602082019050919050565b6000602082019050818103600083015262000b828162000b40565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b600062000be7602a8362000b06565b915062000bf48262000b89565b604082019050919050565b6000602082019050818103600083015262000c1a8162000bd8565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b600062000c5960198362000b06565b915062000c668262000c21565b602082019050919050565b6000602082019050818103600083015262000c8c8162000c4a565b9050919050565b6151308062000ca36000396000f3fe60806040526004361061023b5760003560e01c806355f804b31161012e578063a0712d68116100ab578063caa77ac71161006f578063caa77ac714610853578063d936547e14610890578063e7572230146108cd578063e985e9c51461090a578063f2fde38b146109475761023b565b8063a0712d681461077d578063a22cb46514610799578063a2309ff8146107c2578063b88d4fde146107ed578063c87b56dd146108165761023b565b80637d4cb964116100f25780637d4cb964146106aa5780637e2285aa146106d55780637f649783146106fe5780638da5cb5b1461072757806395d89b41146107525761023b565b806355f804b3146105c5578063603f4d52146105ee5780636352211e1461061957806370a0823114610656578063715018a6146106935761023b565b80631de46a78116101bc5780632f745c59116101805780632f745c59146104e05780633ccfd60b1461051d57806342842e0e14610534578063472890751461055d5780634f6ccce7146105885761023b565b80631de46a78146103e65780631e7269c51461041157806323b872dd1461044e5780632a55205a146104775780632b0c685a146104b55761023b565b8063081812fc11610203578063081812fc14610313578063095ea7b3146103505780630c1c972a14610379578063115976c41461039057806318160ddd146103bb5761023b565b806301ffc9a71461024057806304634d8d1461027d57806304c98b2b146102a657806306a8f8a2146102bd57806306fdde03146102e8575b600080fd5b34801561024c57600080fd5b50610267600480360381019061026291906134ab565b610970565b60405161027491906134f3565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f91906135b0565b610982565b005b3480156102b257600080fd5b506102bb610998565b005b3480156102c957600080fd5b506102d26109be565b6040516102df91906135ff565b60405180910390f35b3480156102f457600080fd5b506102fd6109e4565b60405161030a91906136aa565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190613702565b610a76565b60405161034791906135ff565b60405180910390f35b34801561035c57600080fd5b506103776004803603810190610372919061372f565b610abc565b005b34801561038557600080fd5b5061038e610bd3565b005b34801561039c57600080fd5b506103a5610bf9565b6040516103b291906135ff565b60405180910390f35b3480156103c757600080fd5b506103d0610c1f565b6040516103dd919061377e565b60405180910390f35b3480156103f257600080fd5b506103fb610c2c565b60405161040891906135ff565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190613799565b610c52565b60405161044591906134f3565b60405180910390f35b34801561045a57600080fd5b50610475600480360381019061047091906137c6565b610c72565b005b34801561048357600080fd5b5061049e60048036038101906104999190613819565b610cd2565b6040516104ac929190613859565b60405180910390f35b3480156104c157600080fd5b506104ca610ebc565b6040516104d791906135ff565b60405180910390f35b3480156104ec57600080fd5b506105076004803603810190610502919061372f565b610ee2565b604051610514919061377e565b60405180910390f35b34801561052957600080fd5b50610532610f87565b005b34801561054057600080fd5b5061055b600480360381019061055691906137c6565b6111a2565b005b34801561056957600080fd5b506105726111c2565b60405161057f919061377e565b60405180910390f35b34801561059457600080fd5b506105af60048036038101906105aa9190613702565b6111c7565b6040516105bc919061377e565b60405180910390f35b3480156105d157600080fd5b506105ec60048036038101906105e791906139b7565b611238565b005b3480156105fa57600080fd5b50610603611253565b6040516106109190613a1c565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b9190613702565b611266565b60405161064d91906135ff565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190613799565b6112ec565b60405161068a919061377e565b60405180910390f35b34801561069f57600080fd5b506106a86113a3565b005b3480156106b657600080fd5b506106bf6113b7565b6040516106cc919061377e565b60405180910390f35b3480156106e157600080fd5b506106fc60048036038101906106f791906139b7565b6113bd565b005b34801561070a57600080fd5b5061072560048036038101906107209190613aff565b6113d0565b005b34801561073357600080fd5b5061073c61146b565b60405161074991906135ff565b60405180910390f35b34801561075e57600080fd5b50610767611495565b60405161077491906136aa565b60405180910390f35b61079760048036038101906107929190613702565b611527565b005b3480156107a557600080fd5b506107c060048036038101906107bb9190613b74565b6118f1565b005b3480156107ce57600080fd5b506107d7611907565b6040516107e4919061377e565b60405180910390f35b3480156107f957600080fd5b50610814600480360381019061080f9190613c55565b61190d565b005b34801561082257600080fd5b5061083d60048036038101906108389190613702565b61196f565b60405161084a91906136aa565b60405180910390f35b34801561085f57600080fd5b5061087a60048036038101906108759190613702565b6119ee565b604051610887919061377e565b60405180910390f35b34801561089c57600080fd5b506108b760048036038101906108b29190613799565b611a09565b6040516108c491906134f3565b60405180910390f35b3480156108d957600080fd5b506108f460048036038101906108ef9190613702565b611a29565b604051610901919061377e565b60405180910390f35b34801561091657600080fd5b50610931600480360381019061092c9190613cd8565b611b34565b60405161093e91906134f3565b60405180910390f35b34801561095357600080fd5b5061096e60048036038101906109699190613799565b611bc8565b005b600061097b82611c4b565b9050919050565b61098a611cc5565b6109948282611d43565b5050565b6109a0611cc5565b6001601e60006101000a81548160ff021916908360ff160217905550565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600080546109f390613d47565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1f90613d47565b8015610a6c5780601f10610a4157610100808354040283529160200191610a6c565b820191906000526020600020905b815481529060010190602001808311610a4f57829003601f168201915b5050505050905090565b6000610a8182611ed8565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610ac782611266565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90613dea565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b56611f23565b73ffffffffffffffffffffffffffffffffffffffff161480610b855750610b8481610b7f611f23565b611b34565b5b610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb90613e7c565b60405180910390fd5b610bce8383611f2b565b505050565b610bdb611cc5565b6002601e60006101000a81548160ff021916908360ff160217905550565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600880549050905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c6020528060005260406000206000915054906101000a900460ff1681565b610c83610c7d611f23565b82611fe4565b610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb990613f0e565b60405180910390fd5b610ccd838383612079565b505050565b6000806000600d60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610e6757600c6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610e71612372565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610e9d9190613f5d565b610ea79190613fce565b90508160000151819350935050509250929050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610eed836112ec565b8210610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2590614071565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610f8f611cc5565b6000479050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e861011384610fe19190613f5d565b610feb9190613fce565b9081150290604051600060405180830381858888f19350505050158015611016573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e861012c846110649190613f5d565b61106e9190613fce565b9081150290604051600060405180830381858888f19350505050158015611099573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e8610113846110e79190613f5d565b6110f19190613fce565b9081150290604051600060405180830381858888f1935050505015801561111c573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e86096846111699190613f5d565b6111739190613fce565b9081150290604051600060405180830381858888f1935050505015801561119e573d6000803e3d6000fd5b5050565b6111bd8383836040518060200160405280600081525061190d565b505050565b603281565b60006111d1610c1f565b8210611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990614103565b60405180910390fd5b6008828154811061122657611225614123565b5b90600052602060002001549050919050565b611240611cc5565b80600e908161124f91906142fe565b5050565b601e60009054906101000a900460ff1681565b6000806112728361237c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da9061441c565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611353906144ae565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113ab611cc5565b6113b560006123b9565b565b611b9e81565b80600f90816113cc91906142fe565b5050565b6113d8611cc5565b60005b8151811015611467576001601d60008484815181106113fd576113fc614123565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080611460906144ce565b90506113db565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546114a490613d47565b80601f01602080910402602001604051908101604052809291908181526020018280546114d090613d47565b801561151d5780601f106114f25761010080835404028352916020019161151d565b820191906000526020600020905b81548152906001019060200180831161150057829003601f168201915b5050505050905090565b6000601e60009054906101000a900460ff1660ff161161157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390614562565b60405180910390fd5b600081116115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b6906145ce565b60405180910390fd5b6032811115611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fa9061463a565b60405180910390fd5b611b9e81601b54611614919061465a565b1115611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c906146da565b60405180910390fd5b60006001601e60009054906101000a900460ff1660ff160361182a57600182146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab90614746565b60405180910390fd5b601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611740576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611737906147b2565b60405180910390fd5b601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061481e565b60405180910390fd5b6001601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506118b1565b6000600191505b82821161186c5761184e82601b54611849919061465a565b611a29565b81611859919061465a565b905081611865906144ce565b9150611831565b803410156118af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a69061488a565b60405180910390fd5b505b600090505b818110156118ed576118dc33601b600081546118d1906144ce565b91905081905561247f565b806118e6906144ce565b90506118b6565b5050565b6119036118fc611f23565b838361249d565b5050565b601b5481565b61191e611918611f23565b83611fe4565b61195d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195490613f0e565b60405180910390fd5b61196984848484612609565b50505050565b606061197a82612665565b6119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b09061491c565b60405180910390fd5b600e6119c4836126a6565b600f6040516020016119d8939291906149fb565b6040516020818303038152906040529050919050565b601481600781106119fe57600080fd5b016000915090505481565b601d6020528060005260406000206000915054906101000a900460ff1681565b60006103e88211611a52576014600060078110611a4957611a48614123565b5b01549050611b2f565b6107d08211611a79576014600160078110611a7057611a6f614123565b5b01549050611b2f565b610bb88211611aa0576014600260078110611a9757611a96614123565b5b01549050611b2f565b610fa08211611ac7576014600360078110611abe57611abd614123565b5b01549050611b2f565b6113888211611aee576014600460078110611ae557611ae4614123565b5b01549050611b2f565b6117708211611b15576014600560078110611b0c57611b0b614123565b5b01549050611b2f565b6014600660078110611b2a57611b29614123565b5b015490505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611bd0611cc5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3690614a9e565b60405180910390fd5b611c48816123b9565b50565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611cbe5750611cbd82612774565b5b9050919050565b611ccd611f23565b73ffffffffffffffffffffffffffffffffffffffff16611ceb61146b565b73ffffffffffffffffffffffffffffffffffffffff1614611d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3890614b0a565b60405180910390fd5b565b611d4b612372565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115611da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da090614b9c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0f90614c08565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600c60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b611ee181612665565b611f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f179061441c565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611f9e83611266565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611ff083611266565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061203257506120318185611b34565b5b8061207057508373ffffffffffffffffffffffffffffffffffffffff1661205884610a76565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661209982611266565b73ffffffffffffffffffffffffffffffffffffffff16146120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e690614c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361215e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215590614d2c565b60405180910390fd5b61216b83838360016127ee565b8273ffffffffffffffffffffffffffffffffffffffff1661218b82611266565b73ffffffffffffffffffffffffffffffffffffffff16146121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890614c9a565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461236d838383600161294c565b505050565b6000612710905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612499828260405180602001604052806000815250612952565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290614d98565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516125fc91906134f3565b60405180910390a3505050565b612614848484612079565b612620848484846129ad565b61265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265690614e2a565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166126878361237c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600060016126b584612b34565b01905060008167ffffffffffffffff8111156126d4576126d361388c565b5b6040519080825280601f01601f1916602001820160405280156127065781602001600182028036833780820191505090505b509050600082602001820190505b600115612769578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161275d5761275c613f9f565b5b04945060008503612714575b819350505050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806127e757506127e682612c87565b5b9050919050565b6127fa84848484612d69565b600181111561283e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283590614ebc565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036128855761288081612e8f565b6128c4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146128c3576128c28582612ed8565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036129065761290181613045565b612945565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612944576129438482613116565b5b5b5050505050565b50505050565b61295c8383613195565b61296960008484846129ad565b6129a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299f90614e2a565b60405180910390fd5b505050565b60006129ce8473ffffffffffffffffffffffffffffffffffffffff166133b2565b15612b27578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026129f7611f23565b8786866040518563ffffffff1660e01b8152600401612a199493929190614f31565b6020604051808303816000875af1925050508015612a5557506040513d601f19601f82011682018060405250810190612a529190614f92565b60015b612ad7573d8060008114612a85576040519150601f19603f3d011682016040523d82523d6000602084013e612a8a565b606091505b506000815103612acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac690614e2a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612b2c565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612b92577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612b8857612b87613f9f565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612bcf576d04ee2d6d415b85acef81000000008381612bc557612bc4613f9f565b5b0492506020810190505b662386f26fc100008310612bfe57662386f26fc100008381612bf457612bf3613f9f565b5b0492506010810190505b6305f5e1008310612c27576305f5e1008381612c1d57612c1c613f9f565b5b0492506008810190505b6127108310612c4c576127108381612c4257612c41613f9f565b5b0492506004810190505b60648310612c6f5760648381612c6557612c64613f9f565b5b0492506002810190505b600a8310612c7e576001810190505b80915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612d5257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612d625750612d61826133d5565b5b9050919050565b6001811115612e8957600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612dfd5780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612df59190614fbf565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e885780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e80919061465a565b925050819055505b5b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612ee5846112ec565b612eef9190614fbf565b9050600060076000848152602001908152602001600020549050818114612fd4576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506130599190614fbf565b905060006009600084815260200190815260200160002054905060006008838154811061308957613088614123565b5b9060005260206000200154905080600883815481106130ab576130aa614123565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806130fa576130f9614ff3565b5b6001900381819060005260206000200160009055905550505050565b6000613121836112ec565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131fb9061506e565b60405180910390fd5b61320d81612665565b1561324d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613244906150da565b60405180910390fd5b61325b6000838360016127ee565b61326481612665565b156132a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329b906150da565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46133ae60008383600161294c565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61348881613453565b811461349357600080fd5b50565b6000813590506134a58161347f565b92915050565b6000602082840312156134c1576134c0613449565b5b60006134cf84828501613496565b91505092915050565b60008115159050919050565b6134ed816134d8565b82525050565b600060208201905061350860008301846134e4565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135398261350e565b9050919050565b6135498161352e565b811461355457600080fd5b50565b60008135905061356681613540565b92915050565b60006bffffffffffffffffffffffff82169050919050565b61358d8161356c565b811461359857600080fd5b50565b6000813590506135aa81613584565b92915050565b600080604083850312156135c7576135c6613449565b5b60006135d585828601613557565b92505060206135e68582860161359b565b9150509250929050565b6135f98161352e565b82525050565b600060208201905061361460008301846135f0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613654578082015181840152602081019050613639565b60008484015250505050565b6000601f19601f8301169050919050565b600061367c8261361a565b6136868185613625565b9350613696818560208601613636565b61369f81613660565b840191505092915050565b600060208201905081810360008301526136c48184613671565b905092915050565b6000819050919050565b6136df816136cc565b81146136ea57600080fd5b50565b6000813590506136fc816136d6565b92915050565b60006020828403121561371857613717613449565b5b6000613726848285016136ed565b91505092915050565b6000806040838503121561374657613745613449565b5b600061375485828601613557565b9250506020613765858286016136ed565b9150509250929050565b613778816136cc565b82525050565b6000602082019050613793600083018461376f565b92915050565b6000602082840312156137af576137ae613449565b5b60006137bd84828501613557565b91505092915050565b6000806000606084860312156137df576137de613449565b5b60006137ed86828701613557565b93505060206137fe86828701613557565b925050604061380f868287016136ed565b9150509250925092565b600080604083850312156138305761382f613449565b5b600061383e858286016136ed565b925050602061384f858286016136ed565b9150509250929050565b600060408201905061386e60008301856135f0565b61387b602083018461376f565b9392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6138c482613660565b810181811067ffffffffffffffff821117156138e3576138e261388c565b5b80604052505050565b60006138f661343f565b905061390282826138bb565b919050565b600067ffffffffffffffff8211156139225761392161388c565b5b61392b82613660565b9050602081019050919050565b82818337600083830152505050565b600061395a61395584613907565b6138ec565b90508281526020810184848401111561397657613975613887565b5b613981848285613938565b509392505050565b600082601f83011261399e5761399d613882565b5b81356139ae848260208601613947565b91505092915050565b6000602082840312156139cd576139cc613449565b5b600082013567ffffffffffffffff8111156139eb576139ea61344e565b5b6139f784828501613989565b91505092915050565b600060ff82169050919050565b613a1681613a00565b82525050565b6000602082019050613a316000830184613a0d565b92915050565b600067ffffffffffffffff821115613a5257613a5161388c565b5b602082029050602081019050919050565b600080fd5b6000613a7b613a7684613a37565b6138ec565b90508083825260208201905060208402830185811115613a9e57613a9d613a63565b5b835b81811015613ac75780613ab38882613557565b845260208401935050602081019050613aa0565b5050509392505050565b600082601f830112613ae657613ae5613882565b5b8135613af6848260208601613a68565b91505092915050565b600060208284031215613b1557613b14613449565b5b600082013567ffffffffffffffff811115613b3357613b3261344e565b5b613b3f84828501613ad1565b91505092915050565b613b51816134d8565b8114613b5c57600080fd5b50565b600081359050613b6e81613b48565b92915050565b60008060408385031215613b8b57613b8a613449565b5b6000613b9985828601613557565b9250506020613baa85828601613b5f565b9150509250929050565b600067ffffffffffffffff821115613bcf57613bce61388c565b5b613bd882613660565b9050602081019050919050565b6000613bf8613bf384613bb4565b6138ec565b905082815260208101848484011115613c1457613c13613887565b5b613c1f848285613938565b509392505050565b600082601f830112613c3c57613c3b613882565b5b8135613c4c848260208601613be5565b91505092915050565b60008060008060808587031215613c6f57613c6e613449565b5b6000613c7d87828801613557565b9450506020613c8e87828801613557565b9350506040613c9f878288016136ed565b925050606085013567ffffffffffffffff811115613cc057613cbf61344e565b5b613ccc87828801613c27565b91505092959194509250565b60008060408385031215613cef57613cee613449565b5b6000613cfd85828601613557565b9250506020613d0e85828601613557565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d5f57607f821691505b602082108103613d7257613d71613d18565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613dd4602183613625565b9150613ddf82613d78565b604082019050919050565b60006020820190508181036000830152613e0381613dc7565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613e66603d83613625565b9150613e7182613e0a565b604082019050919050565b60006020820190508181036000830152613e9581613e59565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613ef8602d83613625565b9150613f0382613e9c565b604082019050919050565b60006020820190508181036000830152613f2781613eeb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f68826136cc565b9150613f73836136cc565b9250828202613f81816136cc565b91508282048414831517613f9857613f97613f2e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd9826136cc565b9150613fe4836136cc565b925082613ff457613ff3613f9f565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061405b602b83613625565b915061406682613fff565b604082019050919050565b6000602082019050818103600083015261408a8161404e565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006140ed602c83613625565b91506140f882614091565b604082019050919050565b6000602082019050818103600083015261411c816140e0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026141b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614177565b6141be8683614177565b95508019841693508086168417925050509392505050565b6000819050919050565b60006141fb6141f66141f1846136cc565b6141d6565b6136cc565b9050919050565b6000819050919050565b614215836141e0565b61422961422182614202565b848454614184565b825550505050565b600090565b61423e614231565b61424981848461420c565b505050565b5b8181101561426d57614262600082614236565b60018101905061424f565b5050565b601f8211156142b25761428381614152565b61428c84614167565b8101602085101561429b578190505b6142af6142a785614167565b83018261424e565b50505b505050565b600082821c905092915050565b60006142d5600019846008026142b7565b1980831691505092915050565b60006142ee83836142c4565b9150826002028217905092915050565b6143078261361a565b67ffffffffffffffff8111156143205761431f61388c565b5b61432a8254613d47565b614335828285614271565b600060209050601f8311600181146143685760008415614356578287015190505b61436085826142e2565b8655506143c8565b601f19841661437686614152565b60005b8281101561439e57848901518255600182019150602085019450602081019050614379565b868310156143bb57848901516143b7601f8916826142c4565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614406601883613625565b9150614411826143d0565b602082019050919050565b60006020820190508181036000830152614435816143f9565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614498602983613625565b91506144a38261443c565b604082019050919050565b600060208201905081810360008301526144c78161448b565b9050919050565b60006144d9826136cc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361450b5761450a613f2e565b5b600182019050919050565b7f53616c65206973206e6f74207374617274656400000000000000000000000000600082015250565b600061454c601383613625565b915061455782614516565b602082019050919050565b6000602082019050818103600083015261457b8161453f565b9050919050565b7f496e73756666696369656e74206d696e7420616d6f756e740000000000000000600082015250565b60006145b8601883613625565b91506145c382614582565b602082019050919050565b600060208201905081810360008301526145e7816145ab565b9050919050565b7f45786365656473206d6178206e66742070657220747800000000000000000000600082015250565b6000614624601683613625565b915061462f826145ee565b602082019050919050565b6000602082019050818103600083015261465381614617565b9050919050565b6000614665826136cc565b9150614670836136cc565b925082820190508082111561468857614687613f2e565b5b92915050565b7f45786365656473206d6178206e66747300000000000000000000000000000000600082015250565b60006146c4601083613625565b91506146cf8261468e565b602082019050919050565b600060208201905081810360008301526146f3816146b7565b9050919050565b7f596f752063616e206f6e6c79206d696e74203120696e2070726573616c650000600082015250565b6000614730601e83613625565b915061473b826146fa565b602082019050919050565b6000602082019050818103600083015261475f81614723565b9050919050565b7f596f7520617265206e6f742077686974656c6973746564000000000000000000600082015250565b600061479c601783613625565b91506147a782614766565b602082019050919050565b600060208201905081810360008301526147cb8161478f565b9050919050565b7f596f7520616c7265616479206d696e74656420616e206e667400000000000000600082015250565b6000614808601983613625565b9150614813826147d2565b602082019050919050565b60006020820190508181036000830152614837816147fb565b9050919050565b7f496e73756666696369656e742066756e64000000000000000000000000000000600082015250565b6000614874601183613625565b915061487f8261483e565b602082019050919050565b600060208201905081810360008301526148a381614867565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614906602f83613625565b9150614911826148aa565b604082019050919050565b60006020820190508181036000830152614935816148f9565b9050919050565b600081905092915050565b6000815461495481613d47565b61495e818661493c565b94506001821660008114614979576001811461498e576149c1565b60ff19831686528115158202860193506149c1565b61499785614152565b60005b838110156149b95781548189015260018201915060208101905061499a565b838801955050505b50505092915050565b60006149d58261361a565b6149df818561493c565b93506149ef818560208601613636565b80840191505092915050565b6000614a078286614947565b9150614a1382856149ca565b9150614a1f8284614947565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a88602683613625565b9150614a9382614a2c565b604082019050919050565b60006020820190508181036000830152614ab781614a7b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614af4602083613625565b9150614aff82614abe565b602082019050919050565b60006020820190508181036000830152614b2381614ae7565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b6000614b86602a83613625565b9150614b9182614b2a565b604082019050919050565b60006020820190508181036000830152614bb581614b79565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b6000614bf2601983613625565b9150614bfd82614bbc565b602082019050919050565b60006020820190508181036000830152614c2181614be5565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614c84602583613625565b9150614c8f82614c28565b604082019050919050565b60006020820190508181036000830152614cb381614c77565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614d16602483613625565b9150614d2182614cba565b604082019050919050565b60006020820190508181036000830152614d4581614d09565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614d82601983613625565b9150614d8d82614d4c565b602082019050919050565b60006020820190508181036000830152614db181614d75565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614e14603283613625565b9150614e1f82614db8565b604082019050919050565b60006020820190508181036000830152614e4381614e07565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614ea6603583613625565b9150614eb182614e4a565b604082019050919050565b60006020820190508181036000830152614ed581614e99565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614f0382614edc565b614f0d8185614ee7565b9350614f1d818560208601613636565b614f2681613660565b840191505092915050565b6000608082019050614f4660008301876135f0565b614f5360208301866135f0565b614f60604083018561376f565b8181036060830152614f728184614ef8565b905095945050505050565b600081519050614f8c8161347f565b92915050565b600060208284031215614fa857614fa7613449565b5b6000614fb684828501614f7d565b91505092915050565b6000614fca826136cc565b9150614fd5836136cc565b9250828203905081811115614fed57614fec613f2e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615058602083613625565b915061506382615022565b602082019050919050565b600060208201905081810360008301526150878161504b565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006150c4601c83613625565b91506150cf8261508e565b602082019050919050565b600060208201905081810360008301526150f3816150b7565b905091905056fea2646970667358221220418aefae66f6c888f7a370b8c900cb01626bf32fca65343792bf01cce674e96964736f6c63430008110033

Deployed ByteCode

0x60806040526004361061023b5760003560e01c806355f804b31161012e578063a0712d68116100ab578063caa77ac71161006f578063caa77ac714610853578063d936547e14610890578063e7572230146108cd578063e985e9c51461090a578063f2fde38b146109475761023b565b8063a0712d681461077d578063a22cb46514610799578063a2309ff8146107c2578063b88d4fde146107ed578063c87b56dd146108165761023b565b80637d4cb964116100f25780637d4cb964146106aa5780637e2285aa146106d55780637f649783146106fe5780638da5cb5b1461072757806395d89b41146107525761023b565b806355f804b3146105c5578063603f4d52146105ee5780636352211e1461061957806370a0823114610656578063715018a6146106935761023b565b80631de46a78116101bc5780632f745c59116101805780632f745c59146104e05780633ccfd60b1461051d57806342842e0e14610534578063472890751461055d5780634f6ccce7146105885761023b565b80631de46a78146103e65780631e7269c51461041157806323b872dd1461044e5780632a55205a146104775780632b0c685a146104b55761023b565b8063081812fc11610203578063081812fc14610313578063095ea7b3146103505780630c1c972a14610379578063115976c41461039057806318160ddd146103bb5761023b565b806301ffc9a71461024057806304634d8d1461027d57806304c98b2b146102a657806306a8f8a2146102bd57806306fdde03146102e8575b600080fd5b34801561024c57600080fd5b50610267600480360381019061026291906134ab565b610970565b60405161027491906134f3565b60405180910390f35b34801561028957600080fd5b506102a4600480360381019061029f91906135b0565b610982565b005b3480156102b257600080fd5b506102bb610998565b005b3480156102c957600080fd5b506102d26109be565b6040516102df91906135ff565b60405180910390f35b3480156102f457600080fd5b506102fd6109e4565b60405161030a91906136aa565b60405180910390f35b34801561031f57600080fd5b5061033a60048036038101906103359190613702565b610a76565b60405161034791906135ff565b60405180910390f35b34801561035c57600080fd5b506103776004803603810190610372919061372f565b610abc565b005b34801561038557600080fd5b5061038e610bd3565b005b34801561039c57600080fd5b506103a5610bf9565b6040516103b291906135ff565b60405180910390f35b3480156103c757600080fd5b506103d0610c1f565b6040516103dd919061377e565b60405180910390f35b3480156103f257600080fd5b506103fb610c2c565b60405161040891906135ff565b60405180910390f35b34801561041d57600080fd5b5061043860048036038101906104339190613799565b610c52565b60405161044591906134f3565b60405180910390f35b34801561045a57600080fd5b50610475600480360381019061047091906137c6565b610c72565b005b34801561048357600080fd5b5061049e60048036038101906104999190613819565b610cd2565b6040516104ac929190613859565b60405180910390f35b3480156104c157600080fd5b506104ca610ebc565b6040516104d791906135ff565b60405180910390f35b3480156104ec57600080fd5b506105076004803603810190610502919061372f565b610ee2565b604051610514919061377e565b60405180910390f35b34801561052957600080fd5b50610532610f87565b005b34801561054057600080fd5b5061055b600480360381019061055691906137c6565b6111a2565b005b34801561056957600080fd5b506105726111c2565b60405161057f919061377e565b60405180910390f35b34801561059457600080fd5b506105af60048036038101906105aa9190613702565b6111c7565b6040516105bc919061377e565b60405180910390f35b3480156105d157600080fd5b506105ec60048036038101906105e791906139b7565b611238565b005b3480156105fa57600080fd5b50610603611253565b6040516106109190613a1c565b60405180910390f35b34801561062557600080fd5b50610640600480360381019061063b9190613702565b611266565b60405161064d91906135ff565b60405180910390f35b34801561066257600080fd5b5061067d60048036038101906106789190613799565b6112ec565b60405161068a919061377e565b60405180910390f35b34801561069f57600080fd5b506106a86113a3565b005b3480156106b657600080fd5b506106bf6113b7565b6040516106cc919061377e565b60405180910390f35b3480156106e157600080fd5b506106fc60048036038101906106f791906139b7565b6113bd565b005b34801561070a57600080fd5b5061072560048036038101906107209190613aff565b6113d0565b005b34801561073357600080fd5b5061073c61146b565b60405161074991906135ff565b60405180910390f35b34801561075e57600080fd5b50610767611495565b60405161077491906136aa565b60405180910390f35b61079760048036038101906107929190613702565b611527565b005b3480156107a557600080fd5b506107c060048036038101906107bb9190613b74565b6118f1565b005b3480156107ce57600080fd5b506107d7611907565b6040516107e4919061377e565b60405180910390f35b3480156107f957600080fd5b50610814600480360381019061080f9190613c55565b61190d565b005b34801561082257600080fd5b5061083d60048036038101906108389190613702565b61196f565b60405161084a91906136aa565b60405180910390f35b34801561085f57600080fd5b5061087a60048036038101906108759190613702565b6119ee565b604051610887919061377e565b60405180910390f35b34801561089c57600080fd5b506108b760048036038101906108b29190613799565b611a09565b6040516108c491906134f3565b60405180910390f35b3480156108d957600080fd5b506108f460048036038101906108ef9190613702565b611a29565b604051610901919061377e565b60405180910390f35b34801561091657600080fd5b50610931600480360381019061092c9190613cd8565b611b34565b60405161093e91906134f3565b60405180910390f35b34801561095357600080fd5b5061096e60048036038101906109699190613799565b611bc8565b005b600061097b82611c4b565b9050919050565b61098a611cc5565b6109948282611d43565b5050565b6109a0611cc5565b6001601e60006101000a81548160ff021916908360ff160217905550565b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6060600080546109f390613d47565b80601f0160208091040260200160405190810160405280929190818152602001828054610a1f90613d47565b8015610a6c5780601f10610a4157610100808354040283529160200191610a6c565b820191906000526020600020905b815481529060010190602001808311610a4f57829003601f168201915b5050505050905090565b6000610a8182611ed8565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610ac782611266565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610b37576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2e90613dea565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610b56611f23565b73ffffffffffffffffffffffffffffffffffffffff161480610b855750610b8481610b7f611f23565b611b34565b5b610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb90613e7c565b60405180910390fd5b610bce8383611f2b565b505050565b610bdb611cc5565b6002601e60006101000a81548160ff021916908360ff160217905550565b601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600880549050905090565b601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601c6020528060005260406000206000915054906101000a900460ff1681565b610c83610c7d611f23565b82611fe4565b610cc2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cb990613f0e565b60405180910390fd5b610ccd838383612079565b505050565b6000806000600d60008681526020019081526020016000206040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff16815250509050600073ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1603610e6757600c6040518060400160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a90046bffffffffffffffffffffffff166bffffffffffffffffffffffff166bffffffffffffffffffffffff168152505090505b6000610e71612372565b6bffffffffffffffffffffffff1682602001516bffffffffffffffffffffffff1686610e9d9190613f5d565b610ea79190613fce565b90508160000151819350935050509250929050565b601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000610eed836112ec565b8210610f2e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f2590614071565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610f8f611cc5565b6000479050601060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e861011384610fe19190613f5d565b610feb9190613fce565b9081150290604051600060405180830381858888f19350505050158015611016573d6000803e3d6000fd5b50601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e861012c846110649190613f5d565b61106e9190613fce565b9081150290604051600060405180830381858888f19350505050158015611099573d6000803e3d6000fd5b50601260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e8610113846110e79190613f5d565b6110f19190613fce565b9081150290604051600060405180830381858888f1935050505015801561111c573d6000803e3d6000fd5b50601360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc6103e86096846111699190613f5d565b6111739190613fce565b9081150290604051600060405180830381858888f1935050505015801561119e573d6000803e3d6000fd5b5050565b6111bd8383836040518060200160405280600081525061190d565b505050565b603281565b60006111d1610c1f565b8210611212576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120990614103565b60405180910390fd5b6008828154811061122657611225614123565b5b90600052602060002001549050919050565b611240611cc5565b80600e908161124f91906142fe565b5050565b601e60009054906101000a900460ff1681565b6000806112728361237c565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112da9061441c565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361135c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611353906144ae565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113ab611cc5565b6113b560006123b9565b565b611b9e81565b80600f90816113cc91906142fe565b5050565b6113d8611cc5565b60005b8151811015611467576001601d60008484815181106113fd576113fc614123565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080611460906144ce565b90506113db565b5050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546114a490613d47565b80601f01602080910402602001604051908101604052809291908181526020018280546114d090613d47565b801561151d5780601f106114f25761010080835404028352916020019161151d565b820191906000526020600020905b81548152906001019060200180831161150057829003601f168201915b5050505050905090565b6000601e60009054906101000a900460ff1660ff161161157c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157390614562565b60405180910390fd5b600081116115bf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115b6906145ce565b60405180910390fd5b6032811115611603576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016115fa9061463a565b60405180910390fd5b611b9e81601b54611614919061465a565b1115611655576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161164c906146da565b60405180910390fd5b60006001601e60009054906101000a900460ff1660ff160361182a57600182146116b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ab90614746565b60405180910390fd5b601d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16611740576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611737906147b2565b60405180910390fd5b601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16156117cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117c49061481e565b60405180910390fd5b6001601c60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506118b1565b6000600191505b82821161186c5761184e82601b54611849919061465a565b611a29565b81611859919061465a565b905081611865906144ce565b9150611831565b803410156118af576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118a69061488a565b60405180910390fd5b505b600090505b818110156118ed576118dc33601b600081546118d1906144ce565b91905081905561247f565b806118e6906144ce565b90506118b6565b5050565b6119036118fc611f23565b838361249d565b5050565b601b5481565b61191e611918611f23565b83611fe4565b61195d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195490613f0e565b60405180910390fd5b61196984848484612609565b50505050565b606061197a82612665565b6119b9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119b09061491c565b60405180910390fd5b600e6119c4836126a6565b600f6040516020016119d8939291906149fb565b6040516020818303038152906040529050919050565b601481600781106119fe57600080fd5b016000915090505481565b601d6020528060005260406000206000915054906101000a900460ff1681565b60006103e88211611a52576014600060078110611a4957611a48614123565b5b01549050611b2f565b6107d08211611a79576014600160078110611a7057611a6f614123565b5b01549050611b2f565b610bb88211611aa0576014600260078110611a9757611a96614123565b5b01549050611b2f565b610fa08211611ac7576014600360078110611abe57611abd614123565b5b01549050611b2f565b6113888211611aee576014600460078110611ae557611ae4614123565b5b01549050611b2f565b6117708211611b15576014600560078110611b0c57611b0b614123565b5b01549050611b2f565b6014600660078110611b2a57611b29614123565b5b015490505b919050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611bd0611cc5565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611c3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c3690614a9e565b60405180910390fd5b611c48816123b9565b50565b60007f2a55205a000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611cbe5750611cbd82612774565b5b9050919050565b611ccd611f23565b73ffffffffffffffffffffffffffffffffffffffff16611ceb61146b565b73ffffffffffffffffffffffffffffffffffffffff1614611d41576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d3890614b0a565b60405180910390fd5b565b611d4b612372565b6bffffffffffffffffffffffff16816bffffffffffffffffffffffff161115611da9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611da090614b9c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611e18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e0f90614c08565b60405180910390fd5b60405180604001604052808373ffffffffffffffffffffffffffffffffffffffff168152602001826bffffffffffffffffffffffff16815250600c60008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055509050505050565b611ee181612665565b611f20576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f179061441c565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16611f9e83611266565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611ff083611266565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061203257506120318185611b34565b5b8061207057508373ffffffffffffffffffffffffffffffffffffffff1661205884610a76565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661209982611266565b73ffffffffffffffffffffffffffffffffffffffff16146120ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120e690614c9a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361215e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215590614d2c565b60405180910390fd5b61216b83838360016127ee565b8273ffffffffffffffffffffffffffffffffffffffff1661218b82611266565b73ffffffffffffffffffffffffffffffffffffffff16146121e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121d890614c9a565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461236d838383600161294c565b505050565b6000612710905090565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b612499828260405180602001604052806000815250612952565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff160361250b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250290614d98565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516125fc91906134f3565b60405180910390a3505050565b612614848484612079565b612620848484846129ad565b61265f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161265690614e2a565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff166126878361237c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600060016126b584612b34565b01905060008167ffffffffffffffff8111156126d4576126d361388c565b5b6040519080825280601f01601f1916602001820160405280156127065781602001600182028036833780820191505090505b509050600082602001820190505b600115612769578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a858161275d5761275c613f9f565b5b04945060008503612714575b819350505050919050565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806127e757506127e682612c87565b5b9050919050565b6127fa84848484612d69565b600181111561283e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161283590614ebc565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16036128855761288081612e8f565b6128c4565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff16146128c3576128c28582612ed8565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036129065761290181613045565b612945565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612944576129438482613116565b5b5b5050505050565b50505050565b61295c8383613195565b61296960008484846129ad565b6129a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299f90614e2a565b60405180910390fd5b505050565b60006129ce8473ffffffffffffffffffffffffffffffffffffffff166133b2565b15612b27578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026129f7611f23565b8786866040518563ffffffff1660e01b8152600401612a199493929190614f31565b6020604051808303816000875af1925050508015612a5557506040513d601f19601f82011682018060405250810190612a529190614f92565b60015b612ad7573d8060008114612a85576040519150601f19603f3d011682016040523d82523d6000602084013e612a8a565b606091505b506000815103612acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac690614e2a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612b2c565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612b92577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612b8857612b87613f9f565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612bcf576d04ee2d6d415b85acef81000000008381612bc557612bc4613f9f565b5b0492506020810190505b662386f26fc100008310612bfe57662386f26fc100008381612bf457612bf3613f9f565b5b0492506010810190505b6305f5e1008310612c27576305f5e1008381612c1d57612c1c613f9f565b5b0492506008810190505b6127108310612c4c576127108381612c4257612c41613f9f565b5b0492506004810190505b60648310612c6f5760648381612c6557612c64613f9f565b5b0492506002810190505b600a8310612c7e576001810190505b80915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480612d5257507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80612d625750612d61826133d5565b5b9050919050565b6001811115612e8957600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614612dfd5780600360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612df59190614fbf565b925050819055505b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612e885780600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254612e80919061465a565b925050819055505b5b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612ee5846112ec565b612eef9190614fbf565b9050600060076000848152602001908152602001600020549050818114612fd4576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506130599190614fbf565b905060006009600084815260200190815260200160002054905060006008838154811061308957613088614123565b5b9060005260206000200154905080600883815481106130ab576130aa614123565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806130fa576130f9614ff3565b5b6001900381819060005260206000200160009055905550505050565b6000613121836112ec565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613204576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131fb9061506e565b60405180910390fd5b61320d81612665565b1561324d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613244906150da565b60405180910390fd5b61325b6000838360016127ee565b61326481612665565b156132a4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161329b906150da565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46133ae60008383600161294c565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61348881613453565b811461349357600080fd5b50565b6000813590506134a58161347f565b92915050565b6000602082840312156134c1576134c0613449565b5b60006134cf84828501613496565b91505092915050565b60008115159050919050565b6134ed816134d8565b82525050565b600060208201905061350860008301846134e4565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006135398261350e565b9050919050565b6135498161352e565b811461355457600080fd5b50565b60008135905061356681613540565b92915050565b60006bffffffffffffffffffffffff82169050919050565b61358d8161356c565b811461359857600080fd5b50565b6000813590506135aa81613584565b92915050565b600080604083850312156135c7576135c6613449565b5b60006135d585828601613557565b92505060206135e68582860161359b565b9150509250929050565b6135f98161352e565b82525050565b600060208201905061361460008301846135f0565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015613654578082015181840152602081019050613639565b60008484015250505050565b6000601f19601f8301169050919050565b600061367c8261361a565b6136868185613625565b9350613696818560208601613636565b61369f81613660565b840191505092915050565b600060208201905081810360008301526136c48184613671565b905092915050565b6000819050919050565b6136df816136cc565b81146136ea57600080fd5b50565b6000813590506136fc816136d6565b92915050565b60006020828403121561371857613717613449565b5b6000613726848285016136ed565b91505092915050565b6000806040838503121561374657613745613449565b5b600061375485828601613557565b9250506020613765858286016136ed565b9150509250929050565b613778816136cc565b82525050565b6000602082019050613793600083018461376f565b92915050565b6000602082840312156137af576137ae613449565b5b60006137bd84828501613557565b91505092915050565b6000806000606084860312156137df576137de613449565b5b60006137ed86828701613557565b93505060206137fe86828701613557565b925050604061380f868287016136ed565b9150509250925092565b600080604083850312156138305761382f613449565b5b600061383e858286016136ed565b925050602061384f858286016136ed565b9150509250929050565b600060408201905061386e60008301856135f0565b61387b602083018461376f565b9392505050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6138c482613660565b810181811067ffffffffffffffff821117156138e3576138e261388c565b5b80604052505050565b60006138f661343f565b905061390282826138bb565b919050565b600067ffffffffffffffff8211156139225761392161388c565b5b61392b82613660565b9050602081019050919050565b82818337600083830152505050565b600061395a61395584613907565b6138ec565b90508281526020810184848401111561397657613975613887565b5b613981848285613938565b509392505050565b600082601f83011261399e5761399d613882565b5b81356139ae848260208601613947565b91505092915050565b6000602082840312156139cd576139cc613449565b5b600082013567ffffffffffffffff8111156139eb576139ea61344e565b5b6139f784828501613989565b91505092915050565b600060ff82169050919050565b613a1681613a00565b82525050565b6000602082019050613a316000830184613a0d565b92915050565b600067ffffffffffffffff821115613a5257613a5161388c565b5b602082029050602081019050919050565b600080fd5b6000613a7b613a7684613a37565b6138ec565b90508083825260208201905060208402830185811115613a9e57613a9d613a63565b5b835b81811015613ac75780613ab38882613557565b845260208401935050602081019050613aa0565b5050509392505050565b600082601f830112613ae657613ae5613882565b5b8135613af6848260208601613a68565b91505092915050565b600060208284031215613b1557613b14613449565b5b600082013567ffffffffffffffff811115613b3357613b3261344e565b5b613b3f84828501613ad1565b91505092915050565b613b51816134d8565b8114613b5c57600080fd5b50565b600081359050613b6e81613b48565b92915050565b60008060408385031215613b8b57613b8a613449565b5b6000613b9985828601613557565b9250506020613baa85828601613b5f565b9150509250929050565b600067ffffffffffffffff821115613bcf57613bce61388c565b5b613bd882613660565b9050602081019050919050565b6000613bf8613bf384613bb4565b6138ec565b905082815260208101848484011115613c1457613c13613887565b5b613c1f848285613938565b509392505050565b600082601f830112613c3c57613c3b613882565b5b8135613c4c848260208601613be5565b91505092915050565b60008060008060808587031215613c6f57613c6e613449565b5b6000613c7d87828801613557565b9450506020613c8e87828801613557565b9350506040613c9f878288016136ed565b925050606085013567ffffffffffffffff811115613cc057613cbf61344e565b5b613ccc87828801613c27565b91505092959194509250565b60008060408385031215613cef57613cee613449565b5b6000613cfd85828601613557565b9250506020613d0e85828601613557565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680613d5f57607f821691505b602082108103613d7257613d71613d18565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613dd4602183613625565b9150613ddf82613d78565b604082019050919050565b60006020820190508181036000830152613e0381613dc7565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613e66603d83613625565b9150613e7182613e0a565b604082019050919050565b60006020820190508181036000830152613e9581613e59565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613ef8602d83613625565b9150613f0382613e9c565b604082019050919050565b60006020820190508181036000830152613f2781613eeb565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000613f68826136cc565b9150613f73836136cc565b9250828202613f81816136cc565b91508282048414831517613f9857613f97613f2e565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000613fd9826136cc565b9150613fe4836136cc565b925082613ff457613ff3613f9f565b5b828204905092915050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b600061405b602b83613625565b915061406682613fff565b604082019050919050565b6000602082019050818103600083015261408a8161404e565b9050919050565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006140ed602c83613625565b91506140f882614091565b604082019050919050565b6000602082019050818103600083015261411c816140e0565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026141b47fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82614177565b6141be8683614177565b95508019841693508086168417925050509392505050565b6000819050919050565b60006141fb6141f66141f1846136cc565b6141d6565b6136cc565b9050919050565b6000819050919050565b614215836141e0565b61422961422182614202565b848454614184565b825550505050565b600090565b61423e614231565b61424981848461420c565b505050565b5b8181101561426d57614262600082614236565b60018101905061424f565b5050565b601f8211156142b25761428381614152565b61428c84614167565b8101602085101561429b578190505b6142af6142a785614167565b83018261424e565b50505b505050565b600082821c905092915050565b60006142d5600019846008026142b7565b1980831691505092915050565b60006142ee83836142c4565b9150826002028217905092915050565b6143078261361a565b67ffffffffffffffff8111156143205761431f61388c565b5b61432a8254613d47565b614335828285614271565b600060209050601f8311600181146143685760008415614356578287015190505b61436085826142e2565b8655506143c8565b601f19841661437686614152565b60005b8281101561439e57848901518255600182019150602085019450602081019050614379565b868310156143bb57848901516143b7601f8916826142c4565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000614406601883613625565b9150614411826143d0565b602082019050919050565b60006020820190508181036000830152614435816143f9565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000614498602983613625565b91506144a38261443c565b604082019050919050565b600060208201905081810360008301526144c78161448b565b9050919050565b60006144d9826136cc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361450b5761450a613f2e565b5b600182019050919050565b7f53616c65206973206e6f74207374617274656400000000000000000000000000600082015250565b600061454c601383613625565b915061455782614516565b602082019050919050565b6000602082019050818103600083015261457b8161453f565b9050919050565b7f496e73756666696369656e74206d696e7420616d6f756e740000000000000000600082015250565b60006145b8601883613625565b91506145c382614582565b602082019050919050565b600060208201905081810360008301526145e7816145ab565b9050919050565b7f45786365656473206d6178206e66742070657220747800000000000000000000600082015250565b6000614624601683613625565b915061462f826145ee565b602082019050919050565b6000602082019050818103600083015261465381614617565b9050919050565b6000614665826136cc565b9150614670836136cc565b925082820190508082111561468857614687613f2e565b5b92915050565b7f45786365656473206d6178206e66747300000000000000000000000000000000600082015250565b60006146c4601083613625565b91506146cf8261468e565b602082019050919050565b600060208201905081810360008301526146f3816146b7565b9050919050565b7f596f752063616e206f6e6c79206d696e74203120696e2070726573616c650000600082015250565b6000614730601e83613625565b915061473b826146fa565b602082019050919050565b6000602082019050818103600083015261475f81614723565b9050919050565b7f596f7520617265206e6f742077686974656c6973746564000000000000000000600082015250565b600061479c601783613625565b91506147a782614766565b602082019050919050565b600060208201905081810360008301526147cb8161478f565b9050919050565b7f596f7520616c7265616479206d696e74656420616e206e667400000000000000600082015250565b6000614808601983613625565b9150614813826147d2565b602082019050919050565b60006020820190508181036000830152614837816147fb565b9050919050565b7f496e73756666696369656e742066756e64000000000000000000000000000000600082015250565b6000614874601183613625565b915061487f8261483e565b602082019050919050565b600060208201905081810360008301526148a381614867565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000614906602f83613625565b9150614911826148aa565b604082019050919050565b60006020820190508181036000830152614935816148f9565b9050919050565b600081905092915050565b6000815461495481613d47565b61495e818661493c565b94506001821660008114614979576001811461498e576149c1565b60ff19831686528115158202860193506149c1565b61499785614152565b60005b838110156149b95781548189015260018201915060208101905061499a565b838801955050505b50505092915050565b60006149d58261361a565b6149df818561493c565b93506149ef818560208601613636565b80840191505092915050565b6000614a078286614947565b9150614a1382856149ca565b9150614a1f8284614947565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a88602683613625565b9150614a9382614a2c565b604082019050919050565b60006020820190508181036000830152614ab781614a7b565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614af4602083613625565b9150614aff82614abe565b602082019050919050565b60006020820190508181036000830152614b2381614ae7565b9050919050565b7f455243323938313a20726f79616c7479206665652077696c6c2065786365656460008201527f2073616c65507269636500000000000000000000000000000000000000000000602082015250565b6000614b86602a83613625565b9150614b9182614b2a565b604082019050919050565b60006020820190508181036000830152614bb581614b79565b9050919050565b7f455243323938313a20696e76616c696420726563656976657200000000000000600082015250565b6000614bf2601983613625565b9150614bfd82614bbc565b602082019050919050565b60006020820190508181036000830152614c2181614be5565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000614c84602583613625565b9150614c8f82614c28565b604082019050919050565b60006020820190508181036000830152614cb381614c77565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614d16602483613625565b9150614d2182614cba565b604082019050919050565b60006020820190508181036000830152614d4581614d09565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000614d82601983613625565b9150614d8d82614d4c565b602082019050919050565b60006020820190508181036000830152614db181614d75565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000614e14603283613625565b9150614e1f82614db8565b604082019050919050565b60006020820190508181036000830152614e4381614e07565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614ea6603583613625565b9150614eb182614e4a565b604082019050919050565b60006020820190508181036000830152614ed581614e99565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614f0382614edc565b614f0d8185614ee7565b9350614f1d818560208601613636565b614f2681613660565b840191505092915050565b6000608082019050614f4660008301876135f0565b614f5360208301866135f0565b614f60604083018561376f565b8181036060830152614f728184614ef8565b905095945050505050565b600081519050614f8c8161347f565b92915050565b600060208284031215614fa857614fa7613449565b5b6000614fb684828501614f7d565b91505092915050565b6000614fca826136cc565b9150614fd5836136cc565b9250828203905081811115614fed57614fec613f2e565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000615058602083613625565b915061506382615022565b602082019050919050565b600060208201905081810360008301526150878161504b565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006150c4601c83613625565b91506150cf8261508e565b602082019050919050565b600060208201905081810360008301526150f3816150b7565b905091905056fea2646970667358221220418aefae66f6c888f7a370b8c900cb01626bf32fca65343792bf01cce674e96964736f6c63430008110033