[ { "inputs": [], "stateMutability": "payable", "type": "constructor" }, { "inputs": [], "name": "IXERC20_NotFactory", "type": "error" }, { "inputs": [], "name": "IXERC20_NotHighEnoughLimits", "type": "error" }, { "inputs": [], "name": "IXERC20_WrongBridgeLimit", "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": [ { "indexed": false, "internalType": "uint8", "name": "version", "type": "uint8" } ], "name": "Initialized", "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": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "address", "name": "_factory", "type": "address" } ], "name": "initialize", "outputs": [], "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": "setBridgeLimits", "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" } ]
608060405261000c610011565b6100d1565b600054610100900460ff161561007d5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff90811610156100cf576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b611f10806100e06000396000f3fe608060405234801561001057600080fd5b50600436106101cf5760003560e01c806366cc5702116101045780639dc29fac116100a2578063ced67f0c11610071578063ced67f0c1461040a578063d505accf1461049d578063dd62ed3e146104b0578063f2fde38b146104c357600080fd5b80639dc29fac146103a4578063a457c2d7146103b7578063a9059cbb146103ca578063c1eb7137146103dd57600080fd5b80637ecebe00116100de5780637ecebe00146103655780638da5cb5b1461037857806395d89b4114610389578063998955d31461039157600080fd5b806366cc57021461032157806370a0823114610334578063715018a61461035d57600080fd5b8063313ce5671161017157806340c10f191161014b57806340c10f19146102d5578063435350b7146102e857806363a0daac146102fb578063651fd2681461030e57600080fd5b8063313ce567146102ab5780633644e515146102ba57806339509351146102c257600080fd5b80630c05f82c116101ad5780630c05f82c1461022a57806318160ddd1461026557806323b872dd1461026d5780632dd310001461028057600080fd5b806306fdde03146101d4578063077f224a146101f2578063095ea7b314610207575b600080fd5b6101dc6104d6565b6040516101e9919061199b565b60405180910390f35b610205610200366004611aa8565b610568565b005b61021a610215366004611b1c565b6106af565b60405190151581526020016101e9565b610257610238366004611b46565b6001600160a01b03166000908152610100602052604090206002015490565b6040519081526020016101e9565b603554610257565b61021a61027b366004611b61565b6106c9565b60fe54610293906001600160a01b031681565b6040516001600160a01b0390911681526020016101e9565b604051601281526020016101e9565b6102576106ef565b61021a6102d0366004611b1c565b6106fe565b6102056102e3366004611b1c565b610720565b6102056102f6366004611b46565b61072f565b610205610309366004611b9d565b61078b565b61025761031c366004611b46565b6107f0565b60ff54610293906001600160a01b031681565b610257610342366004611b46565b6001600160a01b031660009081526033602052604090205490565b610205610825565b610257610373366004611b46565b610839565b6065546001600160a01b0316610293565b6101dc610857565b61025761039f366004611b46565b610866565b6102056103b2366004611b1c565b61089e565b61021a6103c5366004611b1c565b6108a9565b61021a6103d8366004611b1c565b61092f565b6102576103eb366004611b46565b6001600160a01b03166000908152610100602052604090206006015490565b61048f610418366004611b46565b610100602090815260009182526040918290208251608080820185528254825260018301548285015260028301548286015260038301546060808401919091528551918201865260048401548252600584015494820194909452600683015494810194909452600790910154918301919091529082565b6040516101e9929190611bd0565b6102056104ab366004611c1c565b61093d565b6102576104be366004611c8f565b610aa1565b6102056104d1366004611b46565b610acc565b6060603680546104e590611cc2565b80601f016020809104026020016040519081016040528092919081815260200182805461051190611cc2565b801561055e5780601f106105335761010080835404028352916020019161055e565b820191906000526020600020905b81548152906001019060200180831161054157829003601f168201915b5050505050905090565b600054610100900460ff16158080156105885750600054600160ff909116105b806105a25750303b1580156105a2575060005460ff166001145b61060a5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b60648201526084015b60405180910390fd5b6000805460ff19166001179055801561062d576000805461ff0019166101001790555b6106378484610b45565b61063f610b76565b61064884610ba5565b60fe80546001600160a01b0319166001600160a01b03841617905580156106a9576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b50505050565b6000336106bd818585610bef565b60019150505b92915050565b6000336106d7858285610d13565b6106e2858585610d87565b60019150505b9392505050565b60006106f9610f32565b905090565b6000336106bd8185856107118383610aa1565b61071b9190611d0c565b610bef565b61072b338383610fad565b5050565b61073761100b565b60ff80546001600160a01b0319166001600160a01b0383169081179091556040519081527ffa2e15ea41196e438f0593ecdd6036acd83bdfcd39d627b77c17eab43f376a399060200160405180910390a150565b61079361100b565b61079d8383611065565b6107a7838261113d565b60408051838152602081018390526001600160a01b038516917f93f3bbfe8cfb354ec059175107653f49f6eb479a8622a7d83866ea015435c944910160405180910390a2505050565b6001600160a01b0381166000908152610100602052604081206003810154600282015482546001909301546106c3939061121b565b61082d61100b565b6108376000611293565b565b6001600160a01b038116600090815260cb60205260408120546106c3565b6060603780546104e590611cc2565b6001600160a01b0381166000908152610100602052604081206007810154600682015460048301546005909301546106c3939061121b565b61072b3383836112e5565b600033816108b78286610aa1565b9050838110156109175760405162461bcd60e51b815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77604482015264207a65726f60d81b6064820152608401610601565b6109248286868403610bef565b506001949350505050565b6000336106bd818585610d87565b8342111561098d5760405162461bcd60e51b815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610601565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886109bc8c61133e565b6040805160208101969096526001600160a01b0394851690860152929091166060840152608083015260a082015260c0810186905260e0016040516020818303038152906040528051906020012090506000610a1782611366565b90506000610a27828787876113b4565b9050896001600160a01b0316816001600160a01b031614610a8a5760405162461bcd60e51b815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610601565b610a958a8a8a610bef565b50505050505050505050565b6001600160a01b03918216600090815260346020908152604080832093909416825291909152205490565b610ad461100b565b6001600160a01b038116610b395760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610601565b610b4281611293565b50565b600054610100900460ff16610b6c5760405162461bcd60e51b815260040161060190611d1f565b61072b82826113dc565b600054610100900460ff16610b9d5760405162461bcd60e51b815260040161060190611d1f565b61083761141c565b600054610100900460ff16610bcc5760405162461bcd60e51b815260040161060190611d1f565b610b4281604051806040016040528060018152602001603160f81b81525061144c565b6001600160a01b038316610c515760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610601565b6001600160a01b038216610cb25760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610601565b6001600160a01b0383811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b6000610d1f8484610aa1565b905060001981146106a95781811015610d7a5760405162461bcd60e51b815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610601565b6106a98484848403610bef565b6001600160a01b038316610deb5760405162461bcd60e51b815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604482015264647265737360d81b6064820152608401610601565b6001600160a01b038216610e4d5760405162461bcd60e51b815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201526265737360e81b6064820152608401610601565b6001600160a01b03831660009081526033602052604090205481811015610ec55760405162461bcd60e51b815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e7420657863656564732062604482015265616c616e636560d01b6064820152608401610601565b6001600160a01b0380851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90610f259086815260200190565b60405180910390a36106a9565b60006106f97f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f610f6160975490565b6098546040805160208101859052908101839052606081018290524660808201523060a082015260009060c0016040516020818303038152906040528051906020012090509392505050565b60ff546001600160a01b03848116911614610ffc576000610fcd846107f0565b905081811015610ff0576040516305b4215560e11b815260040160405180910390fd5b610ffa848361148d565b505b61100682826114e5565b505050565b6065546001600160a01b031633146108375760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610601565b62015180811080156110775750600081115b156110955760405163827ca4c160e01b815260040160405180910390fd5b6001600160a01b03821660009081526101006020526040812060020154906110bc846107f0565b6001600160a01b03851660009081526101006020526040902060020184905590506110e88383836115a6565b6001600160a01b038516600090815261010060205260409020600301556111126201518084611d6a565b6001600160a01b03909416600090815261010060205260409020600181019490945550504290915550565b620151808110801561114f5750600081115b1561116d5760405163827ca4c160e01b815260040160405180910390fd5b6001600160a01b038216600090815261010060205260408120600601549061119484610866565b6001600160a01b03851660009081526101006020526040902060060184905590506111c08383836115a6565b6001600160a01b038516600090815261010060205260409020600701556111ea6201518084611d6a565b6001600160a01b03909416600090815261010060205260409020600581019490945550504260049092019190915550565b8383811461128b57426112316201518085611d0c565b1161123d57508261128b565b4261124b6201518085611d0c565b111561128b57600061125d8442611d8c565b9050600061126b8483611d9f565b6112759084611d0c565b90508581116112845780611286565b855b925050505b949350505050565b606580546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b60ff546001600160a01b0384811691161461133457600061130584610866565b905081811015611328576040516305b4215560e11b815260040160405180910390fd5b61133284836115fd565b505b6110068282611659565b6001600160a01b038116600090815260cb602052604090208054600181018255905b50919050565b60006106c3611373610f32565b8360405161190160f01b6020820152602281018390526042810182905260009060620160405160208183030381529060405280519060200120905092915050565b60008060006113c58787878761178d565b915091506113d281611851565b5095945050505050565b600054610100900460ff166114035760405162461bcd60e51b815260040161060190611d1f565b603661140f8382611e04565b5060376110068282611e04565b600054610100900460ff166114435760405162461bcd60e51b815260040161060190611d1f565b61083733611293565b600054610100900460ff166114735760405162461bcd60e51b815260040161060190611d1f565b815160209283012081519190920120609791909155609855565b6000611498836107f0565b6001600160a01b03841660009081526101006020526040902042905590506114c08282611d8c565b6001600160a01b03909316600090815261010060205260409020600301929092555050565b6001600160a01b03821661153b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610601565b806035600082825461154d9190611d0c565b90915550506001600160a01b0382166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b600080848411156115dc576115bb8585611d8c565b90508083116115cb5760006115d5565b6115d58184611d8c565b91506115f5565b6115e68486611d8c565b90506115f28184611d0c565b91505b509392505050565b600061160883610866565b6001600160a01b0384166000908152610100602052604090204260049091015590506116348282611d8c565b6001600160a01b03909316600090815261010060205260409020600701929092555050565b6001600160a01b0382166116b95760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610601565b6001600160a01b0382166000908152603360205260409020548181101561172d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e604482015261636560f01b6064820152608401610601565b6001600160a01b03831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08311156117c45750600090506003611848565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa158015611818573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b03811661184157600060019250925050611848565b9150600090505b94509492505050565b600081600481111561186557611865611ec4565b0361186d5750565b600181600481111561188157611881611ec4565b036118ce5760405162461bcd60e51b815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610601565b60028160048111156118e2576118e2611ec4565b0361192f5760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610601565b600381600481111561194357611943611ec4565b03610b425760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610601565b600060208083528351808285015260005b818110156119c8578581018301518582016040015282016119ac565b506000604082860101526040601f19601f8301168501019250505092915050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112611a1057600080fd5b813567ffffffffffffffff80821115611a2b57611a2b6119e9565b604051601f8301601f19908116603f01168101908282118183101715611a5357611a536119e9565b81604052838152866020858801011115611a6c57600080fd5b836020870160208301376000602085830101528094505050505092915050565b80356001600160a01b0381168114611aa357600080fd5b919050565b600080600060608486031215611abd57600080fd5b833567ffffffffffffffff80821115611ad557600080fd5b611ae1878388016119ff565b94506020860135915080821115611af757600080fd5b50611b04868287016119ff565b925050611b1360408501611a8c565b90509250925092565b60008060408385031215611b2f57600080fd5b611b3883611a8c565b946020939093013593505050565b600060208284031215611b5857600080fd5b6106e882611a8c565b600080600060608486031215611b7657600080fd5b611b7f84611a8c565b9250611b8d60208501611a8c565b9150604084013590509250925092565b600080600060608486031215611bb257600080fd5b611bbb84611a8c565b95602085013595506040909401359392505050565b82518152602080840151818301526040808501518184015260608086015181850152845160808501529184015160a084015283015160c083015282015160e082015261010081016106e8565b600080600080600080600060e0888a031215611c3757600080fd5b611c4088611a8c565b9650611c4e60208901611a8c565b95506040880135945060608801359350608088013560ff81168114611c7257600080fd5b9699959850939692959460a0840135945060c09093013592915050565b60008060408385031215611ca257600080fd5b611cab83611a8c565b9150611cb960208401611a8c565b90509250929050565b600181811c90821680611cd657607f821691505b60208210810361136057634e487b7160e01b600052602260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b808201808211156106c3576106c3611cf6565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b600082611d8757634e487b7160e01b600052601260045260246000fd5b500490565b818103818111156106c3576106c3611cf6565b80820281158282048414176106c3576106c3611cf6565b601f82111561100657600081815260208120601f850160051c81016020861015611ddd5750805b601f850160051c820191505b81811015611dfc57828155600101611de9565b505050505050565b815167ffffffffffffffff811115611e1e57611e1e6119e9565b611e3281611e2c8454611cc2565b84611db6565b602080601f831160018114611e675760008415611e4f5750858301515b600019600386901b1c1916600185901b178555611dfc565b600085815260208120601f198616915b82811015611e9657888601518255948401946001909101908401611e77565b5085821015611eb45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052602160045260246000fdfea26469706673582212203f587567dfe7f422a41b7b867e89b70db2377e02d240d258da4cf99d49a3f20c64736f6c63430008140033