[ { "inputs": [ { "internalType": "address", "name": "_galaxisRegistry", "type": "address" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "inputs": [], "name": "ERC1155Base__ArrayLengthMismatch", "type": "error" }, { "inputs": [], "name": "ERC1155Base__BalanceQueryZeroAddress", "type": "error" }, { "inputs": [], "name": "ERC1155Base__BurnExceedsBalance", "type": "error" }, { "inputs": [], "name": "ERC1155Base__BurnFromZeroAddress", "type": "error" }, { "inputs": [], "name": "ERC1155Base__ERC1155ReceiverNotImplemented", "type": "error" }, { "inputs": [], "name": "ERC1155Base__ERC1155ReceiverRejected", "type": "error" }, { "inputs": [], "name": "ERC1155Base__MintToZeroAddress", "type": "error" }, { "inputs": [], "name": "ERC1155Base__NotOwnerOrApproved", "type": "error" }, { "inputs": [], "name": "ERC1155Base__SelfApproval", "type": "error" }, { "inputs": [], "name": "ERC1155Base__TransferExceedsBalance", "type": "error" }, { "inputs": [], "name": "ERC1155Base__TransferToZeroAddress", "type": "error" }, { "inputs": [], "name": "ERC165Base__InvalidInterfaceId", "type": "error" }, { "inputs": [], "name": "EnumerableSet__IndexOutOfBounds", "type": "error" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "account", "type": "address" }, { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": false, "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "ApprovalForAll", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "indexed": false, "internalType": "uint256[]", "name": "values", "type": "uint256[]" } ], "name": "TransferBatch", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "operator", "type": "address" }, { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": false, "internalType": "uint256", "name": "id", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "TransferSingle", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "string", "name": "value", "type": "string" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "URI", "type": "event" }, { "inputs": [], "name": "UTILITY_TRAIT_COUPON_ADMIN", "outputs": [ { "internalType": "bytes32", "name": "", "type": "bytes32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "accountsByToken", "outputs": [ { "internalType": "address[]", "name": "", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address[]", "name": "accounts", "type": "address[]" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "name": "balanceOfBatch", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "burn", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "collectionIDs", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_tokenNumber", "type": "uint32" }, { "internalType": "uint16", "name": "_traitID", "type": "uint16" } ], "name": "collectionTraitNumberIds", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_tokenNumber", "type": "uint32" }, { "internalType": "uint16", "name": "_traitID", "type": "uint16" }, { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "length", "type": "uint256" } ], "name": "collectionTraitNumberIdsByPage", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_tokenNumber", "type": "uint32" } ], "name": "collectionTraitNumbers", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "communityId", "outputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "uint16", "name": "", "type": "uint16" }, { "internalType": "uint256", "name": "", "type": "uint256" } ], "name": "configurationData", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "configurationMaxPointer", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "galaxisRegistry", "outputs": [ { "internalType": "contract IRegistry", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "tokenNum", "type": "uint32" }, { "internalType": "uint16", "name": "traitNum", "type": "uint16" }, { "internalType": "uint256", "name": "pointer", "type": "uint256" } ], "name": "getData", "outputs": [ { "internalType": "bytes", "name": "", "type": "bytes" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "getInfo", "outputs": [ { "internalType": "uint32", "name": "tokenNum", "type": "uint32" }, { "internalType": "uint16", "name": "traitNum", "type": "uint16" }, { "internalType": "uint256", "name": "pointer", "type": "uint256" }, { "internalType": "bytes", "name": "_configurationData", "type": "bytes" }, { "components": [ { "internalType": "bytes32", "name": "_name", "type": "bytes32" }, { "internalType": "enum FieldTypes", "name": "_type", "type": "uint8" }, { "internalType": "bytes4", "name": "_selector", "type": "bytes4" }, { "internalType": "bytes", "name": "_default", "type": "bytes" }, { "internalType": "bool", "name": "_limited", "type": "bool" }, { "internalType": "uint256", "name": "_min", "type": "uint256" }, { "internalType": "uint256", "name": "_max", "type": "uint256" }, { "internalType": "bool", "name": "_reset_on_owner_change", "type": "bool" } ], "internalType": "struct traitProperty[]", "name": "traitProperties", "type": "tuple[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "holders", "outputs": [ { "internalType": "address[]", "name": "holderz", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "count", "type": "uint256" } ], "name": "holders", "outputs": [ { "internalType": "address[]", "name": "holderz", "type": "address[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_communityId", "type": "uint32" }, { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "init", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "tokenNumber", "type": "uint32" }, { "internalType": "uint16", "name": "traitNumber", "type": "uint16" }, { "internalType": "uint256", "name": "value", "type": "uint256" } ], "name": "makeId", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_tokenNumber", "type": "uint32" }, { "internalType": "uint16", "name": "_traitNumber", "type": "uint16" }, { "internalType": "address", "name": "_recipient", "type": "address" }, { "internalType": "uint256", "name": "_numberToMint", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "mint", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numberOfHolders", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "numberOfTokenIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "_tokenNumber", "type": "uint32" }, { "internalType": "uint16", "name": "_traitID", "type": "uint16" } ], "name": "numberOfTraitNumberIds", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "amounts", "type": "uint256[]" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeBatchTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "id", "type": "uint256" }, { "internalType": "uint256", "name": "amount", "type": "uint256" }, { "internalType": "bytes", "name": "data", "type": "bytes" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_uri", "type": "string" } ], "name": "setURI", "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": "tokenIds", "outputs": [ { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "start", "type": "uint256" }, { "internalType": "uint256", "name": "count", "type": "uint256" } ], "name": "tokenIds", "outputs": [ { "internalType": "uint256[]", "name": "ids", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "holder", "type": "address" } ], "name": "tokenIdsAndBalances", "outputs": [ { "internalType": "uint256[]", "name": "_ids", "type": "uint256[]" }, { "internalType": "uint256[]", "name": "_balances", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "", "type": "uint32" } ], "name": "tokenNumberQty", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint32", "name": "", "type": "uint32" }, { "internalType": "uint16", "name": "", "type": "uint16" } ], "name": "tokenTraitQty", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "tokensByAccount", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "totalHolders", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "id", "type": "uint256" } ], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "uri", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "version", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "pure", "type": "function" } ]
60a060405234801561001057600080fd5b506040516142f43803806142f483398101604081905261002f916101da565b6001600160a01b03811660805260408051808201909152601b81527f474f4c44454e5f5554494c4954595f54524149545f434f55504f4e0000000000602082015261007990610091565b61008b6301193f3d60e61b6001610164565b5061036a565b60045460ff16156100fc5760405162461bcd60e51b815260206004820152602b60248201527f4552433131353546756c6c79456e756d657261626c653a20616c72656164792060448201526a1a5b9a5d1a585b1a5cd95960aa1b606482015260840160405180910390fd5b61010e6301ffc9a760e01b6001610164565b610120636cdb3d1360e11b6001610164565b6004805460ff19166001179055806101557f4281b61aefbe70b3d3f684b428efca5f33077bc240e76f2808f9177c307617f490565b9061016090826102ab565b5050565b6001600160e01b0319808316900361018f5760405163b0a19dd560e01b815260040160405180910390fd5b6001600160e01b03199190911660009081527ffc606c433378e3a7e0a6a531deac289b66caa1b4aa8554fd4ab2c6f1570f92d860205260409020805460ff1916911515919091179055565b6000602082840312156101ec57600080fd5b81516001600160a01b038116811461020357600080fd5b9392505050565b634e487b7160e01b600052604160045260246000fd5b600181811c9082168061023457607f821691505b60208210810361025457634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156102a6576000816000526020600020601f850160051c810160208610156102835750805b601f850160051c820191505b818110156102a25782815560010161028f565b5050505b505050565b81516001600160401b038111156102c4576102c461020a565b6102d8816102d28454610220565b8461025a565b602080601f83116001811461030d57600084156102f55750858301515b600019600386901b1c1916600185901b1785556102a2565b600085815260208120601f198616915b8281101561033c5788860151825594840194600190910190840161031d565b508582101561035a5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608051613f5a61039a6000396000818161044d015281816110920152818161141a0152611b160152613f5a6000f3fe608060405234801561001057600080fd5b50600436106102525760003560e01c8063714cff5611610146578063a22cb465116100c3578063dc47b3c111610087578063dc47b3c1146105ab578063e985e9c5146105b3578063e9949c58146105c6578063eed8cc35146105d9578063f242432a146105ec578063f6d46589146105ff57600080fd5b8063a22cb4651461054c578063aed6176e1461055f578063b390c0ab14610572578063bd85b03914610585578063ca0425f21461059857600080fd5b806385bff2e71161010a57806385bff2e7146104ba578063899dfbea146104cd57806395d89b41146104f85780639ba12dfa146105185780639c8b89521461053957600080fd5b8063714cff5614610438578063725639a0146104405780637671114d146104485780637f50861a146104875780638188f71c146104b257600080fd5b80631972793f116101d45780634860f5ce116101985780634860f5ce146103d55780634e1273f4146103e85780635272e882146103fb57806354fd4d501461040e5780636dcfd8411461041857600080fd5b80631972793f146103635780631a3cd59a146103765780631a81397f1461039a5780632eb2c2d6146103ad57806343bb6eb8146103c057600080fd5b806306fdde031161021b57806306fdde03146102e85780630807c62d146102fd5780630e89341c1461031d57806313ba55df1461033057806315473de01461034357600080fd5b8062fdd58e146102575780630199c7b21461027d57806301ffc9a71461028557806302fe5305146102a857806305b2c810146102bd575b600080fd5b61026a610265366004612df5565b610612565b6040519081526020015b60405180910390f35b61026a610627565b610298610293366004612e37565b610638565b6040519015158152602001610274565b6102bb6102b6366004612ea3565b610679565b005b61026a6102cb366004612f0d565b600660209081526000928352604080842090915290825290205481565b6102f0610742565b6040516102749190612f92565b61026a61030b366004612fa5565b60076020526000908152604090205481565b6102f061032b366004612fc2565b610781565b61026a61033e366004612fc2565b610950565b610356610351366004612fdb565b61095b565b604051610274919061305b565b61026a610371366004612f0d565b610a6f565b610389610384366004612fc2565b610a9c565b60405161027495949392919061306e565b6102f06103a836600461318b565b610d0e565b6102bb6103bb366004613345565b610db9565b61026a600080516020613ee583398151915281565b6102f06103e336600461318b565b610e0b565b6103566103f63660046133f2565b610ecd565b6102bb6104093660046134be565b611037565b6378a557a961026a565b61042b610426366004612fc2565b61137f565b6040516102749190613512565b61035661138a565b610356611396565b61046f7f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b039091168152602001610274565b60045461049d9062010000900463ffffffff1681565b60405163ffffffff9091168152602001610274565b61042b6113a2565b6103566104c836600461355f565b6113ae565b61026a6104db366004612f0d565b600860209081526000928352604080842090915290825290205481565b6040805180820190915260048152634755544360e01b60208201526102f0565b61052b61052636600461355f565b6113b9565b60405161027492919061357c565b6102bb6105473660046135aa565b6113db565b6102bb61055a36600461363a565b6116a6565b61042b61056d366004613673565b61175a565b6102bb610580366004613673565b611862565b61026a610593366004612fc2565b61186d565b61026a6105a636600461318b565b6118a0565b61026a6118b5565b6102986105c1366004613695565b6118c1565b6103566105d4366004612f0d565b61190e565b6103566105e7366004613673565b61193e565b6102bb6105fa3660046136c3565b611a03565b61035661060d366004612fa5565b611a4e565b600061061e8383611a6f565b90505b92915050565b60006106336000611acd565b905090565b6001600160e01b0319811660009081527ffc606c433378e3a7e0a6a531deac289b66caa1b4aa8554fd4ab2c6f1570f92d8602052604081205460ff16610621565b6004546106919062010000900463ffffffff16611ad7565b604051632474521560e21b8152600080516020613ee583398151915260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa1580156106eb573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061070f9190613736565b6107345760405162461bcd60e51b815260040161072b90613753565b60405180910390fd5b61073e8282611c0d565b5050565b60045460609061075d9062010000900463ffffffff16611c39565b60405160200161076d919061379a565b604051602081830303815290604052905090565b60008181527f4281b61aefbe70b3d3f684b428efca5f33077bc240e76f2808f9177c307617f56020526040812080546060927f4281b61aefbe70b3d3f684b428efca5f33077bc240e76f2808f9177c307617f49290916107e0906137f3565b80601f016020809104026020016040519081016040528092919081815260200182805461080c906137f3565b80156108595780601f1061082e57610100808354040283529160200191610859565b820191906000526020600020905b81548152906001019060200180831161083c57829003601f168201915b505050505090506000826000018054610871906137f3565b80601f016020809104026020016040519081016040528092919081815260200182805461089d906137f3565b80156108ea5780601f106108bf576101008083540402835291602001916108ea565b820191906000526020600020905b8154815290600101906020018083116108cd57829003601f168201915b50505050509050805160000361090257509392505050565b81511561093557808260405160200161091c92919061382d565b6040516020818303038152906040529350505050919050565b8061093f86611d39565b60405160200161091c92919061382d565b600061062182611e39565b63ffffffff84166000908152600c6020908152604080832061ffff8716845290915281206060919061098c90611acd565b9050806109998486613872565b11156109ac576109a98482613885565b92505b6000836001600160401b038111156109c6576109c66131c9565b6040519080825280602002602001820160405280156109ef578160200160208202803683370190505b50905060005b84811015610a64576000610a098288613872565b63ffffffff808b166000908152600c6020908152604080832061ffff8e1684529091529020919250610a3e91908390611e6f16565b838381518110610a5057610a50613898565b6020908102919091010152506001016109f5565b509695505050505050565b63ffffffff82166000908152600c6020908152604080832061ffff85168452909152812061061e90611acd565b63ffffffff601082901c16600081815260056020908152604080832061ffff8616808552908352818420603087901c8086529352922080546060918291610ae2906137f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610b0e906137f3565b8015610b5b5780601f10610b3057610100808354040283529160200191610b5b565b820191906000526020600020905b815481529060010190602001808311610b3e57829003601f168201915b505050505091506000610b738663ffffffff16611c39565b604051602001610b8391906138ae565b60405160208183030381529060405290506000610bb1600460029054906101000a900463ffffffff16611ad7565b90506000816001600160a01b03166374b9982c846040518263ffffffff1660e01b8152600401610be19190612f92565b602060405180830381865afa158015610bfe573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c2291906138e5565b6040516301db446960e01b815261ffff8916600482015290915081906000906001600160a01b038316906301db446990602401602060405180830381865afa158015610c72573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c9691906138e5565b9050806001600160a01b0316636b122fe06040518163ffffffff1660e01b8152600401600060405180830381865afa158015610cd6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610cfe9190810190613980565b9550505050505091939590929450565b600560209081526000938452604080852082529284528284209052825290208054610d38906137f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610d64906137f3565b8015610db15780601f10610d8657610100808354040283529160200191610db1565b820191906000526020600020905b815481529060010190602001808311610d9457829003601f168201915b505050505081565b6001600160a01b0385163314801590610dd95750610dd785336118c1565b155b15610df6576040516212efed60e91b815260040160405180910390fd5b610e04338686868686611e7b565b5050505050565b63ffffffff8316600090815260056020908152604080832061ffff8616845282528083208484529091529020805460609190610e46906137f3565b80601f0160208091040260200160405190810160405280929190818152602001828054610e72906137f3565b8015610ebf5780601f10610e9457610100808354040283529160200191610ebf565b820191906000526020600020905b815481529060010190602001808311610ea257829003601f168201915b505050505090509392505050565b60608151835114610ef157604051633e7e0b6d60e11b815260040160405180910390fd5b8251600080516020613f05833981519152906000906001600160401b03811115610f1d57610f1d6131c9565b604051908082528060200260200182016040528015610f46578160200160208202803683370190505b50905060005b855181101561102e5760006001600160a01b0316868281518110610f7257610f72613898565b60200260200101516001600160a01b031603610fa15760405163db5d879760e01b815260040160405180910390fd5b826000868381518110610fb657610fb6613898565b602002602001015181526020019081526020016000206000878381518110610fe057610fe0613898565b60200260200101516001600160a01b03166001600160a01b031681526020019081526020016000205482828151811061101b5761101b613898565b6020908102919091010152600101610f4c565b50949350505050565b6110496301193f3d60e61b6001611e9f565b604080518082018252601b81527f474f4c44454e5f5554494c4954595f54524149545f434f55504f4e000000000060208201529051631d2e660b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916374b9982c916110c69190600401612f92565b602060405180830381865afa1580156110e3573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061110791906138e5565b6001600160a01b031630036111845760405162461bcd60e51b815260206004820152603a60248201527f5574696c6974795472616974436f75706f6e3a20476f6c64656e20636f6e747260448201527f616374732063616e6e6f7420626520696e697469616c69736564000000000000606482015260840161072b565b600454610100900460ff16156111f55760405162461bcd60e51b815260206004820152603060248201527f5574696c6974795472616974436f75706f6e3a20636f6e747261637420616c7260448201526f1958591e481a5b9a5d1a585b1a5cd95960821b606482015260840161072b565b6004805461ff001916610100179055600061120f84611ad7565b60408051808201825260148152732aaa24a624aa2cafaa2920a4aa2fa1a7aaa827a760611b60208201529051631d2e660b60e21b81526001600160a01b0392909216916374b9982c9161126491600401612f92565b602060405180830381865afa158015611281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906112a591906138e5565b6001600160a01b0316146113215760405162461bcd60e51b815260206004820152603a60248201527f5574696c6974795472616974436f75706f6e3a20636f6d6d756e69747920616c60448201527f72656164792068617320612054656c65706f727420546f6b656e000000000000606482015260840161072b565b6004805465ffffffff000019166201000063ffffffff861602179055604080516020601f840181900481028201810190925282815261137a918490849081908401838280828437600092019190915250611f1592505050565b505050565b606061062182611fe0565b60606106336002612019565b60606106336009612019565b60606106336000612075565b6060610621826120da565b6060806113c5836120da565b91506113d4828461061261211d565b9050915091565b60408051808201825260138152722a2920a4aa2fa1a7aaa827a72fa6a4a72a22a960691b60208201529051631d2e660b60e21b81526001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916374b9982c9161144e9190600401612f92565b602060405180830381865afa15801561146b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061148f91906138e5565b6001600160a01b0316336001600160a01b0316148061153f57506004546114c19062010000900463ffffffff16611ad7565b604051632474521560e21b8152600080516020613ee583398151915260048201523360248201526001600160a01b0391909116906391d1485490604401602060405180830381865afa15801561151b573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061153f9190613736565b806115db575060045461155d9062010000900463ffffffff16611ad7565b604051631092dd0160e11b8152600080516020613ee583398151915260048201523360248201526001600160a01b039190911690632125ba0290604401602060405180830381865afa1580156115b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115db9190613736565b6115f75760405162461bcd60e51b815260040161072b90613753565b600081156116725763ffffffff8716600090815260066020908152604080832061ffff8a1684529091528120805490919061163190613ad4565b918290555063ffffffff8816600090815260056020908152604080832061ffff8b16845282528083208484529091529020909150611670838583613b35565b505b600061167f8888846121c4565b9050606061168f898984896121ef565b61169b878388846122bf565b505050505050505050565b6001600160a01b03821633036116cf57604051637b30a93360e11b815260040160405180910390fd5b3360008181527f1799cf914cb0cb442ca7c7ac709ee40d0cb89e87351dc08d517fbda27d50c68c602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b606060006117686000611acd565b90508084106117a65760005b60405190808252806020026020018201604052801561179d578160200160208202803683370190505b50915050610621565b806117b18486613872565b11156117c4576117c18482613885565b92505b826001600160401b038111156117dc576117dc6131c9565b604051908082528060200260200182016040528015611805578160200160208202803683370190505b50915060005b8381101561185a576118286118208683613872565b600090611e6f565b83828151811061183a5761183a613898565b6001600160a01b039092166020928302919091019091015260010161180b565b505092915050565b61073e338383612399565b60008181527fb31c2c74f86ca3ce94d901f5f5bbe66f7161eec2f7b5aa0b75a86371436424ea6020526040812054610621565b60006118ad8484846121c4565b949350505050565b60006106336002611acd565b6001600160a01b0391821660009081527f1799cf914cb0cb442ca7c7ac709ee40d0cb89e87351dc08d517fbda27d50c68c6020908152604080832093909416825291909152205460ff1690565b63ffffffff82166000908152600c6020908152604080832061ffff85168452909152902060609061061e90612019565b6060600061194c6002611acd565b905080841061195c576000611774565b806119678486613872565b111561197a576119778482613885565b92505b826001600160401b03811115611992576119926131c9565b6040519080825280602002602001820160405280156119bb578160200160208202803683370190505b50915060005b8381101561185a576119de6119d68287613872565b600290611e6f565b8382815181106119f0576119f0613898565b60209081029190910101526001016119c1565b6001600160a01b0385163314801590611a235750611a2185336118c1565b155b15611a40576040516212efed60e91b815260040160405180910390fd5b610e04338686868686612498565b63ffffffff81166000908152600b6020526040902060609061062190612019565b60006001600160a01b038316611a985760405163db5d879760e01b815260040160405180910390fd5b600080516020613f058339815191526000928352602090815260408084206001600160a01b0395909516845293905250205490565b6000610621825490565b604080518082018252600e81526d10d3d353555392551657d31254d560921b60208201529051631d2e660b60e21b815260009182916001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016916374b9982c91611b4a9190600401612f92565b602060405180830381865afa158015611b67573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b8b91906138e5565b60405163d0f4a53760e01b815263ffffffff851660048201529091506000906001600160a01b0383169063d0f4a53790602401600060405180830381865afa158015611bdb573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052611c039190810190613bf4565b5095945050505050565b7f4281b61aefbe70b3d3f684b428efca5f33077bc240e76f2808f9177c307617f461137a828483613b35565b606081600003611c605750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611c8a5780611c7481613ad4565b9150611c839050600a83613c82565b9150611c64565b6000816001600160401b03811115611ca457611ca46131c9565b6040519080825280601f01601f191660200182016040528015611cce576020820181803683370190505b5090505b84156118ad57611ce3600183613885565b9150611cf0600a86613c96565b611cfb906030613872565b60f81b818381518110611d1057611d10613898565b60200101906001600160f81b031916908160001a905350611d32600a86613c82565b9450611cd2565b606081600003611d605750506040805180820190915260018152600360fc1b602082015290565b8160005b8115611d8a5780611d7481613ad4565b9150611d839050600a83613c82565b9150611d64565b6000816001600160401b03811115611da457611da46131c9565b6040519080825280601f01601f191660200182016040528015611dce576020820181803683370190505b5090505b84156118ad57611de3600183613885565b9150611df0600a86613c96565b611dfb906030613872565b60f81b818381518110611e1057611e10613898565b60200101906001600160f81b031916908160001a905350611e32600a86613c82565b9450611dd2565b60008181527fb31c2c74f86ca3ce94d901f5f5bbe66f7161eec2f7b5aa0b75a86371436424eb6020526040812061062190611acd565b600061061e83836124b4565b611e89868686868686612500565b611e978686868686866126a9565b505050505050565b6001600160e01b03198083169003611eca5760405163b0a19dd560e01b815260040160405180910390fd5b6001600160e01b03199190911660009081527ffc606c433378e3a7e0a6a531deac289b66caa1b4aa8554fd4ab2c6f1570f92d860205260409020805460ff1916911515919091179055565b60045460ff1615611f7c5760405162461bcd60e51b815260206004820152602b60248201527f4552433131353546756c6c79456e756d657261626c653a20616c72656164792060448201526a1a5b9a5d1a585b1a5cd95960aa1b606482015260840161072b565b611f8e6301ffc9a760e01b6001611e9f565b611fa0636cdb3d1360e11b6001611e9f565b6004805460ff1916600117905580611fd57f4281b61aefbe70b3d3f684b428efca5f33077bc240e76f2808f9177c307617f490565b9061073e9082613caa565b60008181527fb31c2c74f86ca3ce94d901f5f5bbe66f7161eec2f7b5aa0b75a86371436424eb6020526040902060609061062190612075565b8054604080516020808402820181019092528281526060928492839291839183018282801561206757602002820191906000526020600020905b815481526020019060010190808311612053575b505050505092505050919050565b8054604080516020808402820181019092528281526060928492839291839183018282801561206757602002820191906000526020600020905b81546001600160a01b031681526001909101906020018083116120af57505050505092505050919050565b6001600160a01b03811660009081527fb31c2c74f86ca3ce94d901f5f5bbe66f7161eec2f7b5aa0b75a86371436424ec6020526040902060609061062190612019565b606083516001600160401b03811115612138576121386131c9565b604051908082528060200260200182016040528015612161578160200160208202803683370190505b50905060005b84518110156121bc576121978486838151811061218657612186613898565b60200260200101518563ffffffff16565b8282815181106121a9576121a9613898565b6020908102919091010152600101612167565b509392505050565b6000603082901b6121e565ffffffff0000601087901b1661ffff8616613872565b6118ad9190613872565b612203600963ffffffff808716906127c216565b5063ffffffff8085166000908152600b6020526040902061222a9161ffff8616906127c216565b5063ffffffff841660009081526007602052604081208054839290612250908490613872565b909155505063ffffffff8416600090815260086020908152604080832061ffff8716845290915281208054839290612289908490613872565b909155505063ffffffff8085166000908152600c6020908152604080832061ffff881684529091529020610e049184906127c216565b6001600160a01b0384166122e6576040516301c8efbf60e11b815260040160405180910390fd5b612305336000866122f6876127ce565b6122ff876127ce565b86612819565b6000838152600080516020613f05833981519152602090815260408083206001600160a01b038816845290915281208054849290612344908490613872565b909155505060408051848152602081018490526001600160a01b0386169160009133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f6291015b60405180910390a450505050565b6001600160a01b0383166123c05760405163baa75df760e01b815260040160405180910390fd5b6123ee338460006123d0866127ce565b6123d9866127ce565b60405180602001604052806000815250612819565b6000828152600080516020613f05833981519152602090815260408083206001600160a01b0387168452918290529091205482111561244057604051634190713d60e01b815260040160405180910390fd5b6001600160a01b03841660008181526020838152604080832080548790039055805187815291820186905291929133917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f62910161238b565b6124a68686868686866128d3565b611e978686868686866129e9565b815460009082106124d85760405163e637bf3b60e01b815260040160405180910390fd5b8260000182815481106124ed576124ed613898565b9060005260206000200154905092915050565b6001600160a01b0384166125275760405163f5cadad560e01b815260040160405180910390fd5b815183511461254957604051633e7e0b6d60e11b815260040160405180910390fd5b612557868686868686612819565b600080516020613f0583398151915260005b845181101561264857600085828151811061258657612586613898565b6020026020010151905060008583815181106125a4576125a4613898565b602090810291909101810151600084815286835260408082206001600160a01b038e1683529093529190912054909150808211156125f55760405163119ac6bb60e31b815260040160405180910390fd5b6000838152602086815260408083206001600160a01b038e811685529252808320938590039093558a16815290812080546001959095019483929061263b908490613872565b9091555061256992505050565b50846001600160a01b0316866001600160a01b0316886001600160a01b03167f4a39dc06d4c0dbc64b70af90fd698a233a518aa5d07e595d983b8c0526c8f7fb878760405161269892919061357c565b60405180910390a450505050505050565b6001600160a01b0384163b15611e975760405163bc197c8160e01b81526001600160a01b0385169063bc197c81906126ed9089908990889088908890600401613d69565b6020604051808303816000875af1925050508015612728575060408051601f3d908101601f1916820190925261272591810190613dc7565b60015b61278857612734613de4565b806308c379a00361276d5750612748613e00565b80612753575061276f565b8060405162461bcd60e51b815260040161072b9190612f92565b505b60405163380147a960e01b815260040160405180910390fd5b6001600160e01b0319811663bc197c8160e01b146127b957604051633744db2960e01b815260040160405180910390fd5b50505050505050565b600061061e8383612aa5565b6040805160018082528183019092526060916000919060208083019080368337019050509050828160008151811061280857612808613898565b602090810291909101015292915050565b612827868686868686612ae8565b6001600160a01b03841661285e576000612840866113ae565b9050805160000361285857612856600087612af6565b505b5061286b565b612869600085612b0b565b505b60005b83518110156127b957600084828151811061288b5761288b613898565b6020026020010151905060006128a08261137f565b905080516000036128bc576128b6600283612b20565b506128c9565b6128c76002836127c2565b505b505060010161286e565b6001600160a01b0384166128fa5760405163f5cadad560e01b815260040160405180910390fd5b6129098686866122f6876127ce565b6000838152600080516020613f05833981519152602081815260408084206001600160a01b038a168552909152909120548084111561295b5760405163119ac6bb60e31b815260040160405180910390fd5b6000858152602083815260408083206001600160a01b038b8116855292528083209387900390935587168152908120805485929061299a908490613872565b909155505060408051858152602081018590526001600160a01b038088169289821692918b16917fc3d58168c5ae7397731d063d5bbf3d657854427343f4c083240f7aacaa2d0f629101612698565b6001600160a01b0384163b15611e975760405163f23a6e6160e01b81526001600160a01b0385169063f23a6e6190612a2d9089908990889088908890600401613e89565b6020604051808303816000875af1925050508015612a68575060408051601f3d908101601f19168201909252612a6591810190613dc7565b60015b612a7457612734613de4565b6001600160e01b0319811663f23a6e6160e01b146127b957604051633744db2960e01b815260040160405180910390fd5b6000818152600183016020526040812054610621575081546001808201845560008481526020808220909301849055845493815293810190915260409092205590565b611e97868686868686612b2c565b600061061e836001600160a01b038416612d18565b600061061e836001600160a01b038416612aa5565b600061061e8383612d18565b836001600160a01b0316856001600160a01b031614611e97576001600160a01b0385811660009081527fb31c2c74f86ca3ce94d901f5f5bbe66f7161eec2f7b5aa0b75a86371436424ec6020526040808220928716825281207fb31c2c74f86ca3ce94d901f5f5bbe66f7161eec2f7b5aa0b75a86371436424ea927fb31c2c74f86ca3ce94d901f5f5bbe66f7161eec2f7b5aa0b75a86371436424eb929091905b8751811015612d0b576000878281518110612bea57612bea613898565b602002602001015190506000811115612d02576000898381518110612c1157612c11613898565b6020026020010151905060006001600160a01b03168c6001600160a01b031603612c5e5760008181526020889052604081208054849290612c53908490613872565b90915550612c939050565b81612c698d83611a6f565b03612c93576000818152602087905260409020612c86908d612af6565b50612c918582612b20565b505b6001600160a01b038b16612cca5760008181526020889052604081208054849290612cbf908490613885565b90915550612d009050565b612cd48b82611a6f565b600003612d00576000818152602087905260409020612cf3908c612b0b565b50612cfe84826127c2565b505b505b50600101612bcd565b5050505050505050505050565b60008181526001830160205260408120548015612dd657835460009085906000198101908110612d4a57612d4a613898565b9060005260206000200154905080856000016001840381548110612d7057612d70613898565b6000918252602080832090910192909255918252600186019052604090208190558354849080612da257612da2613ece565b6001900381819060005260206000200160009055905583600101600084815260200190815260200160002060009055600191505b5092915050565b6001600160a01b0381168114612df257600080fd5b50565b60008060408385031215612e0857600080fd5b8235612e1381612ddd565b946020939093013593505050565b6001600160e01b031981168114612df257600080fd5b600060208284031215612e4957600080fd5b8135612e5481612e21565b9392505050565b60008083601f840112612e6d57600080fd5b5081356001600160401b03811115612e8457600080fd5b602083019150836020828501011115612e9c57600080fd5b9250929050565b60008060208385031215612eb657600080fd5b82356001600160401b03811115612ecc57600080fd5b612ed885828601612e5b565b90969095509350505050565b63ffffffff81168114612df257600080fd5b803561ffff81168114612f0857600080fd5b919050565b60008060408385031215612f2057600080fd5b8235612f2b81612ee4565b9150612f3960208401612ef6565b90509250929050565b60005b83811015612f5d578181015183820152602001612f45565b50506000910152565b60008151808452612f7e816020860160208601612f42565b601f01601f19169290920160200192915050565b60208152600061061e6020830184612f66565b600060208284031215612fb757600080fd5b8135612e5481612ee4565b600060208284031215612fd457600080fd5b5035919050565b60008060008060808587031215612ff157600080fd5b8435612ffc81612ee4565b935061300a60208601612ef6565b93969395505050506040820135916060013590565b60008151808452602080850194506020840160005b8381101561305057815187529582019590820190600101613034565b509495945050505050565b60208152600061061e602083018461301f565b600060a063ffffffff88168352602061ffff8816818501526040876040860152606060a060608701526130a460a0870189612f66565b608087820360808901528189518084528684019150868160051b850101878c016000805b8481101561317257601f198885030186528251610100815186528c8201516014811061310257634e487b7160e01b85526021600452602485fd5b868e0152818c01516001600160e01b0319168c8701528a8201518b870182905261312e82880182612f66565b915050888201516131428a88018215159052565b50818e0151868f015260c0808301519087015260e09182015115159190950152948a0194918a01916001016130c8565b5050508099505050505050505050509695505050505050565b6000806000606084860312156131a057600080fd5b83356131ab81612ee4565b92506131b960208501612ef6565b9150604084013590509250925092565b634e487b7160e01b600052604160045260246000fd5b601f8201601f191681016001600160401b0381118282101715613204576132046131c9565b6040525050565b60405161010081016001600160401b038111828210171561322e5761322e6131c9565b60405290565b60006001600160401b0382111561324d5761324d6131c9565b5060051b60200190565b600082601f83011261326857600080fd5b8135602061327582613234565b60405161328282826131df565b80915083815260208101915060208460051b8701019350868411156132a657600080fd5b602086015b84811015610a6457803583529183019183016132ab565b60006001600160401b038211156132db576132db6131c9565b50601f01601f191660200190565b600082601f8301126132fa57600080fd5b8135613305816132c2565b60405161331282826131df565b82815285602084870101111561332757600080fd5b82602086016020830137600092810160200192909252509392505050565b600080600080600060a0868803121561335d57600080fd5b853561336881612ddd565b9450602086013561337881612ddd565b935060408601356001600160401b038082111561339457600080fd5b6133a089838a01613257565b945060608801359150808211156133b657600080fd5b6133c289838a01613257565b935060808801359150808211156133d857600080fd5b506133e5888289016132e9565b9150509295509295909350565b6000806040838503121561340557600080fd5b82356001600160401b038082111561341c57600080fd5b818501915085601f83011261343057600080fd5b8135602061343d82613234565b60405161344a82826131df565b83815260059390931b850182019282810191508984111561346a57600080fd5b948201945b8386101561349157853561348281612ddd565b8252948201949082019061346f565b965050860135925050808211156134a757600080fd5b506134b485828601613257565b9150509250929050565b6000806000604084860312156134d357600080fd5b83356134de81612ee4565b925060208401356001600160401b038111156134f957600080fd5b61350586828701612e5b565b9497909650939450505050565b6020808252825182820181905260009190848201906040850190845b818110156135535783516001600160a01b03168352928401929184019160010161352e565b50909695505050505050565b60006020828403121561357157600080fd5b8135612e5481612ddd565b60408152600061358f604083018561301f565b82810360208401526135a1818561301f565b95945050505050565b60008060008060008060a087890312156135c357600080fd5b86356135ce81612ee4565b95506135dc60208801612ef6565b945060408701356135ec81612ddd565b93506060870135925060808701356001600160401b0381111561360e57600080fd5b61361a89828a01612e5b565b979a9699509497509295939492505050565b8015158114612df257600080fd5b6000806040838503121561364d57600080fd5b823561365881612ddd565b915060208301356136688161362c565b809150509250929050565b6000806040838503121561368657600080fd5b50508035926020909101359150565b600080604083850312156136a857600080fd5b82356136b381612ddd565b9150602083013561366881612ddd565b600080600080600060a086880312156136db57600080fd5b85356136e681612ddd565b945060208601356136f681612ddd565b9350604086013592506060860135915060808601356001600160401b0381111561371f57600080fd5b6133e5888289016132e9565b8051612f088161362c565b60006020828403121561374857600080fd5b8151612e548161362c565b60208082526027908201527f5574696c6974795472616974436f75706f6e3a20756e617574686f72697365646040820152661036b4b73a32b960c91b606082015260800190565b7f47616c61786973205574696c69747920547261697420436f75706f6e20666f7281526a01031b7b6b6bab734ba3c960ad1b6020820152600082516137e681602b850160208701612f42565b91909101602b0192915050565b600181811c9082168061380757607f821691505b60208210810361382757634e487b7160e01b600052602260045260246000fd5b50919050565b6000835161383f818460208801612f42565b835190830190613853818360208801612f42565b01949350505050565b634e487b7160e01b600052601160045260246000fd5b808201808211156106215761062161385c565b818103818111156106215761062161385c565b634e487b7160e01b600052603260045260246000fd5b6e54524149545f52454749535452595f60881b8152600082516138d881600f850160208701612f42565b91909101600f0192915050565b6000602082840312156138f757600080fd5b8151612e5481612ddd565b805160148110612f0857600080fd5b8051612f0881612e21565b6000613927836132c2565b60405161393482826131df565b80925084815285858501111561394957600080fd5b613957856020830186612f42565b50509392505050565b600082601f83011261397157600080fd5b61061e8383516020850161391c565b6000602080838503121561399357600080fd5b82516001600160401b03808211156139aa57600080fd5b818501915085601f8301126139be57600080fd5b81516139c981613234565b6040516139d682826131df565b82815260059290921b84018501918581019150888311156139f657600080fd5b8585015b83811015613ac757805185811115613a1157600080fd5b8601610100818c03601f1901811315613a2957600080fd5b613a3161320b565b898301518152613a4360408401613902565b8a820152613a5360608401613911565b604082015260808084015189811115613a6c5760008081fd5b613a7a8f8d83880101613960565b60608401525060a0613a8d81860161372b565b8284015260c0915081850151818401525060e08085015182840152613ab384860161372b565b9083015250855250509186019186016139fa565b5098975050505050505050565b600060018201613ae657613ae661385c565b5060010190565b601f82111561137a576000816000526020600020601f850160051c81016020861015613b165750805b601f850160051c820191505b81811015611e9757828155600101613b22565b6001600160401b03831115613b4c57613b4c6131c9565b613b6083613b5a83546137f3565b83613aed565b6000601f841160018114613b945760008515613b7c5750838201355b600019600387901b1c1916600186901b178355610e04565b600083815260209020601f19861690835b82811015613bc55786850135825560209485019460019092019101613ba5565b5086821015613be25760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b600080600060608486031215613c0957600080fd5b83516001600160401b03811115613c1f57600080fd5b8401601f81018613613c3057600080fd5b613c3f8682516020840161391c565b9350506020840151613c5081612ddd565b6040850151909250613c6181612ee4565b809150509250925092565b634e487b7160e01b600052601260045260246000fd5b600082613c9157613c91613c6c565b500490565b600082613ca557613ca5613c6c565b500690565b81516001600160401b03811115613cc357613cc36131c9565b613cd781613cd184546137f3565b84613aed565b602080601f831160018114613d0c5760008415613cf45750858301515b600019600386901b1c1916600185901b178555611e97565b600085815260208120601f198616915b82811015613d3b57888601518255948401946001909101908401613d1c565b5085821015613d595787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6001600160a01b0386811682528516602082015260a060408201819052600090613d959083018661301f565b8281036060840152613da7818661301f565b90508281036080840152613dbb8185612f66565b98975050505050505050565b600060208284031215613dd957600080fd5b8151612e5481612e21565b600060033d1115613dfd5760046000803e5060005160e01c5b90565b600060443d1015613e0e5790565b6040516003193d81016004833e81513d6001600160401b038160248401118184111715613e3d57505050505090565b8285019150815181811115613e555750505050505090565b843d8701016020828501011115613e6f5750505050505090565b613e7e602082860101876131df565b509095945050505050565b6001600160a01b03868116825285166020820152604081018490526060810183905260a060808201819052600090613ec390830184612f66565b979650505050505050565b634e487b7160e01b600052603160045260246000fdfe4d22f33240a09dddf495d4955c9f23af3488c8781d110f143c7072ad05e023821799cf914cb0cb442ca7c7ac709ee40d0cb89e87351dc08d517fbda27d50c68ba26469706673582212206b086b6de88e2055392a9c710f6ab9c32722621fe0be47427ee4db99aaadbe2b64736f6c63430008190033000000000000000000000000710ec4f2248b202d069f6bd125922ff3aede9c41
0x000000000000000000000000710ec4f2248b202d069f6bd125922ff3aede9c41
----Decoded View------------Arg [0] : _galaxisRegistry (address): 0x710ec4f2248B202D069F6BD125922FF3AeDE9c41
----Encoded View------------Arg [0] : 0x000000000000000000000000710ec4f2248b202d069f6bd125922ff3aede9c41