[ { "inputs": [ { "internalType": "address", "name": "registry_", "type": "address" } ], "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": false, "internalType": "uint256", "name": "_fromTokenId", "type": "uint256" }, { "indexed": false, "internalType": "uint256", "name": "_toTokenId", "type": "uint256" } ], "name": "BatchMetadataUpdate", "type": "event" }, { "anonymous": false, "inputs": [ { "indexed": false, "internalType": "uint256", "name": "_tokenId", "type": "uint256" } ], "name": "MetadataUpdate", "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": "operator", "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": [ { "internalType": "address", "name": "toCheck", "type": "address" } ], "name": "canTransfer", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "earlyAccessMintsRemaining", "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": "accounts", "type": "address[]" } ], "name": "grantEarlyAccess", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "account", "type": "address" } ], "name": "hasEarlyAccess", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [ { "internalType": "address", "name": "toCheck", "type": "address" } ], "name": "isBlocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toCheck", "type": "address" } ], "name": "isExplicitlyAllowed", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toCheck", "type": "address" } ], "name": "isLocallyBlocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "toCheck", "type": "address" } ], "name": "isRegistryBlocked", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "quantity", "type": "uint256" } ], "name": "mint", "outputs": [], "stateMutability": "payable", "type": "function" }, { "inputs": [], "name": "mintActive", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "mintHasStarted", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "name", "outputs": [ { "internalType": "string", "name": "", "type": "string" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "onlyEarlyAccess", "outputs": [ { "internalType": "bool", "name": "", "type": "bool" } ], "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": [], "name": "renounceOwnership", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "_tokenId", "type": "uint256" }, { "internalType": "uint256", "name": "_salePrice", "type": "uint256" } ], "name": "royaltyInfo", "outputs": [ { "internalType": "address", "name": "receiver", "type": "address" }, { "internalType": "uint256", "name": "royaltyAmount", "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": "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": [], "name": "secondsUntilEarlyAccess", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [], "name": "secondsUntilPublic", "outputs": [ { "internalType": "uint256", "name": "", "type": "uint256" } ], "stateMutability": "view", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "operator", "type": "address" }, { "internalType": "bool", "name": "approved", "type": "bool" } ], "name": "setApprovalForAll", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "artist_", "type": "address" } ], "name": "setArtist", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "string", "name": "customBaseURI_", "type": "string" } ], "name": "setBaseURI", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "op_", "type": "address" }, { "internalType": "bool", "name": "a_", "type": "bool" } ], "name": "setExplicitlyAllowed", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "op_", "type": "address" }, { "internalType": "bool", "name": "b_", "type": "bool" } ], "name": "setLocallyBlocked", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "bool", "name": "status", "type": "bool" } ], "name": "setMintActive", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "address", "name": "registry_", "type": "address" } ], "name": "setRegistry", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "royaltyAmount_", "type": "uint256" } ], "name": "setRoyaltyAmount", "outputs": [], "stateMutability": "nonpayable", "type": "function" }, { "inputs": [ { "internalType": "uint256", "name": "startTime_", "type": "uint256" } ], "name": "setStartTime", "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": "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" } ]
60806040523480156200001157600080fd5b50604051620055c5380380620055c5833981810160405281019062000037919062000b21565b6040518060400160405280600781526020017f42424769726c73000000000000000000000000000000000000000000000000008152506040518060400160405280600781526020017f42424749524c53000000000000000000000000000000000000000000000000008152508160009081620000b4919062000dcd565b508060019081620000c6919062000dcd565b505050620000e9620000dd620003a160201b60201c565b620003a960201b60201c565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550604051806060016040528060218152602001620055a460219139600d908162000154919062000dcd565b50610378600c81905550610320600e819055506000601460006101000a81548160ff0219169083151502179055506004600f81905550671bc16d674ec800006010819055506364b1c56060158190555073dba516b5c22fa983f1d4a2c2ebe6f5cb9c98bfd4601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555061119460138190555062000235601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b62000268601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b6200029b601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b620002ce601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b62000301601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b62000334601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b62000367601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b6200039a601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200046f60201b60201c565b506200119c565b600033905090565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620004866008620004ff60201b620018731760201c565b60006200049f60086200051560201b620018891760201c565b9050600c54811115620004e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e09062000f15565b60405180910390fd5b620004fb82826200052360201b60201c565b5050565b6001816000016000828254019250508190555050565b600081600001549050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160362000595576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200058c9062000f87565b60405180910390fd5b620005a6816200076960201b60201c565b15620005e9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005e09062000ff9565b60405180910390fd5b620005ff600083836001620007b260201b60201c565b62000610816200076960201b60201c565b1562000653576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200064a9062000ff9565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a462000765600083836001620008ac60201b60201c565b5050565b60008073ffffffffffffffffffffffffffffffffffffffff166200079383620008b260201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146200083a57620007f733620008ef60201b60201c565b62000839576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000830906200106b565b60405180910390fd5b5b6200084b83620008ef60201b60201c565b6200088d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200088490620010dd565b60405180910390fd5b620008a6848484846200092360201b620018971760201c565b50505050565b50505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600062000902826200092960201b60201c565b15806200091c57506200091b826200095c60201b60201c565b5b9050919050565b50505050565b60006200093c82620009b260201b60201c565b80620009555750620009548262000a6160201b60201c565b5b9050919050565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663e5962195846040518263ffffffff1660e01b815260040162000a15919062001110565b602060405180830381865afa15801562000a33573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000a5991906200116a565b915050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000ae98262000abc565b9050919050565b62000afb8162000adc565b811462000b0757600080fd5b50565b60008151905062000b1b8162000af0565b92915050565b60006020828403121562000b3a5762000b3962000ab7565b5b600062000b4a8482850162000b0a565b91505092915050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000bd557607f821691505b60208210810362000beb5762000bea62000b8d565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000c557fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000c16565b62000c61868362000c16565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000cae62000ca862000ca28462000c79565b62000c83565b62000c79565b9050919050565b6000819050919050565b62000cca8362000c8d565b62000ce262000cd98262000cb5565b84845462000c23565b825550505050565b600090565b62000cf962000cea565b62000d0681848462000cbf565b505050565b5b8181101562000d2e5762000d2260008262000cef565b60018101905062000d0c565b5050565b601f82111562000d7d5762000d478162000bf1565b62000d528462000c06565b8101602085101562000d62578190505b62000d7a62000d718562000c06565b83018262000d0b565b50505b505050565b600082821c905092915050565b600062000da26000198460080262000d82565b1980831691505092915050565b600062000dbd838362000d8f565b9150826002028217905092915050565b62000dd88262000b53565b67ffffffffffffffff81111562000df45762000df362000b5e565b5b62000e00825462000bbc565b62000e0d82828562000d32565b600060209050601f83116001811462000e45576000841562000e30578287015190505b62000e3c858262000daf565b86555062000eac565b601f19841662000e558662000bf1565b60005b8281101562000e7f5784890151825560018201915060208501945060208101905062000e58565b8683101562000e9f578489015162000e9b601f89168262000d8f565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f50726f6a6563742069732066696e6973686564206d696e74696e672e00000000600082015250565b600062000efd601c8362000eb4565b915062000f0a8262000ec5565b602082019050919050565b6000602082019050818103600083015262000f308162000eee565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b600062000f6f60208362000eb4565b915062000f7c8262000f37565b602082019050919050565b6000602082019050818103600083015262000fa28162000f60565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600062000fe1601c8362000eb4565b915062000fee8262000fa9565b602082019050919050565b60006020820190508181036000830152620010148162000fd2565b9050919050565b7f4f70657261746f7220686173206265656e20626c6f636b65642e000000000000600082015250565b600062001053601a8362000eb4565b915062001060826200101b565b602082019050919050565b60006020820190508181036000830152620010868162001044565b9050919050565b7f526563697069656e7420686173206265656e20626c6f636b65642e0000000000600082015250565b6000620010c5601b8362000eb4565b9150620010d2826200108d565b602082019050919050565b60006020820190508181036000830152620010f881620010b6565b9050919050565b6200110a8162000adc565b82525050565b6000602082019050620011276000830184620010ff565b92915050565b60008115159050919050565b62001144816200112d565b81146200115057600080fd5b50565b600081519050620011648162001139565b92915050565b60006020828403121562001183576200118262000ab7565b5b6000620011938482850162001153565b91505092915050565b6143f880620011ac6000396000f3fe60806040526004361061023b5760003560e01c80638ad342351161012e578063c87b56dd116100ab578063f2fde38b1161006f578063f2fde38b146108a9578063f6f065f1146108d2578063f80fdcfb146108fd578063fa6c94401461093a578063fbac3951146109775761023b565b8063c87b56dd146107b2578063d191340c146107ef578063d4c975331461081a578063e985e9c514610843578063ee1cc944146108805761023b565b8063a21b5fe9116100f2578063a21b5fe9146106e1578063a22cb4651461070c578063a91ee0dc14610735578063b56694f11461075e578063b88d4fde146107895761023b565b80638ad342351461061d5780638da5cb5b1461064657806395d89b41146106715780639a8653be1461069c578063a0712d68146106c55761023b565b80632a55205a116101bc57806355f804b31161018057806355f804b3146105265780636352211e1461054f57806370a082311461058c578063715018a6146105c957806378fc3cb3146105e05761023b565b80632a55205a146104445780633e0a322d1461048257806342842e0e146104ab57806343649b19146104d45780634f07de09146104fd5761023b565b80631a633027116102035780631a633027146103395780631c01bc88146103765780631d0d5816146103b357806323b872dd146103f057806325fd90f3146104195761023b565b806301ffc9a71461024057806306fdde031461027d578063081812fc146102a8578063095ea7b3146102e557806318160ddd1461030e575b600080fd5b34801561024c57600080fd5b5061026760048036038101906102629190612c30565b6109b4565b6040516102749190612c78565b60405180910390f35b34801561028957600080fd5b50610292610a1c565b60405161029f9190612d23565b60405180910390f35b3480156102b457600080fd5b506102cf60048036038101906102ca9190612d7b565b610aae565b6040516102dc9190612de9565b60405180910390f35b3480156102f157600080fd5b5061030c60048036038101906103079190612e30565b610af4565b005b34801561031a57600080fd5b50610323610b4a565b6040516103309190612e7f565b60405180910390f35b34801561034557600080fd5b50610360600480360381019061035b9190612e9a565b610b5b565b60405161036d9190612c78565b60405180910390f35b34801561038257600080fd5b5061039d60048036038101906103989190612e9a565b610c05565b6040516103aa9190612e7f565b60405180910390f35b3480156103bf57600080fd5b506103da60048036038101906103d59190612e9a565b610c4e565b6040516103e79190612c78565b60405180910390f35b3480156103fc57600080fd5b5061041760048036038101906104129190612ec7565b610ca4565b005b34801561042557600080fd5b5061042e610d04565b60405161043b9190612c78565b60405180910390f35b34801561045057600080fd5b5061046b60048036038101906104669190612f1a565b610d28565b604051610479929190612f5a565b60405180910390f35b34801561048e57600080fd5b506104a960048036038101906104a49190612d7b565b610d74565b005b3480156104b757600080fd5b506104d260048036038101906104cd9190612ec7565b610d86565b005b3480156104e057600080fd5b506104fb60048036038101906104f69190612faf565b610da6565b005b34801561050957600080fd5b50610524600480360381019061051f9190612d7b565b610e09565b005b34801561053257600080fd5b5061054d60048036038101906105489190613124565b610e1b565b005b34801561055b57600080fd5b5061057660048036038101906105719190612d7b565b610e36565b6040516105839190612de9565b60405180910390f35b34801561059857600080fd5b506105b360048036038101906105ae9190612e9a565b610ebc565b6040516105c09190612e7f565b60405180910390f35b3480156105d557600080fd5b506105de610f73565b005b3480156105ec57600080fd5b5061060760048036038101906106029190612e9a565b610f87565b6040516106149190612c78565b60405180910390f35b34801561062957600080fd5b50610644600480360381019061063f9190613235565b610faa565b005b34801561065257600080fd5b5061065b611034565b6040516106689190612de9565b60405180910390f35b34801561067d57600080fd5b5061068661105e565b6040516106939190612d23565b60405180910390f35b3480156106a857600080fd5b506106c360048036038101906106be9190612faf565b6110f0565b005b6106df60048036038101906106da9190612d7b565b611153565b005b3480156106ed57600080fd5b506106f6611388565b6040516107039190612c78565b60405180910390f35b34801561071857600080fd5b50610733600480360381019061072e9190612faf565b611395565b005b34801561074157600080fd5b5061075c60048036038101906107579190612e9a565b6113eb565b005b34801561076a57600080fd5b50610773611437565b6040516107809190612e7f565b60405180910390f35b34801561079557600080fd5b506107b060048036038101906107ab919061331f565b611470565b005b3480156107be57600080fd5b506107d960048036038101906107d49190612d7b565b6114d2565b6040516107e69190612d23565b60405180910390f35b3480156107fb57600080fd5b506108046115e4565b6040516108119190612c78565b60405180910390f35b34801561082657600080fd5b50610841600480360381019061083c9190612e9a565b6115fd565b005b34801561084f57600080fd5b5061086a600480360381019061086591906133a2565b611649565b6040516108779190612c78565b60405180910390f35b34801561088c57600080fd5b506108a760048036038101906108a291906133e2565b6116dd565b005b3480156108b557600080fd5b506108d060048036038101906108cb9190612e9a565b611702565b005b3480156108de57600080fd5b506108e7611785565b6040516108f49190612e7f565b60405180910390f35b34801561090957600080fd5b50610924600480360381019061091f9190612e9a565b6117b0565b6040516109319190612c78565b60405180910390f35b34801561094657600080fd5b50610961600480360381019061095c9190612e9a565b611806565b60405161096e9190612c78565b60405180910390f35b34801561098357600080fd5b5061099e60048036038101906109999190612e9a565b611851565b6040516109ab9190612c78565b60405180910390f35b6000632a55205a60e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191603610a0b5760019050610a17565b610a148261189d565b90505b919050565b606060008054610a2b9061343e565b80601f0160208091040260200160405190810160405280929190818152602001828054610a579061343e565b8015610aa45780601f10610a7957610100808354040283529160200191610aa4565b820191906000526020600020905b815481529060010190602001808311610a8757829003601f168201915b5050505050905090565b6000610ab9826118fe565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610afd82610f87565b610b3c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b33906134bb565b60405180910390fd5b610b468282611949565b5050565b6000610b566008611889565b905090565b600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690508073ffffffffffffffffffffffffffffffffffffffff1663e5962195846040518263ffffffff1660e01b8152600401610bbc9190612de9565b602060405180830381865afa158015610bd9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bfd91906134f0565b915050919050565b6000601260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000600a60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b610cb5610caf611a60565b82611a68565b610cf4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ceb9061358f565b60405180910390fd5b610cff838383611afd565b505050565b6000601460009054906101000a900460ff1680610d2357506015544210155b905090565b600080601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16612710600e5485610d5f91906135de565b610d69919061364f565b915091509250929050565b610d7c611df6565b8060158190555050565b610da183838360405180602001604052806000815250611470565b505050565b610dae611df6565b80600a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b610e11611df6565b80600e8190555050565b610e23611df6565b80600d9081610e32919061382c565b5050565b600080610e4283611e74565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610eb3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610eaa9061394a565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610f2c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f23906139dc565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f7b611df6565b610f856000611eb1565b565b6000610f9282611851565b1580610fa35750610fa2826117b0565b5b9050919050565b610fb2611df6565b60005b815181101561103057600460126000848481518110610fd757610fd66139fc565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550808061102890613a2b565b915050610fb5565b5050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606001805461106d9061343e565b80601f01602080910402602001604051908101604052809291908181526020018280546110999061343e565b80156110e65780601f106110bb576101008083540402835291602001916110e6565b820191906000526020600020905b8154815290600101906020018083116110c957829003601f168201915b5050505050905090565b6110f8611df6565b80600b60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61115b610d04565b61119a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161119190613abf565b60405180910390fd5b600f548111156111df576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111d690613b2b565b60405180910390fd5b601054816111ed91906135de565b34101561122f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122690613b97565b60405180910390fd5b6112376115e4565b156112855761124533611806565b611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90613c03565b60405180910390fd5b5b60003411156112f857601160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc349081150290604051600060405180830381858888f193505050501580156112f6573d6000803e3d6000fd5b505b60005b818110156113845761130b6115e4565b15611368576001601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546113609190613c23565b925050819055505b61137133611f77565b808061137c90613a2b565b9150506112fb565b5050565b6000601554421015905090565b61139e82610f87565b6113dd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113d4906134bb565b60405180910390fd5b6113e78282611fe2565b5050565b6113f3611df6565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006114416115e4565b1561146857426013546015546114579190613c57565b6114619190613c23565b905061146d565b600090505b90565b61148161147b611a60565b83611a68565b6114c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114b79061358f565b60405180910390fd5b6114cc84848484611ff8565b50505050565b60606114dd826118fe565b60006006600084815260200190815260200160002080546114fd9061343e565b80601f01602080910402602001604051908101604052809291908181526020018280546115299061343e565b80156115765780601f1061154b57610100808354040283529160200191611576565b820191906000526020600020905b81548152906001019060200180831161155957829003601f168201915b505050505090506000611587612054565b9050600081510361159c5781925050506115df565b6000825111156115d15780826040516020016115b9929190613cc7565b604051602081830303815290604052925050506115df565b6115da846120e6565b925050505b919050565b60006013546015546115f69190613c57565b4210905090565b611605611df6565b80601160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6116e5611df6565b80601460006101000a81548160ff02191690831515021790555050565b61170a611df6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611779576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161177090613d5d565b60405180910390fd5b61178281611eb1565b50565b600061178f611388565b6117a857426015546117a19190613c23565b90506117ad565b600090505b90565b6000600b60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600080601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054119050919050565b600061185c82610b5b565b8061186c575061186b82610c4e565b5b9050919050565b6001816000016000828254019250508190555050565b600081600001549050919050565b50505050565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806118f757506118f68261214e565b5b9050919050565b61190781612230565b611946576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161193d9061394a565b60405180910390fd5b50565b600061195482610e36565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036119c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119bb90613def565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166119e3611a60565b73ffffffffffffffffffffffffffffffffffffffff161480611a125750611a1181611a0c611a60565b611649565b5b611a51576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4890613e81565b60405180910390fd5b611a5b8383612271565b505050565b600033905090565b600080611a7483610e36565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611ab65750611ab58185611649565b5b80611af457508373ffffffffffffffffffffffffffffffffffffffff16611adc84610aae565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff16611b1d82610e36565b73ffffffffffffffffffffffffffffffffffffffff1614611b73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b6a90613f13565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611be2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bd990613fa5565b60405180910390fd5b611bef838383600161232a565b8273ffffffffffffffffffffffffffffffffffffffff16611c0f82610e36565b73ffffffffffffffffffffffffffffffffffffffff1614611c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c5c90613f13565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611df18383836001612400565b505050565b611dfe611a60565b73ffffffffffffffffffffffffffffffffffffffff16611e1c611034565b73ffffffffffffffffffffffffffffffffffffffff1614611e72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6990614011565b60405180910390fd5b565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b611f816008611873565b6000611f8d6008611889565b9050600c54811115611fd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fcb9061407d565b60405180910390fd5b611fde8282612406565b5050565b611ff4611fed611a60565b8383612623565b5050565b612003848484611afd565b61200f8484848461278f565b61204e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120459061410f565b60405180910390fd5b50505050565b6060600d80546120639061343e565b80601f016020809104026020016040519081016040528092919081815260200182805461208f9061343e565b80156120dc5780601f106120b1576101008083540402835291602001916120dc565b820191906000526020600020905b8154815290600101906020018083116120bf57829003601f168201915b5050505050905090565b60606120f1826118fe565b60006120fb612054565b9050600081511161211b5760405180602001604052806000815250612146565b8061212584612916565b604051602001612136929190613cc7565b6040516020818303038152906040525b915050919050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061221957507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806122295750612228826129e4565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff1661225283611e74565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166122e483610e36565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b3373ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16146123a65761236633610f87565b6123a5576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161239c906134bb565b60405180910390fd5b5b6123af83610f87565b6123ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123e59061417b565b60405180910390fd5b6123fa84848484611897565b50505050565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612475576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161246c906141e7565b60405180910390fd5b61247e81612230565b156124be576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124b590614253565b60405180910390fd5b6124cc60008383600161232a565b6124d581612230565b15612515576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161250c90614253565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461261f600083836001612400565b5050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612691576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612688906142bf565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516127829190612c78565b60405180910390a3505050565b60006127b08473ffffffffffffffffffffffffffffffffffffffff16612a4e565b15612909578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026127d9611a60565b8786866040518563ffffffff1660e01b81526004016127fb9493929190614334565b6020604051808303816000875af192505050801561283757506040513d601f19601f820116820180604052508101906128349190614395565b60015b6128b9573d8060008114612867576040519150601f19603f3d011682016040523d82523d6000602084013e61286c565b606091505b5060008151036128b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128a89061410f565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161491505061290e565b600190505b949350505050565b60606000600161292584612a71565b01905060008167ffffffffffffffff81111561294457612943612ff9565b5b6040519080825280601f01601f1916602001820160405280156129765781602001600182028036833780820191505090505b509050600082602001820190505b6001156129d9578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a85816129cd576129cc613620565b5b04945060008503612984575b819350505050919050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310612acf577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612ac557612ac4613620565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310612b0c576d04ee2d6d415b85acef81000000008381612b0257612b01613620565b5b0492506020810190505b662386f26fc100008310612b3b57662386f26fc100008381612b3157612b30613620565b5b0492506010810190505b6305f5e1008310612b64576305f5e1008381612b5a57612b59613620565b5b0492506008810190505b6127108310612b89576127108381612b7f57612b7e613620565b5b0492506004810190505b60648310612bac5760648381612ba257612ba1613620565b5b0492506002810190505b600a8310612bbb576001810190505b80915050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b612c0d81612bd8565b8114612c1857600080fd5b50565b600081359050612c2a81612c04565b92915050565b600060208284031215612c4657612c45612bce565b5b6000612c5484828501612c1b565b91505092915050565b60008115159050919050565b612c7281612c5d565b82525050565b6000602082019050612c8d6000830184612c69565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015612ccd578082015181840152602081019050612cb2565b60008484015250505050565b6000601f19601f8301169050919050565b6000612cf582612c93565b612cff8185612c9e565b9350612d0f818560208601612caf565b612d1881612cd9565b840191505092915050565b60006020820190508181036000830152612d3d8184612cea565b905092915050565b6000819050919050565b612d5881612d45565b8114612d6357600080fd5b50565b600081359050612d7581612d4f565b92915050565b600060208284031215612d9157612d90612bce565b5b6000612d9f84828501612d66565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000612dd382612da8565b9050919050565b612de381612dc8565b82525050565b6000602082019050612dfe6000830184612dda565b92915050565b612e0d81612dc8565b8114612e1857600080fd5b50565b600081359050612e2a81612e04565b92915050565b60008060408385031215612e4757612e46612bce565b5b6000612e5585828601612e1b565b9250506020612e6685828601612d66565b9150509250929050565b612e7981612d45565b82525050565b6000602082019050612e946000830184612e70565b92915050565b600060208284031215612eb057612eaf612bce565b5b6000612ebe84828501612e1b565b91505092915050565b600080600060608486031215612ee057612edf612bce565b5b6000612eee86828701612e1b565b9350506020612eff86828701612e1b565b9250506040612f1086828701612d66565b9150509250925092565b60008060408385031215612f3157612f30612bce565b5b6000612f3f85828601612d66565b9250506020612f5085828601612d66565b9150509250929050565b6000604082019050612f6f6000830185612dda565b612f7c6020830184612e70565b9392505050565b612f8c81612c5d565b8114612f9757600080fd5b50565b600081359050612fa981612f83565b92915050565b60008060408385031215612fc657612fc5612bce565b5b6000612fd485828601612e1b565b9250506020612fe585828601612f9a565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b61303182612cd9565b810181811067ffffffffffffffff821117156130505761304f612ff9565b5b80604052505050565b6000613063612bc4565b905061306f8282613028565b919050565b600067ffffffffffffffff82111561308f5761308e612ff9565b5b61309882612cd9565b9050602081019050919050565b82818337600083830152505050565b60006130c76130c284613074565b613059565b9050828152602081018484840111156130e3576130e2612ff4565b5b6130ee8482856130a5565b509392505050565b600082601f83011261310b5761310a612fef565b5b813561311b8482602086016130b4565b91505092915050565b60006020828403121561313a57613139612bce565b5b600082013567ffffffffffffffff81111561315857613157612bd3565b5b613164848285016130f6565b91505092915050565b600067ffffffffffffffff82111561318857613187612ff9565b5b602082029050602081019050919050565b600080fd5b60006131b16131ac8461316d565b613059565b905080838252602082019050602084028301858111156131d4576131d3613199565b5b835b818110156131fd57806131e98882612e1b565b8452602084019350506020810190506131d6565b5050509392505050565b600082601f83011261321c5761321b612fef565b5b813561322c84826020860161319e565b91505092915050565b60006020828403121561324b5761324a612bce565b5b600082013567ffffffffffffffff81111561326957613268612bd3565b5b61327584828501613207565b91505092915050565b600067ffffffffffffffff82111561329957613298612ff9565b5b6132a282612cd9565b9050602081019050919050565b60006132c26132bd8461327e565b613059565b9050828152602081018484840111156132de576132dd612ff4565b5b6132e98482856130a5565b509392505050565b600082601f83011261330657613305612fef565b5b81356133168482602086016132af565b91505092915050565b6000806000806080858703121561333957613338612bce565b5b600061334787828801612e1b565b945050602061335887828801612e1b565b935050604061336987828801612d66565b925050606085013567ffffffffffffffff81111561338a57613389612bd3565b5b613396878288016132f1565b91505092959194509250565b600080604083850312156133b9576133b8612bce565b5b60006133c785828601612e1b565b92505060206133d885828601612e1b565b9150509250929050565b6000602082840312156133f8576133f7612bce565b5b600061340684828501612f9a565b91505092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061345657607f821691505b6020821081036134695761346861340f565b5b50919050565b7f4f70657261746f7220686173206265656e20626c6f636b65642e000000000000600082015250565b60006134a5601a83612c9e565b91506134b08261346f565b602082019050919050565b600060208201905081810360008301526134d481613498565b9050919050565b6000815190506134ea81612f83565b92915050565b60006020828403121561350657613505612bce565b5b6000613514848285016134db565b91505092915050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000613579602d83612c9e565b91506135848261351d565b604082019050919050565b600060208201905081810360008301526135a88161356c565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006135e982612d45565b91506135f483612d45565b925082820261360281612d45565b91508282048414831517613619576136186135af565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600061365a82612d45565b915061366583612d45565b92508261367557613674613620565b5b828204905092915050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026136e27fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826136a5565b6136ec86836136a5565b95508019841693508086168417925050509392505050565b6000819050919050565b600061372961372461371f84612d45565b613704565b612d45565b9050919050565b6000819050919050565b6137438361370e565b61375761374f82613730565b8484546136b2565b825550505050565b600090565b61376c61375f565b61377781848461373a565b505050565b5b8181101561379b57613790600082613764565b60018101905061377d565b5050565b601f8211156137e0576137b181613680565b6137ba84613695565b810160208510156137c9578190505b6137dd6137d585613695565b83018261377c565b50505b505050565b600082821c905092915050565b6000613803600019846008026137e5565b1980831691505092915050565b600061381c83836137f2565b9150826002028217905092915050565b61383582612c93565b67ffffffffffffffff81111561384e5761384d612ff9565b5b613858825461343e565b61386382828561379f565b600060209050601f8311600181146138965760008415613884578287015190505b61388e8582613810565b8655506138f6565b601f1984166138a486613680565b60005b828110156138cc578489015182556001820191506020850194506020810190506138a7565b868310156138e957848901516138e5601f8916826137f2565b8355505b6001600288020188555050505b505050505050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000613934601883612c9e565b915061393f826138fe565b602082019050919050565b6000602082019050818103600083015261396381613927565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006139c6602983612c9e565b91506139d18261396a565b604082019050919050565b600060208201905081810360008301526139f5816139b9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000613a3682612d45565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8203613a6857613a676135af565b5b600182019050919050565b7f4d696e74696e67206973206e6f74206163746976652e00000000000000000000600082015250565b6000613aa9601683612c9e565b9150613ab482613a73565b602082019050919050565b60006020820190508181036000830152613ad881613a9c565b9050919050565b7f43616e6e6f74206d696e742074686174206d616e79206174206f6e63652e0000600082015250565b6000613b15601e83612c9e565b9150613b2082613adf565b602082019050919050565b60006020820190508181036000830152613b4481613b08565b9050919050565b7f4e6f7420656e6f75676820415641582073656e742e0000000000000000000000600082015250565b6000613b81601583612c9e565b9150613b8c82613b4b565b602082019050919050565b60006020820190508181036000830152613bb081613b74565b9050919050565b7f5075626c6963206d696e74206e6f74206163746976652e000000000000000000600082015250565b6000613bed601783612c9e565b9150613bf882613bb7565b602082019050919050565b60006020820190508181036000830152613c1c81613be0565b9050919050565b6000613c2e82612d45565b9150613c3983612d45565b9250828203905081811115613c5157613c506135af565b5b92915050565b6000613c6282612d45565b9150613c6d83612d45565b9250828201905080821115613c8557613c846135af565b5b92915050565b600081905092915050565b6000613ca182612c93565b613cab8185613c8b565b9350613cbb818560208601612caf565b80840191505092915050565b6000613cd38285613c96565b9150613cdf8284613c96565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000613d47602683612c9e565b9150613d5282613ceb565b604082019050919050565b60006020820190508181036000830152613d7681613d3a565b9050919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000613dd9602183612c9e565b9150613de482613d7d565b604082019050919050565b60006020820190508181036000830152613e0881613dcc565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000613e6b603d83612c9e565b9150613e7682613e0f565b604082019050919050565b60006020820190508181036000830152613e9a81613e5e565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b6000613efd602583612c9e565b9150613f0882613ea1565b604082019050919050565b60006020820190508181036000830152613f2c81613ef0565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000613f8f602483612c9e565b9150613f9a82613f33565b604082019050919050565b60006020820190508181036000830152613fbe81613f82565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000613ffb602083612c9e565b915061400682613fc5565b602082019050919050565b6000602082019050818103600083015261402a81613fee565b9050919050565b7f50726f6a6563742069732066696e6973686564206d696e74696e672e00000000600082015250565b6000614067601c83612c9e565b915061407282614031565b602082019050919050565b600060208201905081810360008301526140968161405a565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006140f9603283612c9e565b91506141048261409d565b604082019050919050565b60006020820190508181036000830152614128816140ec565b9050919050565b7f526563697069656e7420686173206265656e20626c6f636b65642e0000000000600082015250565b6000614165601b83612c9e565b91506141708261412f565b602082019050919050565b6000602082019050818103600083015261419481614158565b9050919050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006141d1602083612c9e565b91506141dc8261419b565b602082019050919050565b60006020820190508181036000830152614200816141c4565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061423d601c83612c9e565b915061424882614207565b602082019050919050565b6000602082019050818103600083015261426c81614230565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006142a9601983612c9e565b91506142b482614273565b602082019050919050565b600060208201905081810360008301526142d88161429c565b9050919050565b600081519050919050565b600082825260208201905092915050565b6000614306826142df565b61431081856142ea565b9350614320818560208601612caf565b61432981612cd9565b840191505092915050565b60006080820190506143496000830187612dda565b6143566020830186612dda565b6143636040830185612e70565b818103606083015261437581846142fb565b905095945050505050565b60008151905061438f81612c04565b92915050565b6000602082840312156143ab576143aa612bce565b5b60006143b984828501614380565b9150509291505056fea26469706673582212204875add606dc7c426ca0c4240684a8fb7a15ba016fafed72c736122b923876c564736f6c6343000811003368747470733a2f2f6e6674732e6270692e6e6574776f726b2f62626769726c732f0000000000000000000000004058af9b14884b75ac685db4b6633ca83e3b9d73