[
{
"inputs": [
{
"internalType": "address",
"name": "_companyWallet",
"type": "address"
},
{
"internalType": "address",
"name": "_teamWallet",
"type": "address"
},
{
"internalType": "address",
"name": "_advisoryWallet",
"type": "address"
},
{
"internalType": "address",
"name": "_communityWallet",
"type": "address"
}
],
"stateMutability": "nonpayable",
"type": "constructor"
},
{
"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": "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": true,
"internalType": "address",
"name": "claimer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "UnlockAdvisorTokens",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "claimer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "UnlockCommunityTokens",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "claimer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "UnlockCompanyTokens",
"type": "event"
},
{
"anonymous": false,
"inputs": [
{
"indexed": true,
"internalType": "address",
"name": "claimer",
"type": "address"
},
{
"indexed": false,
"internalType": "uint256",
"name": "price",
"type": "uint256"
}
],
"name": "UnlockTeamTokens",
"type": "event"
},
{
"inputs": [],
"name": "ADVISOR_TOKENS",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "COMMUNITY_TOKENS",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "DEFAULT_ADMIN_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "INITIAL_SUPPLY",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "LOCK_PERIOD_ADVISOR",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "LOCK_PERIOD_COMMUNITY",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "LOCK_PERIOD_TEAM",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "MINTER_ROLE",
"outputs": [
{
"internalType": "bytes32",
"name": "",
"type": "bytes32"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "RELEASE_PERIOD_ADVISOR",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "RELEASE_PERIOD_COMMUNITY",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "RELEASE_PERIOD_TEAM",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "TEAM_TOKENS",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "TGE_TIMESTAMP",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "UNLOCKED_TOKENS",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "advisoryWallet",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "owner",
"type": "address"
},
{
"internalType": "address",
"name": "spender",
"type": "address"
}
],
"name": "allowance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "amount",
"type": "uint256"
}
],
"name": "approve",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "account",
"type": "address"
}
],
"name": "balanceOf",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "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": "claimTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "communityWallet",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "companyWallet",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "decimals",
"outputs": [
{
"internalType": "uint8",
"name": "",
"type": "uint8"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [
{
"internalType": "address",
"name": "spender",
"type": "address"
},
{
"internalType": "uint256",
"name": "subtractedValue",
"type": "uint256"
}
],
"name": "decreaseAllowance",
"outputs": [
{
"internalType": "bool",
"name": "",
"type": "bool"
}
],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [
{
"internalType": "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": [],
"name": "lockedAdvisorBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lockedCommunityBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lockedCompanyBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "lockedTeamBalance",
"outputs": [
{
"internalType": "uint256",
"name": "",
"type": "uint256"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "name",
"outputs": [
{
"internalType": "string",
"name": "",
"type": "string"
}
],
"stateMutability": "view",
"type": "function"
},
{
"inputs": [],
"name": "owner",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"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": "teamWallet",
"outputs": [
{
"internalType": "address",
"name": "",
"type": "address"
}
],
"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": "unlockAdvisorTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unlockCommunityTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
},
{
"inputs": [],
"name": "unlockTeamTokens",
"outputs": [],
"stateMutability": "nonpayable",
"type": "function"
}
]0x60e06040523480156200001157600080fd5b506040516200419e3803806200419e833981810160405281019062000037919062000552565b6040518060400160405280600981526020017f45495620546f6b656e00000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f45495600000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000bb9291906200048b565b508060049080519060200190620000d49291906200048b565b5050506000600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200012e6000801b336200031060201b60201c565b620001607f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6336200031060201b60201c565b6b107a9f01fbda8e036c000000600b819055506b033b2e3c9fd0803ce8000000600c819055506b02e87669c308736a04000000600d819055506b09b18ab5df7180b6b8000000600e819055506302c7ea0063621c8100620001c29190620005be565b608081815250506301da9c0063621c8100620001df9190620005be565b60a0818152505062ed4e0063621c8100620001fb9190620005be565b60c0818152505083600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050505062000707565b6200032282826200032660201b60201c565b5050565b6200033882826200041860201b60201c565b620004145760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003b96200048360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b828054620004999062000659565b90600052602060002090601f016020900481019282620004bd576000855562000509565b82601f10620004d857805160ff191683800117855562000509565b8280016001018555821562000509579182015b8281111562000508578251825591602001919060010190620004eb565b5b5090506200051891906200051c565b5090565b5b80821115620005375760008160009055506001016200051d565b5090565b6000815190506200054c81620006ed565b92915050565b600080600080608085870312156200056957600080fd5b600062000579878288016200053b565b94505060206200058c878288016200053b565b93505060406200059f878288016200053b565b9250506060620005b2878288016200053b565b91505092959194509250565b6000620005cb826200064f565b9150620005d8836200064f565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000610576200060f6200068f565b5b828201905092915050565b600062000628826200062f565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060028204905060018216806200067257607f821691505b60208210811415620006895762000688620006be565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b620006f8816200061b565b81146200070457600080fd5b50565b60805160a05160c051613a3d62000761600039600081816109ca01528181610a3f0152610e6b015260008181610e2c0152818161137301526113e8015260008181610ded015281816118f201526119670152613a3d6000f3fe608060405234801561001057600080fd5b506004361061028a5760003560e01c80636f5c26221161015c578063a457c2d7116100ce578063d547741f11610087578063d547741f1461079d578063dc493790146107b9578063dd62ed3e146107d7578063e2130d1e14610807578063e29121de14610811578063f97a229b1461082f5761028a565b8063a457c2d7146106c5578063a9059cbb146106f5578063b26e92a214610725578063c757483914610743578063d06e31cb14610761578063d53913931461077f5761028a565b806381ff4d0b1161012057806381ff4d0b146105ff5780638da5cb5b1461061d57806391d148541461063b57806395d89b411461066b5780639828469914610689578063a217fddf146106a75761028a565b80636f5c26221461056d57806370a082311461058b57806379cc6790146105bb5780637c50b4c5146105d75780637e8ca5f6146105f55761028a565b80632f2ff15d116102005780633b3e8f95116101b95780633b3e8f95146104cf57806342966c68146104ed57806348c54b9d1461050957806359927044146105135780635b84d899146105315780636e3c80341461054f5761028a565b80632f2ff15d1461040d5780632ff2e9dc14610429578063313ce5671461044757806336568abe14610465578063395093511461048157806339565cdb146104b15761028a565b80631dfe3a12116102525780631dfe3a12146103495780631ec32d151461035357806323b872dd14610371578063248a9ca3146103a1578063266572de146103d1578063268e4169146103ef5761028a565b806301ffc9a71461028f57806306fdde03146102bf578063095ea7b3146102dd57806318160ddd1461030d5780631d5230471461032b575b600080fd5b6102a960048036038101906102a49190612ab5565b61084d565b6040516102b69190612ef0565b60405180910390f35b6102c76108c7565b6040516102d49190612f26565b60405180910390f35b6102f760048036038101906102f29190612a14565b610959565b6040516103049190612ef0565b60405180910390f35b61031561097c565b60405161032291906131a8565b60405180910390f35b610333610986565b60405161034091906131a8565b60405180910390f35b610351610996565b005b61035b610b90565b6040516103689190612ed5565b60405180910390f35b61038b600480360381019061038691906129c5565b610bb6565b6040516103989190612ef0565b60405180910390f35b6103bb60048036038101906103b69190612a50565b610be5565b6040516103c89190612f0b565b60405180910390f35b6103d9610c05565b6040516103e691906131a8565b60405180910390f35b6103f7610c0c565b60405161040491906131a8565b60405180910390f35b61042760048036038101906104229190612a79565b610c14565b005b610431610c3d565b60405161043e91906131a8565b60405180910390f35b61044f610c4d565b60405161045c91906131c3565b60405180910390f35b61047f600480360381019061047a9190612a79565b610c56565b005b61049b60048036038101906104969190612a14565b610cd9565b6040516104a89190612ef0565b60405180910390f35b6104b9610d83565b6040516104c691906131a8565b60405180910390f35b6104d7610d8b565b6040516104e491906131a8565b60405180910390f35b61050760048036038101906105029190612ade565b610d93565b005b610511610da7565b005b61051b611285565b6040516105289190612ed5565b60405180910390f35b6105396112ab565b60405161054691906131a8565b60405180910390f35b6105576112b5565b60405161056491906131a8565b60405180910390f35b6105756112bd565b60405161058291906131a8565b60405180910390f35b6105a560048036038101906105a09190612960565b6112c7565b6040516105b291906131a8565b60405180910390f35b6105d560048036038101906105d09190612a14565b61130f565b005b6105df61132f565b6040516105ec91906131a8565b60405180910390f35b6105fd61133f565b005b610607611539565b60405161061491906131a8565b60405180910390f35b610625611549565b6040516106329190612ed5565b60405180910390f35b61065560048036038101906106509190612a79565b611573565b6040516106629190612ef0565b60405180910390f35b6106736115de565b6040516106809190612f26565b60405180910390f35b610691611670565b60405161069e91906131a8565b60405180910390f35b6106af611678565b6040516106bc9190612f0b565b60405180910390f35b6106df60048036038101906106da9190612a14565b61167f565b6040516106ec9190612ef0565b60405180910390f35b61070f600480360381019061070a9190612a14565b611769565b60405161071c9190612ef0565b60405180910390f35b61072d61178c565b60405161073a91906131a8565b60405180910390f35b61074b611796565b6040516107589190612ed5565b60405180910390f35b6107696117bc565b60405161077691906131a8565b60405180910390f35b6107876117c4565b6040516107949190612f0b565b60405180910390f35b6107b760048036038101906107b29190612a79565b6117e8565b005b6107c1611811565b6040516107ce9190612ed5565b60405180910390f35b6107f160048036038101906107ec9190612989565b611837565b6040516107fe91906131a8565b60405180910390f35b61080f6118be565b005b610819611ab8565b60405161082691906131a8565b60405180910390f35b610837611ac8565b60405161084491906131a8565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108c057506108bf82611ad2565b5b9050919050565b6060600380546108d690613402565b80601f016020809104026020016040519081016040528092919081815260200182805461090290613402565b801561094f5780601f106109245761010080835404028352916020019161094f565b820191906000526020600020905b81548152906001019060200180831161093257829003601f168201915b5050505050905090565b600080610964611b3c565b9050610971818585611b44565b600191505092915050565b6000600254905090565b6b09b18ab5df7180b6b800000081565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109c8816109c3611b3c565b611d0f565b7f0000000000000000000000000000000000000000000000000000000000000000421015610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290613108565b60405180910390fd5b6000610a686b09b18ab5df7180b6b80000007f00000000000000000000000000000000000000000000000000000000000000006301e13380611dac565b90506000600e546b09b18ab5df7180b6b8000000610a8691906132e6565b82610a9191906132e6565b905060008111610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd90613148565b60405180910390fd5b80600e6000828254610ae891906132e6565b92505081905550610b1b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e01565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f149056fd5e81d1373a707d130e5eaf7941d6407dc8553b3d66471e9834421f4382604051610b8391906131a8565b60405180910390a2505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610bc1611b3c565b9050610bce858285611f61565b610bd9858585611fed565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b62ed4e0081565b6301da9c0081565b610c1d82610be5565b610c2e81610c29611b3c565b611d0f565b610c38838361226e565b505050565b6b204fce5e3e2502611000000081565b60006012905090565b610c5e611b3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290613168565b60405180910390fd5b610cd5828261234f565b5050565b600080610ce4611b3c565b9050610d78818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d739190613205565b611b44565b600191505092915050565b63621c810081565b6305a39a8081565b610da4610d9e611b3c565b82612431565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610dd981610dd4611b3c565b611d0f565b6000610e166b033b2e3c9fd0803ce80000007f00000000000000000000000000000000000000000000000000000000000000006305a39a80611dac565b90506000610e556b02e87669c308736a040000007f00000000000000000000000000000000000000000000000000000000000000006302d1cd40611dac565b90506000610e946b09b18ab5df7180b6b80000007f00000000000000000000000000000000000000000000000000000000000000006301e13380611dac565b90506000600b5490506000600c546b033b2e3c9fd0803ce8000000610eb991906132e6565b85610ec491906132e6565b90506000600d546b02e87669c308736a04000000610ee291906132e6565b85610eed91906132e6565b90506000600e546b09b18ab5df7180b6b8000000610f0b91906132e6565b85610f1691906132e6565b9050600081838587610f289190613205565b610f329190613205565b610f3c9190613205565b905060008111610f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7890612f88565b60405180910390fd5b83600c6000828254610f9391906132e6565b9250508190555082600d6000828254610fac91906132e6565b9250508190555081600e6000828254610fc591906132e6565b925050819055506000600b81905550610fde3082611e01565b60008511156110855761101430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687611fed565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f25d5f5ee850b664ccf31fc284b0c5e3985d10245f0486cb7874e4f7c456d52a58660405161107c91906131a8565b60405180910390a25b600084111561112c576110bb30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611fed565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc6ed111f8bd14bd22a954c62c2799ec5f9144d78a9b739ee37ee9a00e6c81d668560405161112391906131a8565b60405180910390a25b60008211156111d35761116230600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611fed565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f149056fd5e81d1373a707d130e5eaf7941d6407dc8553b3d66471e9834421f43836040516111ca91906131a8565b60405180910390a25b600083111561127a5761120930600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611fed565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7ce5f3f619be69c6c0f30f3bbd013fbefe37c19491d53fdc21b003f980f40c1e8460405161127191906131a8565b60405180910390a25b505050505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d54905090565b6301e1338081565b6000600c54905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113218261131b611b3c565b83611f61565b61132b8282612431565b5050565b6b107a9f01fbda8e036c00000081565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66113718161136c611b3c565b611d0f565b7f00000000000000000000000000000000000000000000000000000000000000004210156113d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cb90613048565b60405180910390fd5b60006114116b02e87669c308736a040000007f00000000000000000000000000000000000000000000000000000000000000006302d1cd40611dac565b90506000600d546b02e87669c308736a0400000061142f91906132e6565b8261143a91906132e6565b90506000811161147f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147690613088565b60405180910390fd5b80600d600082825461149191906132e6565b925050819055506114c4600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e01565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7ce5f3f619be69c6c0f30f3bbd013fbefe37c19491d53fdc21b003f980f40c1e8260405161152c91906131a8565b60405180910390a2505050565b6b033b2e3c9fd0803ce800000081565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600480546115ed90613402565b80601f016020809104026020016040519081016040528092919081815260200182805461161990613402565b80156116665780601f1061163b57610100808354040283529160200191611666565b820191906000526020600020905b81548152906001019060200180831161164957829003601f168201915b5050505050905090565b6302c7ea0081565b6000801b81565b60008061168a611b3c565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790613128565b60405180910390fd5b61175d8286868403611b44565b60019250505092915050565b600080611774611b3c565b9050611781818585611fed565b600191505092915050565b6000600e54905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6302d1cd4081565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6117f182610be5565b611802816117fd611b3c565b611d0f565b61180c838361234f565b505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66118f0816118eb611b3c565b611d0f565b7f0000000000000000000000000000000000000000000000000000000000000000421015611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a90612fc8565b60405180910390fd5b60006119906b033b2e3c9fd0803ce80000007f00000000000000000000000000000000000000000000000000000000000000006305a39a80611dac565b90506000600c546b033b2e3c9fd0803ce80000006119ae91906132e6565b826119b991906132e6565b9050600081116119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f590612fe8565b60405180910390fd5b80600c6000828254611a1091906132e6565b92505081905550611a43600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e01565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc6ed111f8bd14bd22a954c62c2799ec5f9144d78a9b739ee37ee9a00e6c81d6682604051611aab91906131a8565b60405180910390a2505050565b6b02e87669c308736a0400000081565b6000600b54905090565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bab906130e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1b90613008565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d0291906131a8565b60405180910390a3505050565b611d198282611573565b611da857611d3e8173ffffffffffffffffffffffffffffffffffffffff166014612608565b611d4c8360001c6020612608565b604051602001611d5d929190612e9b565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9f9190612f26565b60405180910390fd5b5050565b600082421015611dbf5760009050611dfa565b60008342611dcd91906132e6565b9050828110611ddf5784915050611dfa565b828186611dec919061328c565b611df6919061325b565b9150505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6890613188565b60405180910390fd5b611e7d60008383612902565b8060026000828254611e8f9190613205565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ee49190613205565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f4991906131a8565b60405180910390a3611f5d60008383612907565b5050565b6000611f6d8484611837565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611fe75781811015611fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd090613028565b60405180910390fd5b611fe68484848403611b44565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561205d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612054906130c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c490612f68565b60405180910390fd5b6120d8838383612902565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561215e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215590613068565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121f19190613205565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161225591906131a8565b60405180910390a3612268848484612907565b50505050565b6122788282611573565b61234b5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506122f0611b3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6123598282611573565b1561242d5760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506123d2611b3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612498906130a8565b60405180910390fd5b6124ad82600083612902565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252a90612fa8565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002600082825461258a91906132e6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125ef91906131a8565b60405180910390a361260383600084612907565b505050565b60606000600283600261261b919061328c565b6126259190613205565b67ffffffffffffffff811115612664577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156126965781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106126f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061277e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026127be919061328c565b6127c89190613205565b90505b60018111156128b4577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612830577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b82828151811061286d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806128ad906133d8565b90506127cb565b50600084146128f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ef90612f48565b60405180910390fd5b8091505092915050565b505050565b505050565b60008135905061291b816139ab565b92915050565b600081359050612930816139c2565b92915050565b600081359050612945816139d9565b92915050565b60008135905061295a816139f0565b92915050565b60006020828403121561297257600080fd5b60006129808482850161290c565b91505092915050565b6000806040838503121561299c57600080fd5b60006129aa8582860161290c565b92505060206129bb8582860161290c565b9150509250929050565b6000806000606084860312156129da57600080fd5b60006129e88682870161290c565b93505060206129f98682870161290c565b9250506040612a0a8682870161294b565b9150509250925092565b60008060408385031215612a2757600080fd5b6000612a358582860161290c565b9250506020612a468582860161294b565b9150509250929050565b600060208284031215612a6257600080fd5b6000612a7084828501612921565b91505092915050565b60008060408385031215612a8c57600080fd5b6000612a9a85828601612921565b9250506020612aab8582860161290c565b9150509250929050565b600060208284031215612ac757600080fd5b6000612ad584828501612936565b91505092915050565b600060208284031215612af057600080fd5b6000612afe8482850161294b565b91505092915050565b612b108161331a565b82525050565b612b1f8161332c565b82525050565b612b2e81613338565b82525050565b6000612b3f826131de565b612b4981856131e9565b9350612b598185602086016133a5565b612b62816134c1565b840191505092915050565b6000612b78826131de565b612b8281856131fa565b9350612b928185602086016133a5565b80840191505092915050565b6000612bab6020836131e9565b9150612bb6826134d2565b602082019050919050565b6000612bce6023836131e9565b9150612bd9826134fb565b604082019050919050565b6000612bf16012836131e9565b9150612bfc8261354a565b602082019050919050565b6000612c146022836131e9565b9150612c1f82613573565b604082019050919050565b6000612c37601c836131e9565b9150612c42826135c2565b602082019050919050565b6000612c5a6018836131e9565b9150612c65826135eb565b602082019050919050565b6000612c7d6022836131e9565b9150612c8882613614565b604082019050919050565b6000612ca0601d836131e9565b9150612cab82613663565b602082019050919050565b6000612cc3601f836131e9565b9150612cce8261368c565b602082019050919050565b6000612ce66026836131e9565b9150612cf1826136b5565b604082019050919050565b6000612d09601b836131e9565b9150612d1482613704565b602082019050919050565b6000612d2c6021836131e9565b9150612d378261372d565b604082019050919050565b6000612d4f6025836131e9565b9150612d5a8261377c565b604082019050919050565b6000612d726024836131e9565b9150612d7d826137cb565b604082019050919050565b6000612d956021836131e9565b9150612da08261381a565b604082019050919050565b6000612db86017836131fa565b9150612dc382613869565b601782019050919050565b6000612ddb6025836131e9565b9150612de682613892565b604082019050919050565b6000612dfe6011836131fa565b9150612e09826138e1565b601182019050919050565b6000612e21601d836131e9565b9150612e2c8261390a565b602082019050919050565b6000612e44602f836131e9565b9150612e4f82613933565b604082019050919050565b6000612e67601f836131e9565b9150612e7282613982565b602082019050919050565b612e868161338e565b82525050565b612e9581613398565b82525050565b6000612ea682612dab565b9150612eb28285612b6d565b9150612ebd82612df1565b9150612ec98284612b6d565b91508190509392505050565b6000602082019050612eea6000830184612b07565b92915050565b6000602082019050612f056000830184612b16565b92915050565b6000602082019050612f206000830184612b25565b92915050565b60006020820190508181036000830152612f408184612b34565b905092915050565b60006020820190508181036000830152612f6181612b9e565b9050919050565b60006020820190508181036000830152612f8181612bc1565b9050919050565b60006020820190508181036000830152612fa181612be4565b9050919050565b60006020820190508181036000830152612fc181612c07565b9050919050565b60006020820190508181036000830152612fe181612c2a565b9050919050565b6000602082019050818103600083015261300181612c4d565b9050919050565b6000602082019050818103600083015261302181612c70565b9050919050565b6000602082019050818103600083015261304181612c93565b9050919050565b6000602082019050818103600083015261306181612cb6565b9050919050565b6000602082019050818103600083015261308181612cd9565b9050919050565b600060208201905081810360008301526130a181612cfc565b9050919050565b600060208201905081810360008301526130c181612d1f565b9050919050565b600060208201905081810360008301526130e181612d42565b9050919050565b6000602082019050818103600083015261310181612d65565b9050919050565b6000602082019050818103600083015261312181612d88565b9050919050565b6000602082019050818103600083015261314181612dce565b9050919050565b6000602082019050818103600083015261316181612e14565b9050919050565b6000602082019050818103600083015261318181612e37565b9050919050565b600060208201905081810360008301526131a181612e5a565b9050919050565b60006020820190506131bd6000830184612e7d565b92915050565b60006020820190506131d86000830184612e8c565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006132108261338e565b915061321b8361338e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132505761324f613434565b5b828201905092915050565b60006132668261338e565b91506132718361338e565b92508261328157613280613463565b5b828204905092915050565b60006132978261338e565b91506132a28361338e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132db576132da613434565b5b828202905092915050565b60006132f18261338e565b91506132fc8361338e565b92508282101561330f5761330e613434565b5b828203905092915050565b60006133258261336e565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156133c35780820151818401526020810190506133a8565b838111156133d2576000848401525b50505050565b60006133e38261338e565b915060008214156133f7576133f6613434565b5b600182039050919050565b6000600282049050600182168061341a57607f821691505b6020821081141561342e5761342d613492565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f20746f6b656e7320746f20636c61696d0000000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f5465616d20746f6b656e7320617265207374696c6c206c6f636b656400000000600082015250565b7f4e6f207465616d20746f6b656e7320746f20756e6c6f636b0000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f41647669736f7220746f6b656e7320617265207374696c6c206c6f636b656400600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4e6f2061647669736f7220746f6b656e7320746f20756e6c6f636b0000000000600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f436f6d6d756e69747920746f6b656e7320617265207374696c6c206c6f636b6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f4e6f20636f6d6d756e69747920746f6b656e7320746f20756e6c6f636b000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6139b48161331a565b81146139bf57600080fd5b50565b6139cb81613338565b81146139d657600080fd5b50565b6139e281613342565b81146139ed57600080fd5b50565b6139f98161338e565b8114613a0457600080fd5b5056fea26469706673582212204cd7c0fae293de57d3f49d3817ecf0c8eb4ffe1e70500108f12e3d6636864fb264736f6c63430008040033000000000000000000000000291f17c7f31c1c24a0c846f83eae434e36e28fe9000000000000000000000000527e925f3d3b8577ca56727796d3ed0d2ebdec7b0000000000000000000000004eb23641b49aceec144186ff0f36f3ae4bd2b2240000000000000000000000005d95e1f121cfd09ab10759a2f8bc4a97771108bd
0x608060405234801561001057600080fd5b506004361061028a5760003560e01c80636f5c26221161015c578063a457c2d7116100ce578063d547741f11610087578063d547741f1461079d578063dc493790146107b9578063dd62ed3e146107d7578063e2130d1e14610807578063e29121de14610811578063f97a229b1461082f5761028a565b8063a457c2d7146106c5578063a9059cbb146106f5578063b26e92a214610725578063c757483914610743578063d06e31cb14610761578063d53913931461077f5761028a565b806381ff4d0b1161012057806381ff4d0b146105ff5780638da5cb5b1461061d57806391d148541461063b57806395d89b411461066b5780639828469914610689578063a217fddf146106a75761028a565b80636f5c26221461056d57806370a082311461058b57806379cc6790146105bb5780637c50b4c5146105d75780637e8ca5f6146105f55761028a565b80632f2ff15d116102005780633b3e8f95116101b95780633b3e8f95146104cf57806342966c68146104ed57806348c54b9d1461050957806359927044146105135780635b84d899146105315780636e3c80341461054f5761028a565b80632f2ff15d1461040d5780632ff2e9dc14610429578063313ce5671461044757806336568abe14610465578063395093511461048157806339565cdb146104b15761028a565b80631dfe3a12116102525780631dfe3a12146103495780631ec32d151461035357806323b872dd14610371578063248a9ca3146103a1578063266572de146103d1578063268e4169146103ef5761028a565b806301ffc9a71461028f57806306fdde03146102bf578063095ea7b3146102dd57806318160ddd1461030d5780631d5230471461032b575b600080fd5b6102a960048036038101906102a49190612ab5565b61084d565b6040516102b69190612ef0565b60405180910390f35b6102c76108c7565b6040516102d49190612f26565b60405180910390f35b6102f760048036038101906102f29190612a14565b610959565b6040516103049190612ef0565b60405180910390f35b61031561097c565b60405161032291906131a8565b60405180910390f35b610333610986565b60405161034091906131a8565b60405180910390f35b610351610996565b005b61035b610b90565b6040516103689190612ed5565b60405180910390f35b61038b600480360381019061038691906129c5565b610bb6565b6040516103989190612ef0565b60405180910390f35b6103bb60048036038101906103b69190612a50565b610be5565b6040516103c89190612f0b565b60405180910390f35b6103d9610c05565b6040516103e691906131a8565b60405180910390f35b6103f7610c0c565b60405161040491906131a8565b60405180910390f35b61042760048036038101906104229190612a79565b610c14565b005b610431610c3d565b60405161043e91906131a8565b60405180910390f35b61044f610c4d565b60405161045c91906131c3565b60405180910390f35b61047f600480360381019061047a9190612a79565b610c56565b005b61049b60048036038101906104969190612a14565b610cd9565b6040516104a89190612ef0565b60405180910390f35b6104b9610d83565b6040516104c691906131a8565b60405180910390f35b6104d7610d8b565b6040516104e491906131a8565b60405180910390f35b61050760048036038101906105029190612ade565b610d93565b005b610511610da7565b005b61051b611285565b6040516105289190612ed5565b60405180910390f35b6105396112ab565b60405161054691906131a8565b60405180910390f35b6105576112b5565b60405161056491906131a8565b60405180910390f35b6105756112bd565b60405161058291906131a8565b60405180910390f35b6105a560048036038101906105a09190612960565b6112c7565b6040516105b291906131a8565b60405180910390f35b6105d560048036038101906105d09190612a14565b61130f565b005b6105df61132f565b6040516105ec91906131a8565b60405180910390f35b6105fd61133f565b005b610607611539565b60405161061491906131a8565b60405180910390f35b610625611549565b6040516106329190612ed5565b60405180910390f35b61065560048036038101906106509190612a79565b611573565b6040516106629190612ef0565b60405180910390f35b6106736115de565b6040516106809190612f26565b60405180910390f35b610691611670565b60405161069e91906131a8565b60405180910390f35b6106af611678565b6040516106bc9190612f0b565b60405180910390f35b6106df60048036038101906106da9190612a14565b61167f565b6040516106ec9190612ef0565b60405180910390f35b61070f600480360381019061070a9190612a14565b611769565b60405161071c9190612ef0565b60405180910390f35b61072d61178c565b60405161073a91906131a8565b60405180910390f35b61074b611796565b6040516107589190612ed5565b60405180910390f35b6107696117bc565b60405161077691906131a8565b60405180910390f35b6107876117c4565b6040516107949190612f0b565b60405180910390f35b6107b760048036038101906107b29190612a79565b6117e8565b005b6107c1611811565b6040516107ce9190612ed5565b60405180910390f35b6107f160048036038101906107ec9190612989565b611837565b6040516107fe91906131a8565b60405180910390f35b61080f6118be565b005b610819611ab8565b60405161082691906131a8565b60405180910390f35b610837611ac8565b60405161084491906131a8565b60405180910390f35b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108c057506108bf82611ad2565b5b9050919050565b6060600380546108d690613402565b80601f016020809104026020016040519081016040528092919081815260200182805461090290613402565b801561094f5780601f106109245761010080835404028352916020019161094f565b820191906000526020600020905b81548152906001019060200180831161093257829003601f168201915b5050505050905090565b600080610964611b3c565b9050610971818585611b44565b600191505092915050565b6000600254905090565b6b09b18ab5df7180b6b800000081565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66109c8816109c3611b3c565b611d0f565b7f000000000000000000000000000000000000000000000000000000006309cf00421015610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290613108565b60405180910390fd5b6000610a686b09b18ab5df7180b6b80000007f000000000000000000000000000000000000000000000000000000006309cf006301e13380611dac565b90506000600e546b09b18ab5df7180b6b8000000610a8691906132e6565b82610a9191906132e6565b905060008111610ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610acd90613148565b60405180910390fd5b80600e6000828254610ae891906132e6565b92505081905550610b1b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e01565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f149056fd5e81d1373a707d130e5eaf7941d6407dc8553b3d66471e9834421f4382604051610b8391906131a8565b60405180910390a2505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610bc1611b3c565b9050610bce858285611f61565b610bd9858585611fed565b60019150509392505050565b600060056000838152602001908152602001600020600101549050919050565b62ed4e0081565b6301da9c0081565b610c1d82610be5565b610c2e81610c29611b3c565b611d0f565b610c38838361226e565b505050565b6b204fce5e3e2502611000000081565b60006012905090565b610c5e611b3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610ccb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cc290613168565b60405180910390fd5b610cd5828261234f565b5050565b600080610ce4611b3c565b9050610d78818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610d739190613205565b611b44565b600191505092915050565b63621c810081565b6305a39a8081565b610da4610d9e611b3c565b82612431565b50565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a6610dd981610dd4611b3c565b611d0f565b6000610e166b033b2e3c9fd0803ce80000007f0000000000000000000000000000000000000000000000000000000064e46b006305a39a80611dac565b90506000610e556b02e87669c308736a040000007f0000000000000000000000000000000000000000000000000000000063f71d006302d1cd40611dac565b90506000610e946b09b18ab5df7180b6b80000007f000000000000000000000000000000000000000000000000000000006309cf006301e13380611dac565b90506000600b5490506000600c546b033b2e3c9fd0803ce8000000610eb991906132e6565b85610ec491906132e6565b90506000600d546b02e87669c308736a04000000610ee291906132e6565b85610eed91906132e6565b90506000600e546b09b18ab5df7180b6b8000000610f0b91906132e6565b85610f1691906132e6565b9050600081838587610f289190613205565b610f329190613205565b610f3c9190613205565b905060008111610f81576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7890612f88565b60405180910390fd5b83600c6000828254610f9391906132e6565b9250508190555082600d6000828254610fac91906132e6565b9250508190555081600e6000828254610fc591906132e6565b925050819055506000600b81905550610fde3082611e01565b60008511156110855761101430600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1687611fed565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f25d5f5ee850b664ccf31fc284b0c5e3985d10245f0486cb7874e4f7c456d52a58660405161107c91906131a8565b60405180910390a25b600084111561112c576110bb30600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1686611fed565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc6ed111f8bd14bd22a954c62c2799ec5f9144d78a9b739ee37ee9a00e6c81d668560405161112391906131a8565b60405180910390a25b60008211156111d35761116230600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684611fed565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f149056fd5e81d1373a707d130e5eaf7941d6407dc8553b3d66471e9834421f43836040516111ca91906131a8565b60405180910390a25b600083111561127a5761120930600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1685611fed565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7ce5f3f619be69c6c0f30f3bbd013fbefe37c19491d53fdc21b003f980f40c1e8460405161127191906131a8565b60405180910390a25b505050505050505050565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600d54905090565b6301e1338081565b6000600c54905090565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6113218261131b611b3c565b83611f61565b61132b8282612431565b5050565b6b107a9f01fbda8e036c00000081565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66113718161136c611b3c565b611d0f565b7f0000000000000000000000000000000000000000000000000000000063f71d004210156113d4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113cb90613048565b60405180910390fd5b60006114116b02e87669c308736a040000007f0000000000000000000000000000000000000000000000000000000063f71d006302d1cd40611dac565b90506000600d546b02e87669c308736a0400000061142f91906132e6565b8261143a91906132e6565b90506000811161147f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161147690613088565b60405180910390fd5b80600d600082825461149191906132e6565b925050819055506114c4600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e01565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f7ce5f3f619be69c6c0f30f3bbd013fbefe37c19491d53fdc21b003f980f40c1e8260405161152c91906131a8565b60405180910390a2505050565b6b033b2e3c9fd0803ce800000081565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6060600480546115ed90613402565b80601f016020809104026020016040519081016040528092919081815260200182805461161990613402565b80156116665780601f1061163b57610100808354040283529160200191611666565b820191906000526020600020905b81548152906001019060200180831161164957829003601f168201915b5050505050905090565b6302c7ea0081565b6000801b81565b60008061168a611b3c565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611750576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161174790613128565b60405180910390fd5b61175d8286868403611b44565b60019250505092915050565b600080611774611b3c565b9050611781818585611fed565b600191505092915050565b6000600e54905090565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6302d1cd4081565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6117f182610be5565b611802816117fd611b3c565b611d0f565b61180c838361234f565b505050565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66118f0816118eb611b3c565b611d0f565b7f0000000000000000000000000000000000000000000000000000000064e46b00421015611953576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161194a90612fc8565b60405180910390fd5b60006119906b033b2e3c9fd0803ce80000007f0000000000000000000000000000000000000000000000000000000064e46b006305a39a80611dac565b90506000600c546b033b2e3c9fd0803ce80000006119ae91906132e6565b826119b991906132e6565b9050600081116119fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119f590612fe8565b60405180910390fd5b80600c6000828254611a1091906132e6565b92505081905550611a43600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1682611e01565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167fc6ed111f8bd14bd22a954c62c2799ec5f9144d78a9b739ee37ee9a00e6c81d6682604051611aab91906131a8565b60405180910390a2505050565b6b02e87669c308736a0400000081565b6000600b54905090565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611bb4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bab906130e8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611c24576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c1b90613008565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051611d0291906131a8565b60405180910390a3505050565b611d198282611573565b611da857611d3e8173ffffffffffffffffffffffffffffffffffffffff166014612608565b611d4c8360001c6020612608565b604051602001611d5d929190612e9b565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9f9190612f26565b60405180910390fd5b5050565b600082421015611dbf5760009050611dfa565b60008342611dcd91906132e6565b9050828110611ddf5784915050611dfa565b828186611dec919061328c565b611df6919061325b565b9150505b9392505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611e71576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6890613188565b60405180910390fd5b611e7d60008383612902565b8060026000828254611e8f9190613205565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611ee49190613205565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f4991906131a8565b60405180910390a3611f5d60008383612907565b5050565b6000611f6d8484611837565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114611fe75781811015611fd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fd090613028565b60405180910390fd5b611fe68484848403611b44565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561205d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612054906130c8565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c490612f68565b60405180910390fd5b6120d8838383612902565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508181101561215e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161215590613068565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546121f19190613205565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161225591906131a8565b60405180910390a3612268848484612907565b50505050565b6122788282611573565b61234b5760016005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506122f0611b3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6123598282611573565b1561242d5760006005600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506123d2611b3c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156124a1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612498906130a8565b60405180910390fd5b6124ad82600083612902565b60008060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015612533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161252a90612fa8565b60405180910390fd5b8181036000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816002600082825461258a91906132e6565b92505081905550600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516125ef91906131a8565b60405180910390a361260383600084612907565b505050565b60606000600283600261261b919061328c565b6126259190613205565b67ffffffffffffffff811115612664577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156126965781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106126f4577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061277e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600060018460026127be919061328c565b6127c89190613205565b90505b60018111156128b4577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612830577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b82828151811061286d577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806128ad906133d8565b90506127cb565b50600084146128f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128ef90612f48565b60405180910390fd5b8091505092915050565b505050565b505050565b60008135905061291b816139ab565b92915050565b600081359050612930816139c2565b92915050565b600081359050612945816139d9565b92915050565b60008135905061295a816139f0565b92915050565b60006020828403121561297257600080fd5b60006129808482850161290c565b91505092915050565b6000806040838503121561299c57600080fd5b60006129aa8582860161290c565b92505060206129bb8582860161290c565b9150509250929050565b6000806000606084860312156129da57600080fd5b60006129e88682870161290c565b93505060206129f98682870161290c565b9250506040612a0a8682870161294b565b9150509250925092565b60008060408385031215612a2757600080fd5b6000612a358582860161290c565b9250506020612a468582860161294b565b9150509250929050565b600060208284031215612a6257600080fd5b6000612a7084828501612921565b91505092915050565b60008060408385031215612a8c57600080fd5b6000612a9a85828601612921565b9250506020612aab8582860161290c565b9150509250929050565b600060208284031215612ac757600080fd5b6000612ad584828501612936565b91505092915050565b600060208284031215612af057600080fd5b6000612afe8482850161294b565b91505092915050565b612b108161331a565b82525050565b612b1f8161332c565b82525050565b612b2e81613338565b82525050565b6000612b3f826131de565b612b4981856131e9565b9350612b598185602086016133a5565b612b62816134c1565b840191505092915050565b6000612b78826131de565b612b8281856131fa565b9350612b928185602086016133a5565b80840191505092915050565b6000612bab6020836131e9565b9150612bb6826134d2565b602082019050919050565b6000612bce6023836131e9565b9150612bd9826134fb565b604082019050919050565b6000612bf16012836131e9565b9150612bfc8261354a565b602082019050919050565b6000612c146022836131e9565b9150612c1f82613573565b604082019050919050565b6000612c37601c836131e9565b9150612c42826135c2565b602082019050919050565b6000612c5a6018836131e9565b9150612c65826135eb565b602082019050919050565b6000612c7d6022836131e9565b9150612c8882613614565b604082019050919050565b6000612ca0601d836131e9565b9150612cab82613663565b602082019050919050565b6000612cc3601f836131e9565b9150612cce8261368c565b602082019050919050565b6000612ce66026836131e9565b9150612cf1826136b5565b604082019050919050565b6000612d09601b836131e9565b9150612d1482613704565b602082019050919050565b6000612d2c6021836131e9565b9150612d378261372d565b604082019050919050565b6000612d4f6025836131e9565b9150612d5a8261377c565b604082019050919050565b6000612d726024836131e9565b9150612d7d826137cb565b604082019050919050565b6000612d956021836131e9565b9150612da08261381a565b604082019050919050565b6000612db86017836131fa565b9150612dc382613869565b601782019050919050565b6000612ddb6025836131e9565b9150612de682613892565b604082019050919050565b6000612dfe6011836131fa565b9150612e09826138e1565b601182019050919050565b6000612e21601d836131e9565b9150612e2c8261390a565b602082019050919050565b6000612e44602f836131e9565b9150612e4f82613933565b604082019050919050565b6000612e67601f836131e9565b9150612e7282613982565b602082019050919050565b612e868161338e565b82525050565b612e9581613398565b82525050565b6000612ea682612dab565b9150612eb28285612b6d565b9150612ebd82612df1565b9150612ec98284612b6d565b91508190509392505050565b6000602082019050612eea6000830184612b07565b92915050565b6000602082019050612f056000830184612b16565b92915050565b6000602082019050612f206000830184612b25565b92915050565b60006020820190508181036000830152612f408184612b34565b905092915050565b60006020820190508181036000830152612f6181612b9e565b9050919050565b60006020820190508181036000830152612f8181612bc1565b9050919050565b60006020820190508181036000830152612fa181612be4565b9050919050565b60006020820190508181036000830152612fc181612c07565b9050919050565b60006020820190508181036000830152612fe181612c2a565b9050919050565b6000602082019050818103600083015261300181612c4d565b9050919050565b6000602082019050818103600083015261302181612c70565b9050919050565b6000602082019050818103600083015261304181612c93565b9050919050565b6000602082019050818103600083015261306181612cb6565b9050919050565b6000602082019050818103600083015261308181612cd9565b9050919050565b600060208201905081810360008301526130a181612cfc565b9050919050565b600060208201905081810360008301526130c181612d1f565b9050919050565b600060208201905081810360008301526130e181612d42565b9050919050565b6000602082019050818103600083015261310181612d65565b9050919050565b6000602082019050818103600083015261312181612d88565b9050919050565b6000602082019050818103600083015261314181612dce565b9050919050565b6000602082019050818103600083015261316181612e14565b9050919050565b6000602082019050818103600083015261318181612e37565b9050919050565b600060208201905081810360008301526131a181612e5a565b9050919050565b60006020820190506131bd6000830184612e7d565b92915050565b60006020820190506131d86000830184612e8c565b92915050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b60006132108261338e565b915061321b8361338e565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156132505761324f613434565b5b828201905092915050565b60006132668261338e565b91506132718361338e565b92508261328157613280613463565b5b828204905092915050565b60006132978261338e565b91506132a28361338e565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff04831182151516156132db576132da613434565b5b828202905092915050565b60006132f18261338e565b91506132fc8361338e565b92508282101561330f5761330e613434565b5b828203905092915050565b60006133258261336e565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156133c35780820151818401526020810190506133a8565b838111156133d2576000848401525b50505050565b60006133e38261338e565b915060008214156133f7576133f6613434565b5b600182039050919050565b6000600282049050600182168061341a57607f821691505b6020821081141561342e5761342d613492565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f20746f6b656e7320746f20636c61696d0000000000000000000000000000600082015250565b7f45524332303a206275726e20616d6f756e7420657863656564732062616c616e60008201527f6365000000000000000000000000000000000000000000000000000000000000602082015250565b7f5465616d20746f6b656e7320617265207374696c6c206c6f636b656400000000600082015250565b7f4e6f207465616d20746f6b656e7320746f20756e6c6f636b0000000000000000600082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f41647669736f7220746f6b656e7320617265207374696c6c206c6f636b656400600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4e6f2061647669736f7220746f6b656e7320746f20756e6c6f636b0000000000600082015250565b7f45524332303a206275726e2066726f6d20746865207a65726f2061646472657360008201527f7300000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f436f6d6d756e69747920746f6b656e7320617265207374696c6c206c6f636b6560008201527f6400000000000000000000000000000000000000000000000000000000000000602082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f4e6f20636f6d6d756e69747920746f6b656e7320746f20756e6c6f636b000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b6139b48161331a565b81146139bf57600080fd5b50565b6139cb81613338565b81146139d657600080fd5b50565b6139e281613342565b81146139ed57600080fd5b50565b6139f98161338e565b8114613a0457600080fd5b5056fea26469706673582212204cd7c0fae293de57d3f49d3817ecf0c8eb4ffe1e70500108f12e3d6636864fb264736f6c63430008040033