[ { "inputs": [], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "previousAdmin", "type": "address" }, { "indexed": false, "internalType": "address", "name": "newAdmin", "type": "address" } ], "name": "AdminChanged", "type": "event" }, { "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": true, "internalType": "address", "name": "beacon", "type": "address" } ], "name": "BeaconUpgraded", "type": "event" }, { "anonymous": false, "inputs": [], "name": "EIP712DomainChanged", "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": "account", "type": "address" } ], "name": "Paused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "previousAdminRole", "type": "bytes32" }, { "indexed": true, "internalType": "bytes32", "name": "newAdminRole", "type": "bytes32" } ], "name": "RoleAdminChanged", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleGranted", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "sender", "type": "address" } ], "name": "RoleRevoked", "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" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "address", "name": "account", "type": "address" } ], "name": "Unpaused", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "implementation", "type": "address" } ], "name": "Upgraded", "type": "event" }, { "inputs": [], "name": "CONTRACT_VERSION", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "CONTROLLED_ACCESS_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DEFAULT_ADMIN_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "DOMAIN_SEPARATOR", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MINTER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "MODERATOR_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "PAUSER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "UPGRADER_ROLE", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" } ], "name": "allow", "outputs": [], "stateMutability": "nonpayable", "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": "uint256", "name": "amount", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "burnFrom", "outputs": [], "stateMutability": "nonpayable", "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": "accounts", "type": "address[]" } ], "name": "deny", "outputs": [], "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": "bytes32", "name": "role", "type": "bytes32" } ], "name": "getRoleAdmin", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "grantRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasRole", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "spender", "type": "address" }, { "internalType": "uint256", "name": "addedValue", "type": "uint256" } ], "name": "increaseAllowance", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "name_", "type": "string" }, { "internalType": "string", "name": "symbol_", "type": "string" }, { "internalType": "address", "name": "automator_", "type": "address" }, { "internalType": "address", "name": "client_", "type": "address" }, { "internalType": "address", "name": "defaultAdmin_", "type": "address" }, { "internalType": "address", "name": "upgrader_", "type": "address" }, { "internalType": "enum BraleToken.ControlledAccessType", "name": "controlledAccessType_", "type": "uint8" } ], "name": "initialize", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "isAllowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "amount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "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": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": "proxiableUUID", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "renounceRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes32", "name": "role", "type": "bytes32" }, { "internalType": "address", "name": "account", "type": "address" } ], "name": "revokeRole", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bytes4", "name": "interfaceId", "type": "bytes4" } ], "name": "supportsInterface", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "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": [], "name": "unpause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" } ], "name": "upgradeTo", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newImplementation", "type": "address" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "upgradeToAndCall", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60a0604052306080523480156200001557600080fd5b50600054610100900460ff1615808015620000375750600054600160ff909116105b8062000067575062000054306200014160201b620021291760201c565b15801562000067575060005460ff166001145b620000cf5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b606482015260840160405180910390fd5b6000805460ff191660011790558015620000f3576000805461ff0019166101001790555b80156200013a576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5062000150565b6001600160a01b03163b151590565b608051614e226200018860003960008181610dbc01528181610e6c015281816112b30152818161136301526114a80152614e226000f3fe6080604052600436106102c65760003560e01c806370a0823111610179578063a217fddf116100d6578063d505accf1161008a578063dd62ed3e11610064578063dd62ed3e1461081b578063e63ab1e91461086e578063f72c0d8b146108a257600080fd5b8063d505accf146107a7578063d5391393146107c7578063d547741f146107fb57600080fd5b8063a9059cbb116100bb578063a9059cbb14610747578063babcc53914610767578063c9892a5f1461078757600080fd5b8063a217fddf14610712578063a457c2d71461072757600080fd5b806384b0196e1161012d57806395d89b411161011257806395d89b41146106bd578063987c5ced146106d25780639884f090146106f257600080fd5b806384b0196e1461064257806391d148541461066a57600080fd5b806379cc67901161015e57806379cc6790146105ed5780637ecebe001461060d5780638456cb591461062d57600080fd5b806370a0823114610576578063797669c9146105b957600080fd5b80633659cfe61161022757806342966c68116101db57806352d1902d116101c057806352d1902d146105155780635c975abb1461052a57806363e849cb1461054257600080fd5b806342966c68146104e25780634f1ef2861461050257600080fd5b8063395093511161020c578063395093511461048d5780633f4ba83a146104ad57806340c10f19146104c257600080fd5b80633659cfe61461042457806338b903331461044457600080fd5b8063248a9ca31161027e578063313ce56711610263578063313ce567146103d35780633644e515146103ef57806336568abe1461040457600080fd5b8063248a9ca3146103815780632f2ff15d146103b157600080fd5b8063095ea7b3116102af578063095ea7b31461032257806318160ddd1461034257806323b872dd1461036157600080fd5b806301ffc9a7146102cb57806306fdde0314610300575b600080fd5b3480156102d757600080fd5b506102eb6102e6366004614415565b6108d6565b60405190151581526020015b60405180910390f35b34801561030c57600080fd5b5061031561096f565b6040516102f791906144c5565b34801561032e57600080fd5b506102eb61033d3660046144fc565b610a01565b34801561034e57600080fd5b506035545b6040519081526020016102f7565b34801561036d57600080fd5b506102eb61037c366004614526565b610c95565b34801561038d57600080fd5b5061035361039c366004614562565b600090815260fb602052604090206001015490565b3480156103bd57600080fd5b506103d16103cc36600461457b565b610cb9565b005b3480156103df57600080fd5b50604051601281526020016102f7565b3480156103fb57600080fd5b50610353610ce3565b34801561041057600080fd5b506103d161041f36600461457b565b610cf2565b34801561043057600080fd5b506103d161043f3660046145a7565b610da5565b34801561045057600080fd5b506103156040518060400160405280600581526020017f302e312e3700000000000000000000000000000000000000000000000000000081525081565b34801561049957600080fd5b506102eb6104a83660046144fc565b610faa565b3480156104b957600080fd5b506103d161122c565b3480156104ce57600080fd5b506103d16104dd3660046144fc565b61125e565b3480156104ee57600080fd5b506103d16104fd366004614562565b611292565b6103d1610510366004614685565b61129c565b34801561052157600080fd5b5061035361148e565b34801561053657600080fd5b5060975460ff166102eb565b34801561054e57600080fd5b506103537f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a81565b34801561058257600080fd5b506103536105913660046145a7565b73ffffffffffffffffffffffffffffffffffffffff1660009081526033602052604090205490565b3480156105c557600080fd5b506103537f71f3d55856e4058ed06ee057d79ada615f65cdf5f9ee88181b914225088f834f81565b3480156105f957600080fd5b506103d16106083660046144fc565b61157a565b34801561061957600080fd5b506103536106283660046145a7565b61158f565b34801561063957600080fd5b506103d16115bb565b34801561064e57600080fd5b506106576115ed565b6040516102f797969594939291906146e7565b34801561067657600080fd5b506102eb61068536600461457b565b600091825260fb6020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b3480156106c957600080fd5b506103156116cb565b3480156106de57600080fd5b506103d16106ed3660046147a6565b6116da565b3480156106fe57600080fd5b506103d161070d36600461483b565b611803565b34801561071e57600080fd5b50610353600081565b34801561073357600080fd5b506102eb6107423660046144fc565b611b5f565b34801561075357600080fd5b506102eb6107623660046144fc565b611cae565b34801561077357600080fd5b506102eb6107823660046145a7565b611cc6565b34801561079357600080fd5b506103d16107a23660046147a6565b611d85565b3480156107b357600080fd5b506103d16107c23660046148fa565b611e74565b3480156107d357600080fd5b506103537f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b34801561080757600080fd5b506103d161081636600461457b565b612104565b34801561082757600080fd5b5061035361083636600461496d565b73ffffffffffffffffffffffffffffffffffffffff918216600090815260346020908152604080832093909416825291909152205490565b34801561087a57600080fd5b506103537f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a81565b3480156108ae57600080fd5b506103537f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e381565b60007fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b00000000000000000000000000000000000000000000000000000000148061096957507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff000000000000000000000000000000000000000000000000000000008316145b92915050565b60606036805461097e90614997565b80601f01602080910402602001604051908101604052809291908181526020018280546109aa90614997565b80156109f75780601f106109cc576101008083540402835291602001916109f7565b820191906000526020600020905b8154815290600101906020018083116109da57829003601f168201915b5050505050905090565b60003360016101f85460ff166001811115610a1e57610a1e6149e4565b03610abb5773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16610a7482612145565b90610ab5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b60405180910390fd5b50610b47565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1615610b0d82612145565b90610b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b8360016101f85460ff166001811115610b6257610b626149e4565b03610bf65773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16610bb882612145565b90610bf0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b50610c82565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1615610c4882612145565b90610c80576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b610c8c85856121ba565b95945050505050565b600033610ca38582856121c8565b610cae858585612299565b506001949350505050565b600082815260fb6020526040902060010154610cd48161251a565b610cde8383612524565b505050565b6000610ced612618565b905090565b73ffffffffffffffffffffffffffffffffffffffff81163314610d97576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201527f20726f6c657320666f722073656c6600000000000000000000000000000000006064820152608401610aac565b610da18282612622565b5050565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003610e6a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610aac565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16610edf7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614610f82576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610aac565b610f8b816126dd565b60408051600080825260208201909252610fa791839190612707565b50565b60003360016101f85460ff166001811115610fc757610fc76149e4565b0361105b5773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1661101d82612145565b90611055576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b506110e7565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16156110ad82612145565b906110e5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b8360016101f85460ff166001811115611102576111026149e4565b036111965773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1661115882612145565b90611190576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b50611222565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16156111e882612145565b90611220576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b610c8c8585612906565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6112568161251a565b610fa7612952565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66112888161251a565b610cde83836129cf565b610fa73382612ad0565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163003611361576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f64656c656761746563616c6c00000000000000000000000000000000000000006064820152608401610aac565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff166113d67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614611479576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602c60248201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060448201527f6163746976652070726f787900000000000000000000000000000000000000006064820152608401610aac565b611482826126dd565b610da182826001612707565b60003073ffffffffffffffffffffffffffffffffffffffff7f00000000000000000000000000000000000000000000000000000000000000001614611555576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c60448201527f6c6564207468726f7567682064656c656761746563616c6c00000000000000006064820152608401610aac565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc90565b6115858233836121c8565b610da18282612ad0565b73ffffffffffffffffffffffffffffffffffffffff811660009081526101616020526040812054610969565b7f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a6115e58161251a565b610fa7612ca2565b60006060806000806000606061012d546000801b14801561160f575061012e54155b611675576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601560248201527f4549503731323a20556e696e697469616c697a656400000000000000000000006044820152606401610aac565b61167d612cfd565b611685612d0d565b604080516000808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b60606037805461097e90614997565b7f71f3d55856e4058ed06ee057d79ada615f65cdf5f9ee88181b914225088f834f6117048161251a565b60016101f85460ff16600181111561171e5761171e6149e4565b036117965760005b828110156117905761177e7f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a85858481811061176457611764614a13565b905060200201602081019061177991906145a7565b612524565b8061178881614a71565b915050611726565b50505050565b60005b82811015611790576117f17f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a8585848181106117d7576117d7614a13565b90506020020160208101906117ec91906145a7565b612622565b806117fb81614a71565b915050611799565b600054610100900460ff16158080156118235750600054600160ff909116105b8061183d5750303b15801561183d575060005460ff166001145b6118c9576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610aac565b600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00166001179055801561192757600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790555b6119318888612d1d565b611939612dbe565b611941612e57565b611949612dbe565b61195288612ef6565b61195a612dbe565b6101f880548391907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660018381811115611997576119976149e4565b021790555060018260018111156119b0576119b06149e4565b03611a34576119e07f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a6000612524565b611a0a7f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a87612524565b611a347f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a86612524565b611a5e7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a687612524565b611a887f71f3d55856e4058ed06ee057d79ada615f65cdf5f9ee88181b914225088f834f87612524565b611ab27f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a87612524565b611adc7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e384612524565b611ae7600085612524565b611af2600033612622565b8015611b5557600080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b5050505050505050565b60003360016101f85460ff166001811115611b7c57611b7c6149e4565b03611c105773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16611bd282612145565b90611c0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b50611c9c565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1615611c6282612145565b90611c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b611ca68484612fcc565b949350505050565b600033611cbc818585612299565b5060019392505050565b600060016101f85460ff166001811115611ce257611ce26149e4565b03611d345773ffffffffffffffffffffffffffffffffffffffff821660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16610969565b5073ffffffffffffffffffffffffffffffffffffffff1660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff161590565b919050565b7f71f3d55856e4058ed06ee057d79ada615f65cdf5f9ee88181b914225088f834f611daf8161251a565b60016101f85460ff166001811115611dc957611dc96149e4565b03611e215760005b8281101561179057611e0f7f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a8585848181106117d7576117d7614a13565b80611e1981614a71565b915050611dd1565b60005b8281101561179057611e627f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a85858481811061176457611764614a13565b80611e6c81614a71565b915050611e24565b8660016101f85460ff166001811115611e8f57611e8f6149e4565b03611f235773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16611ee582612145565b90611f1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b50611faf565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1615611f7582612145565b90611fad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b8660016101f85460ff166001811115611fca57611fca6149e4565b0361205e5773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1661202082612145565b90612058576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b506120ea565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff16156120b082612145565b906120e8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b6120f98989898989898961309d565b505050505050505050565b600082815260fb602052604090206001015461211f8161251a565b610cde8383612622565b73ffffffffffffffffffffffffffffffffffffffff163b151590565b60606121688273ffffffffffffffffffffffffffffffffffffffff16601461325c565b6121937f122c3c5f9caf2fe2940018f2188acecda5c38f4da0bc5e215c7a38055432bb6a602061325c565b6040516020016121a4929190614aa9565b6040516020818303038152906040529050919050565b600033611cbc8185856134a6565b73ffffffffffffffffffffffffffffffffffffffff8381166000908152603460209081526040808320938616835292905220547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611790578181101561228c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006044820152606401610aac565b61179084848484036134a6565b73ffffffffffffffffffffffffffffffffffffffff831661233c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a207472616e736665722066726f6d20746865207a65726f20616460448201527f64726573730000000000000000000000000000000000000000000000000000006064820152608401610aac565b73ffffffffffffffffffffffffffffffffffffffff82166123df576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602360248201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260448201527f65737300000000000000000000000000000000000000000000000000000000006064820152608401610aac565b6123ea838383613659565b73ffffffffffffffffffffffffffffffffffffffff8316600090815260336020526040902054818110156124a0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602660248201527f45524332303a207472616e7366657220616d6f756e742065786365656473206260448201527f616c616e636500000000000000000000000000000000000000000000000000006064820152608401610aac565b73ffffffffffffffffffffffffffffffffffffffff80851660008181526033602052604080822086860390559286168082529083902080548601905591517fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9061250d9086815260200190565b60405180910390a3611790565b610fa781336138de565b600082815260fb6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610da157600082815260fb6020908152604080832073ffffffffffffffffffffffffffffffffffffffff85168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556125ba3390565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b6000610ced613998565b600082815260fb6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff1615610da157600082815260fb6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b7f189ab7a9244df0848122154315af71fe140f3db0fe014031783b0946b8c9d2e3610da18161251a565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff161561273a57610cde83613a0c565b8273ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa9250505080156127bf575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe01682019092526127bc91810190614b50565b60015b61284b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201527f6f6e206973206e6f7420555550530000000000000000000000000000000000006064820152608401610aac565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc81146128fa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f7860448201527f6961626c655555494400000000000000000000000000000000000000000000006064820152608401610aac565b50610cde838383613b16565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152812054909190611cbc908290869061294d908790614b69565b6134a6565b61295a613b3b565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b60405173ffffffffffffffffffffffffffffffffffffffff909116815260200160405180910390a1565b73ffffffffffffffffffffffffffffffffffffffff8216612a4c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610aac565b612a5860008383613659565b8060356000828254612a6a9190614b69565b909155505073ffffffffffffffffffffffffffffffffffffffff82166000818152603360209081526040808320805486019055518481527fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b73ffffffffffffffffffffffffffffffffffffffff8216612b73576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360448201527f73000000000000000000000000000000000000000000000000000000000000006064820152608401610aac565b612b7f82600083613659565b73ffffffffffffffffffffffffffffffffffffffff821660009081526033602052604090205481811015612c35576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60448201527f63650000000000000000000000000000000000000000000000000000000000006064820152608401610aac565b73ffffffffffffffffffffffffffffffffffffffff831660008181526033602090815260408083208686039055603580548790039055518581529192917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a3505050565b612caa613ba7565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a2586129a53390565b606061012f805461097e90614997565b6060610130805461097e90614997565b600054610100900460ff16612db4576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610aac565b610da18282613c14565b600054610100900460ff16612e55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610aac565b565b600054610100900460ff16612eee576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610aac565b612e55613cc4565b600054610100900460ff16612f8d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610aac565b610fa7816040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250613d85565b33600081815260346020908152604080832073ffffffffffffffffffffffffffffffffffffffff8716845290915281205490919083811015613090576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602560248201527f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760448201527f207a65726f0000000000000000000000000000000000000000000000000000006064820152608401610aac565b610cae82868684036134a6565b83421115613107576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f45524332305065726d69743a206578706972656420646561646c696e650000006044820152606401610aac565b60007f6e71edae12b1b97f4d1f60370fef10105fa2faae0126114a169c64845d6126c98888886131368c613e48565b60408051602081019690965273ffffffffffffffffffffffffffffffffffffffff94851690860152929091166060840152608083015260a082015260c0810186905260e001604051602081830303815290604052805190602001209050600061319e82613e7e565b905060006131ae82878787613ec6565b90508973ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614613245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601e60248201527f45524332305065726d69743a20696e76616c6964207369676e617475726500006044820152606401610aac565b6132508a8a8a6134a6565b50505050505050505050565b6060600061326b836002614b7c565b613276906002614b69565b67ffffffffffffffff81111561328e5761328e6145c2565b6040519080825280601f01601f1916602001820160405280156132b8576020820181803683370190505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106132ef576132ef614a13565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061335257613352614a13565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600061338e846002614b7c565b613399906001614b69565b90505b6001811115613436577f303132333435363738396162636465660000000000000000000000000000000085600f16601081106133da576133da614a13565b1a60f81b8282815181106133f0576133f0614a13565b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060049490941c9361342f81614b93565b905061339c565b50831561349f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610aac565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff8316613548576040517f08c379a0000000000000000000000000000000000000000000000000000000008152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460448201527f72657373000000000000000000000000000000000000000000000000000000006064820152608401610aac565b73ffffffffffffffffffffffffffffffffffffffff82166135eb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f20616464726560448201527f73730000000000000000000000000000000000000000000000000000000000006064820152608401610aac565b73ffffffffffffffffffffffffffffffffffffffff83811660008181526034602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b613661613ba7565b8260016101f85460ff16600181111561367c5761367c6149e4565b036137105773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff166136d282612145565b9061370a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b5061379c565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff161561376282612145565b9061379a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b8260016101f85460ff1660018111156137b7576137b76149e4565b0361384b5773ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff1661380d82612145565b90613845576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b506138d7565b73ffffffffffffffffffffffffffffffffffffffff811660009081527fb529720f30c35c401a0925da82c86fd1ca747d36f28afbaa002c440d37bff59a602052604090205460ff161561389d82612145565b906138d5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b505b5050505050565b600082815260fb6020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16610da15761391e81613eee565b61392983602061325c565b60405160200161393a929190614bc8565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152908290527f08c379a0000000000000000000000000000000000000000000000000000000008252610aac916004016144c5565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6139c3613f11565b6139cb613f6b565b60408051602081019490945283019190915260608201524660808201523060a082015260c00160405160208183030381529060405280519060200120905090565b73ffffffffffffffffffffffffffffffffffffffff81163b613ab0576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201527f6f74206120636f6e7472616374000000000000000000000000000000000000006064820152608401610aac565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b613b1f83613f9d565b600082511180613b2c5750805b15610cde576117908383613fea565b60975460ff16612e55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610aac565b60975460ff1615612e55576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610aac565b600054610100900460ff16613cab576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610aac565b6036613cb78382614c8f565b506037610cde8282614c8f565b600054610100900460ff16613d5b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610aac565b609780547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b600054610100900460ff16613e1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610aac565b61012f613e298382614c8f565b50610130613e378282614c8f565b5050600061012d81905561012e5550565b73ffffffffffffffffffffffffffffffffffffffff81166000908152610161602052604090208054600181018255905b50919050565b6000610969613e8b612618565b836040517f19010000000000000000000000000000000000000000000000000000000000008152600281019290925260228201526042902090565b6000806000613ed78787878761400f565b91509150613ee4816140fe565b5095945050505050565b606061096973ffffffffffffffffffffffffffffffffffffffff8316601461325c565b600080613f1c612cfd565b805190915015613f33578051602090910120919050565b61012d548015613f435792915050565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a4709250505090565b600080613f76612d0d565b805190915015613f8d578051602090910120919050565b61012e548015613f435792915050565b613fa681613a0c565b60405173ffffffffffffffffffffffffffffffffffffffff8216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b606061349f8383604051806060016040528060278152602001614dc6602791396142b1565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a083111561404657506000905060036140f5565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa15801561409a573d6000803e3d6000fd5b50506040517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0015191505073ffffffffffffffffffffffffffffffffffffffff81166140ee576000600192509250506140f5565b9150600090505b94509492505050565b6000816004811115614112576141126149e4565b0361411a5750565b600181600481111561412e5761412e6149e4565b03614195576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601860248201527f45434453413a20696e76616c6964207369676e617475726500000000000000006044820152606401610aac565b60028160048111156141a9576141a96149e4565b03614210576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610aac565b6003816004811115614224576142246149e4565b03610fa7576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c60448201527f75650000000000000000000000000000000000000000000000000000000000006064820152608401610aac565b60606000808573ffffffffffffffffffffffffffffffffffffffff16856040516142db9190614da9565b600060405180830381855af49150503d8060008114614316576040519150601f19603f3d011682016040523d82523d6000602084013e61431b565b606091505b509150915061432c86838387614336565b9695505050505050565b606083156143cc5782516000036143c55773ffffffffffffffffffffffffffffffffffffffff85163b6143c5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610aac565b5081611ca6565b611ca683838151156143e15781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aac91906144c5565b60006020828403121561442757600080fd5b81357fffffffff000000000000000000000000000000000000000000000000000000008116811461349f57600080fd5b60005b8381101561447257818101518382015260200161445a565b50506000910152565b60008151808452614493816020860160208601614457565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169290920160200192915050565b60208152600061349f602083018461447b565b803573ffffffffffffffffffffffffffffffffffffffff81168114611d8057600080fd5b6000806040838503121561450f57600080fd5b614518836144d8565b946020939093013593505050565b60008060006060848603121561453b57600080fd5b614544846144d8565b9250614552602085016144d8565b9150604084013590509250925092565b60006020828403121561457457600080fd5b5035919050565b6000806040838503121561458e57600080fd5b8235915061459e602084016144d8565b90509250929050565b6000602082840312156145b957600080fd5b61349f826144d8565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600067ffffffffffffffff8084111561460c5761460c6145c2565b604051601f85017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0908116603f01168101908282118183101715614652576146526145c2565b8160405280935085815286868601111561466b57600080fd5b858560208301376000602087830101525050509392505050565b6000806040838503121561469857600080fd5b6146a1836144d8565b9150602083013567ffffffffffffffff8111156146bd57600080fd5b8301601f810185136146ce57600080fd5b6146dd858235602084016145f1565b9150509250929050565b7fff00000000000000000000000000000000000000000000000000000000000000881681526000602060e08184015261472360e084018a61447b565b8381036040850152614735818a61447b565b6060850189905273ffffffffffffffffffffffffffffffffffffffff8816608086015260a0850187905284810360c0860152855180825283870192509083019060005b8181101561479457835183529284019291840191600101614778565b50909c9b505050505050505050505050565b600080602083850312156147b957600080fd5b823567ffffffffffffffff808211156147d157600080fd5b818501915085601f8301126147e557600080fd5b8135818111156147f457600080fd5b8660208260051b850101111561480957600080fd5b60209290920196919550909350505050565b600082601f83011261482c57600080fd5b61349f838335602085016145f1565b600080600080600080600060e0888a03121561485657600080fd5b873567ffffffffffffffff8082111561486e57600080fd5b61487a8b838c0161481b565b985060208a013591508082111561489057600080fd5b5061489d8a828b0161481b565b9650506148ac604089016144d8565b94506148ba606089016144d8565b93506148c8608089016144d8565b92506148d660a089016144d8565b915060c0880135600281106148ea57600080fd5b8091505092959891949750929550565b600080600080600080600060e0888a03121561491557600080fd5b61491e886144d8565b965061492c602089016144d8565b95506040880135945060608801359350608088013560ff8116811461495057600080fd5b9699959850939692959460a0840135945060c09093013592915050565b6000806040838503121561498057600080fd5b614989836144d8565b915061459e602084016144d8565b600181811c908216806149ab57607f821691505b602082108103613e78577f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203614aa257614aa2614a42565b5060010190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614ae1816017850160208801614457565b7f20646f6573206e6f74206861766520636f6e74726f6c6c6564206163636573736017918401918201527f2076696120726f6c65200000000000000000000000000000000000000000000060378201528351614b44816041840160208801614457565b01604101949350505050565b600060208284031215614b6257600080fd5b5051919050565b8082018082111561096957610969614a42565b808202811582820484141761096957610969614a42565b600081614ba257614ba2614a42565b507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0190565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351614c00816017850160208801614457565b7f206973206d697373696e6720726f6c65200000000000000000000000000000006017918401918201528351614c3d816028840160208801614457565b01602801949350505050565b601f821115610cde57600081815260208120601f850160051c81016020861015614c705750805b601f850160051c820191505b818110156138d557828155600101614c7c565b815167ffffffffffffffff811115614ca957614ca96145c2565b614cbd81614cb78454614997565b84614c49565b602080601f831160018114614d105760008415614cda5750858301515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600386901b1c1916600185901b1785556138d5565b6000858152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08616915b82811015614d5d57888601518255948401946001909101908401614d3e565b5085821015614d9957878501517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600388901b60f8161c191681555b5050505050600190811b01905550565b60008251614dbb818460208701614457565b919091019291505056fe416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564a26469706673582212204c787920b2534420ce8ad404b102b4f1f5c8d38daa4792bbf60dd3877ed6f32c64736f6c63430008120033