[ { "inputs": [ { "internalType": "string", "name": "_name", "type": "string" }, { "internalType": "string", "name": "_symbol", "type": "string" }, { "internalType": "string", "name": "_initBaseURI", "type": "string" } ], "stateMutability": "nonpayable", "type": "constructor" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "approved", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Approval", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "owner", "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": "previousOwner", "type": "address" }, { "indexed": true, "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "OwnershipTransferred", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": true, "internalType": "address", "name": "from", "type": "address" }, { "indexed": true, "internalType": "address", "name": "to", "type": "address" }, { "indexed": true, "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "Transfer", "type": "event" }, { "inputs": [ { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "approve", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" } ], "name": "balanceOf", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseExtension", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "baseURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "cost", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "getApproved", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "address", "name": "operator", "type": "address" } ], "name": "isApprovedForAll", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxMintAmount", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "maxSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_to", "type": "address" }, { "internalType": "uint256", "name": "_mintAmount", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "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": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "ownerOf", "outputs": [ { "internalType": "address", "name": "", "type": "address" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "_state", "type": "bool" } ], "name": "pause", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "paused", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "removeWhitelistUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "safeTransferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "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": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseExtension", "type": "string" } ], "name": "setBaseExtension", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "_newBaseURI", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newCost", "type": "uint256" } ], "name": "setCost", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_newmaxMintAmount", "type": "uint256" } ], "name": "setmaxMintAmount", "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": [ { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "owner", "type": "address" }, { "internalType": "uint256", "name": "index", "type": "uint256" } ], "name": "tokenOfOwnerByIndex", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "tokenURI", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "totalSupply", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "from", "type": "address" }, { "internalType": "address", "name": "to", "type": "address" }, { "internalType": "uint256", "name": "tokenId", "type": "uint256" } ], "name": "transferFrom", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "newOwner", "type": "address" } ], "name": "transferOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_owner", "type": "address" } ], "name": "walletOfOwner", "outputs": [ { "internalType": "uint256[]", "name": "", "type": "uint256[]" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "_user", "type": "address" } ], "name": "whitelistUser", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "", "type": "address" } ], "name": "whitelisted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "withdraw", "outputs": [], "stateMutability": "payable", "type": "function" } ]
60806040526040518060400160405280600581526020017f2e6a736f6e000000000000000000000000000000000000000000000000000000815250600c90816200004a919062001176565b506000600d55612710600e556001600f556000601060006101000a81548160ff0219169083151502179055503480156200008357600080fd5b5060405162005dfb38038062005dfb8339818101604052810190620000a99190620013c1565b82828160009081620000bc919062001176565b508060019081620000ce919062001176565b505050620000f1620000e56200011e60201b60201c565b6200012660201b60201c565b6200010281620001ec60201b60201c565b620001153360016200021160201b60201c565b50505062001ada565b600033905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620001fc6200038060201b60201c565b80600b90816200020d919062001176565b5050565b6000620002236200041160201b60201c565b9050601060009054906101000a900460ff16156200024057600080fd5b600082116200024e57600080fd5b600f548211156200025e57600080fd5b600e5482826200026f9190620014a9565b11156200027b57600080fd5b6200028b6200041e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614620003365760011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514620003355781600d54620003279190620014e4565b3410156200033457600080fd5b5b5b6000600190505b8281116200037a5762000364848284620003589190620014a9565b6200044860201b60201c565b808062000371906200152f565b9150506200033d565b50505050565b620003906200011e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620003b66200041e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16146200040f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200040690620015dd565b60405180910390fd5b565b6000600880549050905090565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200046a8282604051806020016040528060008152506200046e60201b60201c565b5050565b620004808383620004dc60201b60201c565b6200049560008484846200072260201b60201c565b620004d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004ce9062001675565b60405180910390fd5b505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200054e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200054590620016e7565b60405180910390fd5b6200055f81620008cb60201b60201c565b15620005a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005999062001759565b60405180910390fd5b620005b86000838360016200091460201b60201c565b620005c981620008cb60201b60201c565b156200060c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620006039062001759565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a46200071e60008383600162000aa860201b60201c565b5050565b6000620007508473ffffffffffffffffffffffffffffffffffffffff1662000aae60201b6200168d1760201c565b15620008be578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02620007826200011e60201b60201c565b8786866040518563ffffffff1660e01b8152600401620007a694939291906200182e565b6020604051808303816000875af1925050508015620007e557506040513d601f19601f82011682018060405250810190620007e29190620018df565b60015b6200086d573d806000811462000818576040519150601f19603f3d011682016040523d82523d6000602084013e6200081d565b606091505b50600081510362000865576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200085c9062001675565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050620008c3565b600190505b949350505050565b60008073ffffffffffffffffffffffffffffffffffffffff16620008f58362000ad160201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6200092d8484848462000b0e60201b620016b01760201c565b600181111562000974576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200096b9062001987565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1603620009c557620009bf8162000b1460201b60201c565b62000a0d565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161462000a0c5762000a0b858262000b5d60201b60201c565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff160362000a595762000a538162000cda60201b60201c565b62000aa1565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161462000aa05762000a9f848262000db660201b60201c565b5b5b5050505050565b50505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b50505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b6000600162000b778462000e4260201b620011ec1760201c565b62000b839190620019a9565b905060006007600084815260200190815260200160002054905081811462000c69576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905062000cf09190620019a9565b905060006009600084815260200190815260200160002054905060006008838154811062000d235762000d22620019e4565b5b90600052602060002001549050806008838154811062000d485762000d47620019e4565b5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548062000d9a5762000d9962001a13565b5b6001900381819060005260206000200160009055905550505050565b600062000dce8362000e4260201b620011ec1760201c565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000eb5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000eac9062001ab8565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000f7e57607f821691505b60208210810362000f945762000f9362000f36565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000ffe7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000fbf565b6200100a868362000fbf565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062001057620010516200104b8462001022565b6200102c565b62001022565b9050919050565b6000819050919050565b620010738362001036565b6200108b62001082826200105e565b84845462000fcc565b825550505050565b600090565b620010a262001093565b620010af81848462001068565b505050565b5b81811015620010d757620010cb60008262001098565b600181019050620010b5565b5050565b601f8211156200112657620010f08162000f9a565b620010fb8462000faf565b810160208510156200110b578190505b620011236200111a8562000faf565b830182620010b4565b50505b505050565b600082821c905092915050565b60006200114b600019846008026200112b565b1980831691505092915050565b600062001166838362001138565b9150826002028217905092915050565b620011818262000efc565b67ffffffffffffffff8111156200119d576200119c62000f07565b5b620011a9825462000f65565b620011b6828285620010db565b600060209050601f831160018114620011ee5760008415620011d9578287015190505b620011e5858262001158565b86555062001255565b601f198416620011fe8662000f9a565b60005b82811015620012285784890151825560018201915060208501945060208101905062001201565b8683101562001248578489015162001244601f89168262001138565b8355505b6001600288020188555050505b505050505050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b62001297826200127b565b810181811067ffffffffffffffff82111715620012b957620012b862000f07565b5b80604052505050565b6000620012ce6200125d565b9050620012dc82826200128c565b919050565b600067ffffffffffffffff821115620012ff57620012fe62000f07565b5b6200130a826200127b565b9050602081019050919050565b60005b83811015620013375780820151818401526020810190506200131a565b60008484015250505050565b60006200135a6200135484620012e1565b620012c2565b90508281526020810184848401111562001379576200137862001276565b5b6200138684828562001317565b509392505050565b600082601f830112620013a657620013a562001271565b5b8151620013b884826020860162001343565b91505092915050565b600080600060608486031215620013dd57620013dc62001267565b5b600084015167ffffffffffffffff811115620013fe57620013fd6200126c565b5b6200140c868287016200138e565b935050602084015167ffffffffffffffff81111562001430576200142f6200126c565b5b6200143e868287016200138e565b925050604084015167ffffffffffffffff8111156200146257620014616200126c565b5b62001470868287016200138e565b9150509250925092565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000620014b68262001022565b9150620014c38362001022565b9250828201905080821115620014de57620014dd6200147a565b5b92915050565b6000620014f18262001022565b9150620014fe8362001022565b92508282026200150e8162001022565b915082820484148315176200152857620015276200147a565b5b5092915050565b60006200153c8262001022565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036200157157620015706200147a565b5b600182019050919050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000620015c56020836200157c565b9150620015d2826200158d565b602082019050919050565b60006020820190508181036000830152620015f881620015b6565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006200165d6032836200157c565b91506200166a82620015ff565b604082019050919050565b6000602082019050818103600083015262001690816200164e565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000620016cf6020836200157c565b9150620016dc8262001697565b602082019050919050565b600060208201905081810360008301526200170281620016c0565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600062001741601c836200157c565b91506200174e8262001709565b602082019050919050565b60006020820190508181036000830152620017748162001732565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620017a8826200177b565b9050919050565b620017ba816200179b565b82525050565b620017cb8162001022565b82525050565b600081519050919050565b600082825260208201905092915050565b6000620017fa82620017d1565b620018068185620017dc565b93506200181881856020860162001317565b62001823816200127b565b840191505092915050565b6000608082019050620018456000830187620017af565b620018546020830186620017af565b620018636040830185620017c0565b8181036060830152620018778184620017ed565b905095945050505050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b620018b98162001882565b8114620018c557600080fd5b50565b600081519050620018d981620018ae565b92915050565b600060208284031215620018f857620018f762001267565b5b60006200190884828501620018c8565b91505092915050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b60006200196f6035836200157c565b91506200197c8262001911565b604082019050919050565b60006020820190508181036000830152620019a28162001960565b9050919050565b6000620019b68262001022565b9150620019c38362001022565b9250828203905081811115620019de57620019dd6200147a565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600062001aa06029836200157c565b915062001aad8262001a42565b604082019050919050565b6000602082019050818103600083015262001ad38162001a91565b9050919050565b6143118062001aea6000396000f3fe60806040526004361061020f5760003560e01c806355f804b311610118578063a22cb465116100a0578063d5abeb011161006f578063d5abeb011461077f578063d936547e146107aa578063da3ef23f146107e7578063e985e9c514610810578063f2fde38b1461084d5761020f565b8063a22cb465146106c5578063b88d4fde146106ee578063c668286214610717578063c87b56dd146107425761020f565b806370a08231116100e757806370a08231146105f2578063715018a61461062f5780637f00c7a6146106465780638da5cb5b1461066f57806395d89b411461069a5761020f565b806355f804b3146105365780635c975abb1461055f5780636352211e1461058a5780636c0360eb146105c75761020f565b80632f745c591161019b57806342842e0e1161016a57806342842e0e14610441578063438b63001461046a57806344a0d68a146104a75780634a4c560d146104d05780634f6ccce7146104f95761020f565b80632f745c59146103b557806330cc7ae0146103f25780633ccfd60b1461041b57806340c10f19146104255761020f565b8063095ea7b3116101e2578063095ea7b3146102e257806313faede61461030b57806318160ddd14610336578063239c70ae1461036157806323b872dd1461038c5761020f565b806301ffc9a71461021457806302329a291461025157806306fdde031461027a578063081812fc146102a5575b600080fd5b34801561022057600080fd5b5061023b60048036038101906102369190612bcc565b610876565b6040516102489190612c14565b60405180910390f35b34801561025d57600080fd5b5061027860048036038101906102739190612c5b565b6108f0565b005b34801561028657600080fd5b5061028f610915565b60405161029c9190612d18565b60405180910390f35b3480156102b157600080fd5b506102cc60048036038101906102c79190612d70565b6109a7565b6040516102d99190612dde565b60405180910390f35b3480156102ee57600080fd5b5061030960048036038101906103049190612e25565b6109ed565b005b34801561031757600080fd5b50610320610b04565b60405161032d9190612e74565b60405180910390f35b34801561034257600080fd5b5061034b610b0a565b6040516103589190612e74565b60405180910390f35b34801561036d57600080fd5b50610376610b17565b6040516103839190612e74565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae9190612e8f565b610b1d565b005b3480156103c157600080fd5b506103dc60048036038101906103d79190612e25565b610b7d565b6040516103e99190612e74565b60405180910390f35b3480156103fe57600080fd5b5061041960048036038101906104149190612ee2565b610c22565b005b610423610c85565b005b61043f600480360381019061043a9190612e25565b610db0565b005b34801561044d57600080fd5b5061046860048036038101906104639190612e8f565b610ef6565b005b34801561047657600080fd5b50610491600480360381019061048c9190612ee2565b610f16565b60405161049e9190612fcd565b60405180910390f35b3480156104b357600080fd5b506104ce60048036038101906104c99190612d70565b610fc4565b005b3480156104dc57600080fd5b506104f760048036038101906104f29190612ee2565b610fd6565b005b34801561050557600080fd5b50610520600480360381019061051b9190612d70565b611039565b60405161052d9190612e74565b60405180910390f35b34801561054257600080fd5b5061055d60048036038101906105589190613124565b6110aa565b005b34801561056b57600080fd5b506105746110c5565b6040516105819190612c14565b60405180910390f35b34801561059657600080fd5b506105b160048036038101906105ac9190612d70565b6110d8565b6040516105be9190612dde565b60405180910390f35b3480156105d357600080fd5b506105dc61115e565b6040516105e99190612d18565b60405180910390f35b3480156105fe57600080fd5b5061061960048036038101906106149190612ee2565b6111ec565b6040516106269190612e74565b60405180910390f35b34801561063b57600080fd5b506106446112a3565b005b34801561065257600080fd5b5061066d60048036038101906106689190612d70565b6112b7565b005b34801561067b57600080fd5b506106846112c9565b6040516106919190612dde565b60405180910390f35b3480156106a657600080fd5b506106af6112f3565b6040516106bc9190612d18565b60405180910390f35b3480156106d157600080fd5b506106ec60048036038101906106e7919061316d565b611385565b005b3480156106fa57600080fd5b506107156004803603810190610710919061324e565b61139b565b005b34801561072357600080fd5b5061072c6113fd565b6040516107399190612d18565b60405180910390f35b34801561074e57600080fd5b5061076960048036038101906107649190612d70565b61148b565b6040516107769190612d18565b60405180910390f35b34801561078b57600080fd5b50610794611535565b6040516107a19190612e74565b60405180910390f35b3480156107b657600080fd5b506107d160048036038101906107cc9190612ee2565b61153b565b6040516107de9190612c14565b60405180910390f35b3480156107f357600080fd5b5061080e60048036038101906108099190613124565b61155b565b005b34801561081c57600080fd5b50610837600480360381019061083291906132d1565b611576565b6040516108449190612c14565b60405180910390f35b34801561085957600080fd5b50610874600480360381019061086f9190612ee2565b61160a565b005b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108e957506108e8826116b6565b5b9050919050565b6108f8611798565b80601060006101000a81548160ff02191690831515021790555050565b60606000805461092490613340565b80601f016020809104026020016040519081016040528092919081815260200182805461095090613340565b801561099d5780601f106109725761010080835404028352916020019161099d565b820191906000526020600020905b81548152906001019060200180831161098057829003601f168201915b5050505050905090565b60006109b282611816565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006109f8826110d8565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a68576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5f906133e3565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a87611861565b73ffffffffffffffffffffffffffffffffffffffff161480610ab65750610ab581610ab0611861565b611576565b5b610af5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aec90613475565b60405180910390fd5b610aff8383611869565b505050565b600d5481565b6000600880549050905090565b600f5481565b610b2e610b28611861565b82611922565b610b6d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b6490613507565b60405180910390fd5b610b788383836119b7565b505050565b6000610b88836111ec565b8210610bc9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bc090613599565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b610c2a611798565b6000601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b610c8d611798565b600073f0246c84bb2dcb2c68a17047480a669d59e2f41c73ffffffffffffffffffffffffffffffffffffffff166064600047610cc991906135e8565b610cd39190613659565b604051610cdf906136bb565b60006040518083038185875af1925050503d8060008114610d1c576040519150601f19603f3d011682016040523d82523d6000602084013e610d21565b606091505b5050905080610d2f57600080fd5b6000610d396112c9565b73ffffffffffffffffffffffffffffffffffffffff1647604051610d5c906136bb565b60006040518083038185875af1925050503d8060008114610d99576040519150601f19603f3d011682016040523d82523d6000602084013e610d9e565b606091505b5050905080610dac57600080fd5b5050565b6000610dba610b0a565b9050601060009054906101000a900460ff1615610dd657600080fd5b60008211610de357600080fd5b600f54821115610df257600080fd5b600e548282610e0191906136d0565b1115610e0c57600080fd5b610e146112c9565b73ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614610eba5760011515601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16151514610eb95781600d54610eac91906135e8565b341015610eb857600080fd5b5b5b6000600190505b828111610ef057610edd848284610ed891906136d0565b611cb0565b8080610ee890613704565b915050610ec1565b50505050565b610f118383836040518060200160405280600081525061139b565b505050565b60606000610f23836111ec565b905060008167ffffffffffffffff811115610f4157610f40612ff9565b5b604051908082528060200260200182016040528015610f6f5781602001602082028036833780820191505090505b50905060005b82811015610fb957610f878582610b7d565b828281518110610f9a57610f9961374c565b5b6020026020010181815250508080610fb190613704565b915050610f75565b508092505050919050565b610fcc611798565b80600d8190555050565b610fde611798565b6001601160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555050565b6000611043610b0a565b8210611084576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107b906137ed565b60405180910390fd5b600882815481106110985761109761374c565b5b90600052602060002001549050919050565b6110b2611798565b80600b90816110c191906139b9565b5050565b601060009054906101000a900460ff1681565b6000806110e483611cce565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611155576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161114c90613ad7565b60405180910390fd5b80915050919050565b600b805461116b90613340565b80601f016020809104026020016040519081016040528092919081815260200182805461119790613340565b80156111e45780601f106111b9576101008083540402835291602001916111e4565b820191906000526020600020905b8154815290600101906020018083116111c757829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361125c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125390613b69565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6112ab611798565b6112b56000611d0b565b565b6112bf611798565b80600f8190555050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461130290613340565b80601f016020809104026020016040519081016040528092919081815260200182805461132e90613340565b801561137b5780601f106113505761010080835404028352916020019161137b565b820191906000526020600020905b81548152906001019060200180831161135e57829003601f168201915b5050505050905090565b611397611390611861565b8383611dd1565b5050565b6113ac6113a6611861565b83611922565b6113eb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113e290613507565b60405180910390fd5b6113f784848484611f3d565b50505050565b600c805461140a90613340565b80601f016020809104026020016040519081016040528092919081815260200182805461143690613340565b80156114835780601f1061145857610100808354040283529160200191611483565b820191906000526020600020905b81548152906001019060200180831161146657829003601f168201915b505050505081565b606061149682611f99565b6114d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114cc90613bfb565b60405180910390fd5b60006114df611fda565b905060008151116114ff576040518060200160405280600081525061152d565b806115098461206c565b600c60405160200161151d93929190613cda565b6040516020818303038152906040525b915050919050565b600e5481565b60116020528060005260406000206000915054906101000a900460ff1681565b611563611798565b80600c908161157291906139b9565b5050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b611612611798565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611681576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161167890613d7d565b60405180910390fd5b61168a81611d0b565b50565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b50505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061178157507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061179157506117908261213a565b5b9050919050565b6117a0611861565b73ffffffffffffffffffffffffffffffffffffffff166117be6112c9565b73ffffffffffffffffffffffffffffffffffffffff1614611814576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180b90613de9565b60405180910390fd5b565b61181f81611f99565b61185e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185590613ad7565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166118dc836110d8565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061192e836110d8565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611970575061196f8185611576565b5b806119ae57508373ffffffffffffffffffffffffffffffffffffffff16611996846109a7565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166119d7826110d8565b73ffffffffffffffffffffffffffffffffffffffff1614611a2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a2490613e7b565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611a9c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a9390613f0d565b60405180910390fd5b611aa983838360016121a4565b8273ffffffffffffffffffffffffffffffffffffffff16611ac9826110d8565b73ffffffffffffffffffffffffffffffffffffffff1614611b1f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b1690613e7b565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611cab8383836001612302565b505050565b611cca828260405180602001604052806000815250612308565b5050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611e3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e3690613f79565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611f309190612c14565b60405180910390a3505050565b611f488484846119b7565b611f5484848484612363565b611f93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8a9061400b565b60405180910390fd5b50505050565b60008073ffffffffffffffffffffffffffffffffffffffff16611fbb83611cce565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b6060600b8054611fe990613340565b80601f016020809104026020016040519081016040528092919081815260200182805461201590613340565b80156120625780601f1061203757610100808354040283529160200191612062565b820191906000526020600020905b81548152906001019060200180831161204557829003601f168201915b5050505050905090565b60606000600161207b846124ea565b01905060008167ffffffffffffffff81111561209a57612099612ff9565b5b6040519080825280601f01601f1916602001820160405280156120cc5781602001600182028036833780820191505090505b509050600082602001820190505b60011561212f578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816121235761212261362a565b5b049450600085036120da575b819350505050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6121b0848484846116b0565b60018111156121f4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121eb9061409d565b60405180910390fd5b6000829050600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff160361223b576122368161263d565b61227a565b8373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614612279576122788582612686565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036122bc576122b7816127f3565b6122fb565b8473ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146122fa576122f984826128c4565b5b5b5050505050565b50505050565b6123128383612943565b61231f6000848484612363565b61235e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123559061400b565b60405180910390fd5b505050565b60006123848473ffffffffffffffffffffffffffffffffffffffff1661168d565b156124dd578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026123ad611861565b8786866040518563ffffffff1660e01b81526004016123cf9493929190614112565b6020604051808303816000875af192505050801561240b57506040513d601f19601f820116820180604052508101906124089190614173565b60015b61248d573d806000811461243b576040519150601f19603f3d011682016040523d82523d6000602084013e612440565b606091505b506000815103612485576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161247c9061400b565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506124e2565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612548577a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000838161253e5761253d61362a565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612585576d04ee2d6d415b85acef8100000000838161257b5761257a61362a565b5b0492506020810190505b662386f26fc1000083106125b457662386f26fc1000083816125aa576125a961362a565b5b0492506010810190505b6305f5e10083106125dd576305f5e10083816125d3576125d261362a565b5b0492506008810190505b61271083106126025761271083816125f8576125f761362a565b5b0492506004810190505b60648310612625576064838161261b5761261a61362a565b5b0492506002810190505b600a8310612634576001810190505b80915050919050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b60006001612693846111ec565b61269d91906141a0565b9050600060076000848152602001908152602001600020549050818114612782576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b6000600160088054905061280791906141a0565b90506000600960008481526020019081526020016000205490506000600883815481106128375761283661374c565b5b9060005260206000200154905080600883815481106128595761285861374c565b5b9060005260206000200181905550816009600083815260200190815260200160002081905550600960008581526020019081526020016000206000905560088054806128a8576128a76141d4565b5b6001900381819060005260206000200160009055905550505050565b60006128cf836111ec565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036129b2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129a99061424f565b60405180910390fd5b6129bb81611f99565b156129fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129f2906142bb565b60405180910390fd5b612a096000838360016121a4565b612a1281611f99565b15612a52576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a49906142bb565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4612b5c600083836001612302565b5050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612ba981612b74565b8114612bb457600080fd5b50565b600081359050612bc681612ba0565b92915050565b600060208284031215612be257612be1612b6a565b5b6000612bf084828501612bb7565b91505092915050565b60008115159050919050565b612c0e81612bf9565b82525050565b6000602082019050612c296000830184612c05565b92915050565b612c3881612bf9565b8114612c4357600080fd5b50565b600081359050612c5581612c2f565b92915050565b600060208284031215612c7157612c70612b6a565b5b6000612c7f84828501612c46565b91505092915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612cc2578082015181840152602081019050612ca7565b60008484015250505050565b6000601f19601f8301169050919050565b6000612cea82612c88565b612cf48185612c93565b9350612d04818560208601612ca4565b612d0d81612cce565b840191505092915050565b60006020820190508181036000830152612d328184612cdf565b905092915050565b6000819050919050565b612d4d81612d3a565b8114612d5857600080fd5b50565b600081359050612d6a81612d44565b92915050565b600060208284031215612d8657612d85612b6a565b5b6000612d9484828501612d5b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612dc882612d9d565b9050919050565b612dd881612dbd565b82525050565b6000602082019050612df36000830184612dcf565b92915050565b612e0281612dbd565b8114612e0d57600080fd5b50565b600081359050612e1f81612df9565b92915050565b60008060408385031215612e3c57612e3b612b6a565b5b6000612e4a85828601612e10565b9250506020612e5b85828601612d5b565b9150509250929050565b612e6e81612d3a565b82525050565b6000602082019050612e896000830184612e65565b92915050565b600080600060608486031215612ea857612ea7612b6a565b5b6000612eb686828701612e10565b9350506020612ec786828701612e10565b9250506040612ed886828701612d5b565b9150509250925092565b600060208284031215612ef857612ef7612b6a565b5b6000612f0684828501612e10565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b612f4481612d3a565b82525050565b6000612f568383612f3b565b60208301905092915050565b6000602082019050919050565b6000612f7a82612f0f565b612f848185612f1a565b9350612f8f83612f2b565b8060005b83811015612fc0578151612fa78882612f4a565b9750612fb283612f62565b925050600181019050612f93565b5085935050505092915050565b60006020820190508181036000830152612fe78184612f6f565b905092915050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61303182612cce565b810181811067ffffffffffffffff821117156130505761304f612ff9565b5b80604052505050565b6000613063612b60565b905061306f8282613028565b919050565b600067ffffffffffffffff82111561308f5761308e612ff9565b5b61309882612cce565b9050602081019050919050565b82818337600083830152505050565b60006130c76130c284613074565b613059565b9050828152602081018484840111156130e3576130e2612ff4565b5b6130ee8482856130a5565b509392505050565b600082601f83011261310b5761310a612fef565b5b813561311b8482602086016130b4565b91505092915050565b60006020828403121561313a57613139612b6a565b5b600082013567ffffffffffffffff81111561315857613157612b6f565b5b613164848285016130f6565b91505092915050565b6000806040838503121561318457613183612b6a565b5b600061319285828601612e10565b92505060206131a385828601612c46565b9150509250929050565b600067ffffffffffffffff8211156131c8576131c7612ff9565b5b6131d182612cce565b9050602081019050919050565b60006131f16131ec846131ad565b613059565b90508281526020810184848401111561320d5761320c612ff4565b5b6132188482856130a5565b509392505050565b600082601f83011261323557613234612fef565b5b81356132458482602086016131de565b91505092915050565b6000806000806080858703121561326857613267612b6a565b5b600061327687828801612e10565b945050602061328787828801612e10565b935050604061329887828801612d5b565b925050606085013567ffffffffffffffff8111156132b9576132b8612b6f565b5b6132c587828801613220565b91505092959194509250565b600080604083850312156132e8576132e7612b6a565b5b60006132f685828601612e10565b925050602061330785828601612e10565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061335857607f821691505b60208210810361336b5761336a613311565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b60006133cd602183612c93565b91506133d882613371565b604082019050919050565b600060208201905081810360008301526133fc816133c0565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b600061345f603d83612c93565b915061346a82613403565b604082019050919050565b6000602082019050818103600083015261348e81613452565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b60006134f1602d83612c93565b91506134fc82613495565b604082019050919050565b60006020820190508181036000830152613520816134e4565b9050919050565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b6000613583602b83612c93565b915061358e82613527565b604082019050919050565b600060208201905081810360008301526135b281613576565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006135f382612d3a565b91506135fe83612d3a565b925082820261360c81612d3a565b91508282048414831517613623576136226135b9565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061366482612d3a565b915061366f83612d3a565b92508261367f5761367e61362a565b5b828204905092915050565b600081905092915050565b50565b60006136a560008361368a565b91506136b082613695565b600082019050919050565b60006136c682613698565b9150819050919050565b60006136db82612d3a565b91506136e683612d3a565b92508282019050808211156136fe576136fd6135b9565b5b92915050565b600061370f82612d3a565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613741576137406135b9565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b60006137d7602c83612c93565b91506137e28261377b565b604082019050919050565b60006020820190508181036000830152613806816137ca565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261386f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82613832565b6138798683613832565b95508019841693508086168417925050509392505050565b6000819050919050565b60006138b66138b16138ac84612d3a565b613891565b612d3a565b9050919050565b6000819050919050565b6138d08361389b565b6138e46138dc826138bd565b84845461383f565b825550505050565b600090565b6138f96138ec565b6139048184846138c7565b505050565b5b818110156139285761391d6000826138f1565b60018101905061390a565b5050565b601f82111561396d5761393e8161380d565b61394784613822565b81016020851015613956578190505b61396a61396285613822565b830182613909565b50505b505050565b600082821c905092915050565b600061399060001984600802613972565b1980831691505092915050565b60006139a9838361397f565b9150826002028217905092915050565b6139c282612c88565b67ffffffffffffffff8111156139db576139da612ff9565b5b6139e58254613340565b6139f082828561392c565b600060209050601f831160018114613a235760008415613a11578287015190505b613a1b858261399d565b865550613a83565b601f198416613a318661380d565b60005b82811015613a5957848901518255600182019150602085019450602081019050613a34565b86831015613a765784890151613a72601f89168261397f565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613ac1601883612c93565b9150613acc82613a8b565b602082019050919050565b60006020820190508181036000830152613af081613ab4565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b6000613b53602983612c93565b9150613b5e82613af7565b604082019050919050565b60006020820190508181036000830152613b8281613b46565b9050919050565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b6000613be5602f83612c93565b9150613bf082613b89565b604082019050919050565b60006020820190508181036000830152613c1481613bd8565b9050919050565b600081905092915050565b6000613c3182612c88565b613c3b8185613c1b565b9350613c4b818560208601612ca4565b80840191505092915050565b60008154613c6481613340565b613c6e8186613c1b565b94506001821660008114613c895760018114613c9e57613cd1565b60ff1983168652811515820286019350613cd1565b613ca78561380d565b60005b83811015613cc957815481890152600182019150602081019050613caa565b838801955050505b50505092915050565b6000613ce68286613c26565b9150613cf28285613c26565b9150613cfe8284613c57565b9150819050949350505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613d67602683612c93565b9150613d7282613d0b565b604082019050919050565b60006020820190508181036000830152613d9681613d5a565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613dd3602083612c93565b9150613dde82613d9d565b602082019050919050565b60006020820190508181036000830152613e0281613dc6565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613e65602583612c93565b9150613e7082613e09565b604082019050919050565b60006020820190508181036000830152613e9481613e58565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613ef7602483612c93565b9150613f0282613e9b565b604082019050919050565b60006020820190508181036000830152613f2681613eea565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000613f63601983612c93565b9150613f6e82613f2d565b602082019050919050565b60006020820190508181036000830152613f9281613f56565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b6000613ff5603283612c93565b915061400082613f99565b604082019050919050565b6000602082019050818103600083015261402481613fe8565b9050919050565b7f455243373231456e756d657261626c653a20636f6e736563757469766520747260008201527f616e7366657273206e6f7420737570706f727465640000000000000000000000602082015250565b6000614087603583612c93565b91506140928261402b565b604082019050919050565b600060208201905081810360008301526140b68161407a565b9050919050565b600081519050919050565b600082825260208201905092915050565b60006140e4826140bd565b6140ee81856140c8565b93506140fe818560208601612ca4565b61410781612cce565b840191505092915050565b60006080820190506141276000830187612dcf565b6141346020830186612dcf565b6141416040830185612e65565b818103606083015261415381846140d9565b905095945050505050565b60008151905061416d81612ba0565b92915050565b60006020828403121561418957614188612b6a565b5b60006141978482850161415e565b91505092915050565b60006141ab82612d3a565b91506141b683612d3a565b92508282039050818111156141ce576141cd6135b9565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000614239602083612c93565b915061424482614203565b602082019050919050565b600060208201905081810360008301526142688161422c565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006142a5601c83612c93565b91506142b08261426f565b602082019050919050565b600060208201905081810360008301526142d481614298565b905091905056fea26469706673582212200f0126398a8e177a4ba5203f603084c120bb69b79c1a107e415966fc99cc0a2364736f6c63430008120033000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000015426f726564204261736520417065204b69696e6773000000000000000000000000000000000000000000000000000000000000000000000000000000000000044242414b000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000043697066733a2f2f62616679626569637a626a7137753632676574646874663570683563357861686e6b78366b6e786d37373435346f6e6a376e347274696e657378342f0000000000000000000000000000000000000000000000000000000000