[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "_factory", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "IXERC20_NotFactory", "type": "error" }, { "inputs": [], "name": "IXERC20_NotHighEnoughLimits", "type": "error" }, { "inputs": [], "name": "InvalidShortString", "type": "error" }, { "inputs": [ { "internalType": "string", "name": "str", "type": "string" } ], "name": "StringTooLong", "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": [ { "indexed": false, "internalType": "uint256", "name": "_mintingLimit", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_burningLimit", "type": "uint256" }, { "indexed": true, "internalType": "address", "name": "_bridge", "type": "address" } ], "name": "BridgeLimitsSet", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "_lockbox", "type": "address" } ], "name": "LockboxSet", "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": 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": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "FACTORY", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "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": [ { "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": "address", "name": "", "type": "address" } ], "name": "bridges", "outputs": [ { "components": [ { "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "internalType": "uint256", "name": "ratePerSecond", "type": "uint256" }, { "internalType": "uint256", "name": "maxLimit", "type": "uint256" }, { "internalType": "uint256", "name": "currentLimit", "type": "uint256" } ], "internalType": "struct IXERC20.BridgeParameters", "name": "minterParams", "type": "tuple" }, { "components": [ { "internalType": "uint256", "name": "timestamp", "type": "uint256" }, { "internalType": "uint256", "name": "ratePerSecond", "type": "uint256" }, { "internalType": "uint256", "name": "maxLimit", "type": "uint256" }, { "internalType": "uint256", "name": "currentLimit", "type": "uint256" } ], "internalType": "struct IXERC20.BridgeParameters", "name": "burnerParams", "type": "tuple" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_bridge", "type": "address" } ], "name": "burningCurrentLimitOf", "outputs": [ { "internalType": "uint256", "name": "_limit", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_bridge", "type": "address" } ], "name": "burningMaxLimitOf", "outputs": [ { "internalType": "uint256", "name": "_limit", "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": "eip712Domain", "outputs": [ { "internalType": "bytes1", "name": "fields", "type": "bytes1" }, { "internalType": "string", "name": "name", "type": "string" }, { "internalType": "string", "name": "version", "type": "string" }, { "internalType": "uint256", "name": "chainId", "type": "uint256" }, { "internalType": "address", "name": "verifyingContract", "type": "address" }, { "internalType": "bytes32", "name": "salt", "type": "bytes32" }, { "internalType": "uint256[]", "name": "extensions", "type": "uint256[]" } ], "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": [], "name": "lockbox", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" }, { "internalType": "uint256", "name": "_amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_bridge", "type": "address" } ], "name": "mintingCurrentLimitOf", "outputs": [ { "internalType": "uint256", "name": "_limit", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_bridge", "type": "address" } ], "name": "mintingMaxLimitOf", "outputs": [ { "internalType": "uint256", "name": "_limit", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "nonces", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "owner", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "value", "type": "uint256" }, { "internalType": "uint256", "name": "deadline", "type": "uint256" }, { "internalType": "uint8", "name": "v", "type": "uint8" }, { "internalType": "bytes32", "name": "r", "type": "bytes32" }, { "internalType": "bytes32", "name": "s", "type": "bytes32" } ], "name": "permit", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_bridge", "type": "address" }, { "internalType": "uint256", "name": "_mintingLimit", "type": "uint256" }, { "internalType": "uint256", "name": "_burningLimit", "type": "uint256" } ], "name": "setLimits", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_lockbox", "type": "address" } ], "name": "setLockbox", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "symbol", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "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" } ]
6101806040818152346200045d576200279e803803809162000022828662000462565b843982016060838203126200045d5782516001600160401b0392908381116200045d578262000053918601620004ab565b90602092838601518581116200045d57829162000072918801620004ab565b950151926001600160a01b03841684036200045d57815190828201828110878211176200036857835260019283835281830193603160f81b85528551888111620003685760038054918383811c9316801562000452575b868410146200043c57601f92838111620003f1575b5080868482116001146200038a576000916200037e575b5060001982841b1c191690841b1781555b8a51918a8311620003685760049b8c548581811c911680156200035d575b888210146200034857828111620002fd575b5086918411600114620002925793839491849260009562000286575b50501b92600019911b1c19161788555b6200016d3362000506565b62000178856200054f565b936101209485526200018a84620006f7565b95610140968752838151910120938460e0525190209761010098808a524660a0528251938401947f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f86528385015260608401524660808401523060a084015260a0835260c0830197838910908911176200027157508690525190206080523060c052620002178362000506565b610160928352611f4f94856200084f863960805185611916015260a051856119e2015260c051856118e7015260e051856119650152518461198b01525183610b2e01525182610b58015251818181610e0001526110ac0152f35b604190634e487b7160e01b6000525260246000fd5b01519350388062000152565b9190601f198416928d60005284886000209460005b8a89838310620002e55750505010620002ca575b50505050811b01885562000162565b01519060f884600019921b161c1916905538808080620002bb565b868601518955909701969485019488935001620002a7565b8d600052876000208380870160051c8201928a88106200033e575b0160051c019086905b8281106200033157505062000136565b6000815501869062000321565b9250819262000318565b60228e634e487b7160e01b6000525260246000fd5b90607f169062000124565b634e487b7160e01b600052604160045260246000fd5b905089015138620000f5565b60008481528881208794509190601f198416908a8e5b838310620003d9575050508311620003c0575b5050811b01815562000106565b8b015160001983861b60f8161c191690553880620003b3565b840151855589969094019392830192018a8e620003a0565b82600052866000208480840160051c82019289851062000432575b0160051c019085905b82811062000425575050620000de565b6000815501859062000415565b925081926200040c565b634e487b7160e01b600052602260045260246000fd5b92607f1692620000c9565b600080fd5b601f909101601f19168101906001600160401b038211908210176200036857604052565b60005b8381106200049a5750506000910152565b818101518382015260200162000489565b81601f820112156200045d5780516001600160401b038111620003685760405192620004e2601f8301601f19166020018562000462565b818452602082840101116200045d5762000503916020808501910162000486565b90565b600580546001600160a01b039283166001600160a01b0319821681179092559091167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0600080a3565b805160209081811015620005cd5750601f8251116200058b57808251920151908083106200057c57501790565b82600019910360031b1b161790565b604490620005bf9260405193849263305a27a960e01b84528060048501528251928391826024870152868601910162000486565b601f01601f19168101030190fd5b906001600160401b0382116200036857600654926001938481811c91168015620006ec575b838210146200043c57601f8111620006b2575b5081601f84116001146200064657509282939183926000946200063a575b50501b916000199060031b1c19161760065560ff90565b01519250388062000623565b919083601f198116600660005284600020946000905b888383106200069757505050106200067d575b505050811b0160065560ff90565b015160001960f88460031b161c191690553880806200066f565b8587015188559096019594850194879350908101906200065c565b600660005284601f84600020920160051c820191601f860160051c015b828110620006df57505062000605565b60008155018590620006cf565b90607f1690620005f2565b805160209081811015620007245750601f8251116200058b57808251920151908083106200057c57501790565b906001600160401b0382116200036857600754926001938481811c9116801562000843575b838210146200043c57601f811162000809575b5081601f84116001146200079d575092829391839260009462000791575b50501b916000199060031b1c19161760075560ff90565b0151925038806200077a565b919083601f198116600760005284600020946000905b88838310620007ee5750505010620007d4575b505050811b0160075560ff90565b015160001960f88460031b161c19169055388080620007c6565b858701518855909601959485019487935090810190620007b3565b600760005284601f84600020920160051c820191601f860160051c015b828110620008365750506200075c565b6000815501859062000826565b90607f16906200074956fe6080604081815260048036101561001557600080fd5b600092833560e01c90816306fdde031461118c57508063095ea7b3146111625780630c05f82c1461112c57806318160ddd1461110d57806323b872dd146110d05780632dd310001461107f578063313ce567146110635780633644e515146110465780633950935114610fea57806340c10f1914610ea8578063435350b714610dcd578063651fd26814610da757806366cc570214610d7257806370a0823114610d2f578063715018a614610caf5780637ecebe0014610c6b57806384b0196e14610b175780638da5cb5b14610ae257806395d89b41146109d5578063998955d3146109a85780639dc29fac146107ad578063a08d5654146106a7578063a457c2d7146105da578063a9059cbb146105a9578063c1eb713714610562578063ced67f0c146104ba578063d505accf146102bf578063dd62ed3e146102655763f2fde38b1461016257600080fd5b346102615760206003193601126102615761017b6112e0565b90610184611a95565b73ffffffffffffffffffffffffffffffffffffffff8092169283156101f8575050600554827fffffffffffffffffffffffff0000000000000000000000000000000000000000821617600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08380a380f35b906020608492519162461bcd60e51b8352820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201527f64647265737300000000000000000000000000000000000000000000000000006064820152fd5b8280fd5b5050346102bb57806003193601126102bb57806020926102836112e0565b61028b611308565b73ffffffffffffffffffffffffffffffffffffffff91821683526001865283832091168252845220549051908152f35b5080fd5b508290346102bb5760e06003193601126102bb576102db6112e0565b6102e3611308565b906044359260643560843560ff811681036104b6578142116104735773ffffffffffffffffffffffffffffffffffffffff90818516928389526008602052898920908154916001830190558a519060208201927f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98452868d840152858a1660608401528a608084015260a083015260c082015260c0815260e0810181811067ffffffffffffffff821117610447578b525190206103ef916103e7916103a66118d0565b908c51917f190100000000000000000000000000000000000000000000000000000000000083526002830152602282015260c43591604260a4359220611d32565b919091611dce565b1603610404575061040193945061150b565b80f35b606490602087519162461bcd60e51b8352820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152fd5b60248b6041897f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b60648360208a519162461bcd60e51b8352820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152fd5b8680fd5b509034610261576020600319360112610261578061053a610513610560936101009673ffffffffffffffffffffffffffffffffffffffff6104f96112e0565b168152600b602052209461050c866113b7565b95016113b7565b91518094606080918051845260208101516020850152604081015160408501520151910152565b80516080840152602081015160a0840152604081015160c08401526060015160e0830152565bf35b5050346102bb5760206003193601126102bb5760068160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b168152600b85522001549051908152f35b5050346102bb57806003193601126102bb576020906105d36105c96112e0565b602435903361170f565b5160018152f35b5082346106a457826003193601126106a4576105f46112e0565b918360243592338152600160205281812073ffffffffffffffffffffffffffffffffffffffff8616825260205220549082821061063b576020856105d3858503873361150b565b608490602086519162461bcd60e51b8352820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152fd5b80fd5b509034610261576060600319360112610261577f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944906106e46112e0565b92602435908582604435926106f7611a95565b61078573ffffffffffffffffffffffffffffffffffffffff891680998186528660068a602098600b8a526107758361074e8c60028686200154600b61073b8b611489565b928c8852528d600288882001558d611cf2565b888452600b8d5284842090600382015562015180809c0460018201554281550154956114ca565b958152600b8a5220015586611cf2565b91888a52600b8452868a2092600784015584046005830155429101558351928352820152a280f35b508290346102bb57826003193601126102bb576107c86112e0565b906024359073ffffffffffffffffffffffffffffffffffffffff8084169383853303610996575b5050600a5416330361092b575b82156108c25782845283602052848420549082821061085957508184957fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef936020938688528785520381872055816002540360025551908152a380f35b608490602087519162461bcd60e51b8352820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152fd5b608490602086519162461bcd60e51b8352820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152fd5b81610935336114ca565b1061096f5761095b82610947336114ca565b338752600b60205242848989200155611a08565b338552600b602052600786862001556107fc565b84517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b6109a191339061164c565b86836107ef565b5050346102bb5760206003193601126102bb576020906109ce6109c96112e0565b6114ca565b9051908152f35b50903461026157826003193601126102615780518381949084546109f8816113fa565b9182855260209660019288600182169182600014610a9a575050600114610a3f575b8588610a3b89610a2c848a0385611376565b51928284938452830190611282565b0390f35b815286935091907f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b5b828410610a825750505082010181610a2c610a3b38610a1a565b8054848a018601528895508794909301928101610a68565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168882015294151560051b87019094019450859350610a2c9250610a3b9150389050610a1a565b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600554169051908152f35b509034610261578260031936011261026157610b527f0000000000000000000000000000000000000000000000000000000000000000611afa565b92610b7c7f0000000000000000000000000000000000000000000000000000000000000000611c32565b90825192602092602085019585871067ffffffffffffffff881117610c3f5750926020610bf5838896610be8998b9996528686528151998a997f0f000000000000000000000000000000000000000000000000000000000000008b5260e0868c015260e08b0190611282565b91898303908a0152611282565b924660608801523060808801528460a088015286840360c088015251928381520193925b828110610c2857505050500390f35b835185528695509381019392810192600101610c19565b8360416024927f4e487b7100000000000000000000000000000000000000000000000000000000835252fd5b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610c9f6112e0565b1681526008845220549051908152f35b83346106a457806003193601126106a457610cc8611a95565b8073ffffffffffffffffffffffffffffffffffffffff6005547fffffffffffffffffffffffff00000000000000000000000000000000000000008116600555167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e08280a380f35b5050346102bb5760206003193601126102bb578060209273ffffffffffffffffffffffffffffffffffffffff610d636112e0565b16815280845220549051908152f35b5050346102bb57816003193601126102bb5760209073ffffffffffffffffffffffffffffffffffffffff600a54169051908152f35b5050346102bb5760206003193601126102bb576020906109ce610dc86112e0565b611489565b503461026157602060031936011261026157610de76112e0565b73ffffffffffffffffffffffffffffffffffffffff91827f0000000000000000000000000000000000000000000000000000000000000000163303610e815750916020917ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a39931690817fffffffffffffffffffffffff0000000000000000000000000000000000000000600a541617600a5551908152a180f35b83517f2029e525000000000000000000000000000000000000000000000000000000008152fd5b509034610261578060031936011261026157610ec26112e0565b906024359173ffffffffffffffffffffffffffffffffffffffff9081600a54163303610f80575b16928315610f3e57506020827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef92610f24879560025461144d565b60025585855284835280852082815401905551908152a380f35b6020606492519162461bcd60e51b8352820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152fd5b83610f8a33611489565b10610fc257610fae84610f9c33611489565b338952600b60205242868a2055611a08565b338752600b60205260038488200155610ee9565b8483517f0b6842aa000000000000000000000000000000000000000000000000000000008152fd5b5050346102bb57806003193601126102bb576105d360209261103f61100d6112e0565b913381526001865284812073ffffffffffffffffffffffffffffffffffffffff8416825286528460243591205461144d565b903361150b565b5050346102bb57816003193601126102bb576020906109ce6118d0565b5050346102bb57816003193601126102bb576020905160128152f35b5050346102bb57816003193601126102bb576020905173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b5050346102bb5760606003193601126102bb576020906105d36110f16112e0565b6110f9611308565b6044359161110883338361164c565b61170f565b5050346102bb57816003193601126102bb576020906002549051908152f35b5050346102bb5760206003193601126102bb5760028160209373ffffffffffffffffffffffffffffffffffffffff6105986112e0565b5050346102bb57806003193601126102bb576020906105d36111826112e0565b602435903361150b565b8484346102bb57816003193601126102bb5782826003546111ac816113fa565b908184526020956001918760018216918260001461123d5750506001146111e1575b505050610a3b9291610a2c910385611376565b9190869350600383527fc2575a0e9e593c00f959f8c92f12db2869c3395a3b0502d05e2516446f71f85b5b8284106112255750505082010181610a2c610a3b6111ce565b8054848a01860152889550879490930192810161120c565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00168782015293151560051b86019093019350849250610a2c9150610a3b90506111ce565b919082519283825260005b8481106112cc5750507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f8460006020809697860101520116010190565b60208183018101518483018201520161128d565b6004359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b600080fd5b6024359073ffffffffffffffffffffffffffffffffffffffff8216820361130357565b6040810190811067ffffffffffffffff82111761134757604052565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b90601f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0910116810190811067ffffffffffffffff82111761134757604052565b906040516080810181811067ffffffffffffffff821117611347576040526060600382948054845260018101546020850152600281015460408501520154910152565b90600182811c92168015611443575b602083101461141457565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b91607f1691611409565b9190820180921161145a57565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060038101549060028101546001825492015492611a15565b90565b73ffffffffffffffffffffffffffffffffffffffff16600052600b6020526114c7604060002060078101549060068101546005600483015492015492611a15565b73ffffffffffffffffffffffffffffffffffffffff8091169182156115e357169182156115795760207f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925918360005260018252604060002085600052825280604060002055604051908152a3565b608460405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152fd5b9073ffffffffffffffffffffffffffffffffffffffff80831660005260016020526040600020908216600052602052604060002054927fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84036116b0575b50505050565b8084106116cb576116c293039161150b565b388080806116aa565b606460405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152fd5b73ffffffffffffffffffffffffffffffffffffffff80911691821561186657169182156117fc5760008281528060205260408120549180831061179257604082827fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef958760209652828652038282205586815220818154019055604051908152a3565b608460405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152fd5b608460405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152fd5b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806119df575b15611938577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a0815260c0810181811067ffffffffffffffff8211176113475760405251902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461190f565b9190820391821161145a57565b909193928194838314600014611a2b5750505050565b62015180810180821161145a57421080611a485750929450505050565b611a525750505050565b611a6191929394955042611a08565b81810291818304149015171561145a57611a7a9161144d565b81811115611a8e57505b90388080806116aa565b9050611a84565b73ffffffffffffffffffffffffffffffffffffffff600554163303611ab657565b606460405162461bcd60e51b815260206004820152602060248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152fd5b60ff8114611b505760ff811690601f8211611b265760405191611b1c8361132b565b8252602082015290565b60046040517fb3512b0c000000000000000000000000000000000000000000000000000000008152fd5b50604051600654816000611b63836113fa565b80835292602090600190818116908115611bef5750600114611b8e575b50506114c792500382611376565b91509260066000527ff652222313e28459528d920b65115c16c04f3efc82aaedc97be59f3f377c0d3f936000925b828410611bd757506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611bbc565b9050602093506114c79592507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091501682840152151560051b8201013880611b80565b60ff8114611c545760ff811690601f8211611b265760405191611b1c8361132b565b50604051600754816000611c67836113fa565b80835292602090600190818116908115611bef5750600114611c915750506114c792500382611376565b91509260076000527fa66cc928b5edb82af9bd49922954155ab7b0942694bea4ce44661d9a8736c688936000925b828410611cda57506114c79450505081016020013880611b80565b85548785018301529485019486945092810192611cbf565b90919080831115611d1f57611d079192611a08565b80821115611d18576114c791611a08565b5050600090565b6114c792611d2c91611a08565b9061144d565b9291907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311611dc25791608094939160ff602094604051948552168484015260408301526060820152600093849182805260015afa15611db557815173ffffffffffffffffffffffffffffffffffffffff811615611daf579190565b50600190565b50604051903d90823e3d90fd5b50505050600090600390565b6005811015611eea5780611ddf5750565b60018103611e2b57606460405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152fd5b60028103611e7757606460405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152fd5b600314611e8057565b608460405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fdfea26469706673582212207e8651170a6539260824a3a7c2b8f5a09e1b6b29338d35882fae3442ac5988fc64736f6c63430008170033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000b913be186110b1119d5b9582f316f142c908fc250000000000000000000000000000000000000000000000000000000000000025427269646765642057726170706564204d6f756e7461696e2050726f746f636f6c205553440000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007775553444d2e6500000000000000000000000000000000000000000000000000