Address Details
contract

0xD5D6B2f2D7a7506C49Bb0cb6FB39a67F065d6FC4

Creator
0xe29667–fcae30 at 0x9e3dbf–95674b
Balance
45,710.432114979986946748 CELO ( )
Locked CELO Balance
0.00 CELO
Voting CELO Balance
0.00 CELO
Pending Unlocked Gold
0.00 CELO
Tokens
Fetching tokens...
Transactions
28 Transactions
Transfers
71 Transfers
Gas Used
4,518,441
Last Balance Update
28742194

Contract Creation Code

Verify & Publish
0x60806040523480156200001157600080fd5b5060405162004efd38038062004efd833981810160405281019062000037919062000358565b84600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550826001806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555081600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200010e6000801b856200017560201b60201c565b80600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506000600160006101000a81548160ff0219169083151502179055505050505050620003e0565b6200018782826200018b60201b60201c565b5050565b6200019d82826200027c60201b60201c565b6200027857600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506200021d620002e660201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600033905090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006200032082620002f3565b9050919050565b620003328162000313565b81146200033e57600080fd5b50565b600081519050620003528162000327565b92915050565b600080600080600060a08688031215620003775762000376620002ee565b5b6000620003878882890162000341565b95505060206200039a8882890162000341565b9450506040620003ad8882890162000341565b9350506060620003c08882890162000341565b9250506080620003d38882890162000341565b9150509295509295909350565b614b0d80620003f06000396000f3fe6080604052600436106101b65760003560e01c806391d14854116100ec578063c415b95c1161008a578063e0956e0f11610064578063e0956e0f146105e8578063e1e1935a14610613578063ec3794ff1461063e578063f4bd482914610667576101b6565b8063c415b95c1461056b578063c859441814610596578063d547741f146105bf576101b6565b8063a8a98962116100c6578063a8a98962146104af578063b43d20c3146104d8578063ba46ae7214610501578063bd4bb24214610542576101b6565b806391d148541461041e578063a217fddf1461045b578063a42dce8014610486576101b6565b806336568abe116101595780635e3b0f9e116101335780635e3b0f9e1461037157806364cd2af31461038d5780637bacc91e146103ca57806381fea1c5146103f3576101b6565b806336568abe146102f25780633a5381b51461031b578063500b19e714610346576101b6565b8063133a01c411610195578063133a01c41461024c57806315d95a0014610263578063248a9ca31461028c5780632f2ff15d146102c9576101b6565b8062c45c54146101bb57806301ffc9a7146101e65780631327d3d814610223575b600080fd5b3480156101c757600080fd5b506101d061067e565b6040516101dd9190613411565b60405180910390f35b3480156101f257600080fd5b5061020d6004803603810190610208919061348e565b6106a4565b60405161021a91906134d6565b60405180910390f35b34801561022f57600080fd5b5061024a6004803603810190610245919061351d565b61071e565b005b34801561025857600080fd5b50610261610794565b005b34801561026f57600080fd5b5061028a6004803603810190610285919061356f565b6107e3565b005b34801561029857600080fd5b506102b360048036038101906102ae91906135e5565b61090b565b6040516102c09190613621565b60405180910390f35b3480156102d557600080fd5b506102f060048036038101906102eb919061363c565b61092a565b005b3480156102fe57600080fd5b506103196004803603810190610314919061363c565b610953565b005b34801561032757600080fd5b506103306109d6565b60405161033d9190613411565b60405180910390f35b34801561035257600080fd5b5061035b6109fa565b6040516103689190613411565b60405180910390f35b61038b600480360381019061038691906136c4565b610a20565b005b34801561039957600080fd5b506103b460048036038101906103af919061372b565b610bd4565b6040516103c19190613411565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec91906137a1565b610c16565b005b3480156103ff57600080fd5b50610408610f2c565b6040516104159190613621565b60405180910390f35b34801561042a57600080fd5b506104456004803603810190610440919061363c565b610f50565b60405161045291906134d6565b60405180910390f35b34801561046757600080fd5b50610470610fba565b60405161047d9190613621565b60405180910390f35b34801561049257600080fd5b506104ad60048036038101906104a8919061351d565b610fc1565b005b3480156104bb57600080fd5b506104d660048036038101906104d1919061351d565b611038565b005b3480156104e457600080fd5b506104ff60048036038101906104fa9190613881565b6110af565b005b34801561050d57600080fd5b506105286004803603810190610523919061351d565b6119b8565b604051610539959493929190613a62565b60405180910390f35b34801561054e57600080fd5b5061056960048036038101906105649190613ada565b611a22565b005b34801561057757600080fd5b50610580611e0f565b60405161058d9190613411565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b8919061351d565b611e35565b005b3480156105cb57600080fd5b506105e660048036038101906105e1919061363c565b611eac565b005b3480156105f457600080fd5b506105fd611ed5565b60405161060a9190613621565b60405180910390f35b34801561061f57600080fd5b50610628611ef9565b6040516106359190613621565b60405180910390f35b34801561064a57600080fd5b5061066560048036038101906106609190613b41565b611f1d565b005b34801561067357600080fd5b5061067c612593565b005b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107175750610716826125e3565b5b9050919050565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d6107508161074b61264d565b612655565b816001806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d6107c6816107c161264d565b612655565b60018060006101000a81548160ff02191690831515021790555050565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a06108158161081061264d565b612655565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101540361089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089390613bf1565b60405180910390fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160026101000a81548160ff02191690836001811115610901576109006139a3565b5b0217905550505050565b6000806000838152602001908152602001600020600101549050919050565b6109338261090b565b6109448161093f61264d565b612655565b61094e83836126f2565b505050565b61095b61264d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90613c83565b60405180910390fd5b6109d282826127d2565b5050565b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900460ff16610a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6690613cef565b60405180910390fd5b600080610a7f86863487876128b3565b9250925050600180811115610a9757610a966139a3565b5b81608001516001811115610aae57610aad6139a3565b5b14610aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae590613d5b565b60405180910390fd5b60006003811115610b0257610b016139a3565b5b81606001516003811115610b1957610b186139a3565b5b14610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090613dc7565b60405180910390fd5b6000821115610bcc57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610bca573d6000803e3d6000fd5b505b505050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900460ff16610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90613cef565b60405180910390fd5b6000806000610c7788888689896128b3565b925092509250600180811115610c9057610c8f6139a3565b5b81608001516001811115610ca757610ca66139a3565b5b14610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90613d5b565b60405180910390fd5b60016003811115610cfb57610cfa6139a3565b5b81606001516003811115610d1257610d116139a3565b5b03610d4957610d443330858a73ffffffffffffffffffffffffffffffffffffffff16612ca0909392919063ffffffff16565b610ec9565b600380811115610d5c57610d5b6139a3565b5b81606001516003811115610d7357610d726139a3565b5b03610dea578673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b8152600401610db3929190613df6565b600060405180830381600087803b158015610dcd57600080fd5b505af1158015610de1573d6000803e3d6000fd5b50505050610ec8565b60026003811115610dfe57610dfd6139a3565b5b81606001516003811115610e1557610e146139a3565b5b03610e8c578673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b8152600401610e55929190613df6565b600060405180830381600087803b158015610e6f57600080fd5b505af1158015610e83573d6000803e3d6000fd5b50505050610ec7565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90613dc7565b60405180910390fd5b5b5b6000821115610f2257610f2133600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848a73ffffffffffffffffffffffffffffffffffffffff16612ca0909392919063ffffffff16565b5b5050505050505050565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d81565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0610ff381610fee61264d565b612655565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a061106a8161106561264d565b612655565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600160009054906101000a900460ff166110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f590613cef565b60405180910390fd5b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ceed2d3b8b8b8b8b8b8b8b8b8b8b6040518b63ffffffff1660e01b81526004016111699a99989796959493929190613e8c565b600060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b50505050600060066000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611291576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128890613bf1565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600182015481526020016002820160009054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900460ff16600381111561137e5761137d6139a3565b5b60038111156113905761138f6139a3565b5b81526020016002820160029054906101000a900460ff1660018111156113b9576113b86139a3565b5b60018111156113cb576113ca6139a3565b5b81525050905060006113e18b8360400151612d29565b90506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361152957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c9edb87856040518263ffffffff1660e01b81526004016114959190613411565b602060405180830381865afa1580156114b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d69190613f31565b905080821161151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190613faa565b60405180910390fd5b80826115269190613ff9565b91505b6000600381111561153d5761153c6139a3565b5b83606001516003811115611554576115536139a3565b5b03611618578c73ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561159f573d6000803e3d6000fd5b50600081111561161357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611611573d6000803e3d6000fd5b505b611943565b6001600381111561162c5761162b6139a3565b5b83606001516003811115611643576116426139a3565b5b036116cf576116738d838673ffffffffffffffffffffffffffffffffffffffff16612da99092919063ffffffff16565b60008111156116ca576116c9600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff16612da99092919063ffffffff16565b5b611942565b6003808111156116e2576116e16139a3565b5b836060015160038111156116f9576116f86139a3565b5b03611809578373ffffffffffffffffffffffffffffffffffffffff166340c10f198e846040518363ffffffff1660e01b8152600401611739929190613df6565b600060405180830381600087803b15801561175357600080fd5b505af1158015611767573d6000803e3d6000fd5b505050506000811115611804578373ffffffffffffffffffffffffffffffffffffffff166340c10f19600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016117d1929190613df6565b600060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b505050505b611941565b6002600381111561181d5761181c6139a3565b5b83606001516003811115611834576118336139a3565b5b03611940578373ffffffffffffffffffffffffffffffffffffffff166340c10f198e846040518363ffffffff1660e01b8152600401611874929190613df6565b600060405180830381600087803b15801561188e57600080fd5b505af11580156118a2573d6000803e3d6000fd5b50505050600081111561193f578373ffffffffffffffffffffffffffffffffffffffff166340c10f19600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161190c929190613df6565b600060405180830381600087803b15801561192657600080fd5b505af115801561193a573d6000803e3d6000fd5b505050505b5b5b5b5b8d6fffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff167feeff8dc309b75f785752dd67594b2d8a3a9fd4ff6ecd65fcfe670cee0d851ce486858f6040516119a09392919061402d565b60405180910390a35050505050505050505050505050565b60056020528060005260406000206000915090508060000160009054906101000a900460e01b908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16905085565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0611a5481611a4f61264d565b612655565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154148015611b565750600073ffffffffffffffffffffffffffffffffffffffff1660066000877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8c906140b0565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611be2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0691906140fc565b90508360066000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600087815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060a00160405280877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018681526020018260ff168152602001846003811115611cfb57611cfa6139a3565b5b8152602001600180811115611d1357611d126139a3565b5b815250600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908360e01c02179055506020820151816001015560408201518160020160006101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548160ff02191690836003811115611dcf57611dce6139a3565b5b021790555060808201518160020160026101000a81548160ff02191690836001811115611dff57611dfe6139a3565b5b0217905550905050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d611e6781611e6261264d565b612655565b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611eb58261090b565b611ec681611ec161264d565b612655565b611ed083836127d2565b505050565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a081565b7f55ca0725c70a9ecebe86dd2b8b3a414983f6cb638e1a0fa17c64bbdd59b4d4c181565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0611f4f81611f4a61264d565b612655565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb590614175565b60405180910390fd5b600060066000867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ab906141e1565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600182015481526020016002820160009054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900460ff1660038111156121a1576121a06139a3565b5b60038111156121b3576121b26139a3565b5b81526020016002820160029054906101000a900460ff1660018111156121dc576121db6139a3565b5b60018111156121ee576121ed6139a3565b5b81525050905060006003811115612208576122076139a3565b5b8160600151600381111561221f5761221e6139a3565b5b14801561222c5750600047115b15612279578373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612277573d6000803e3d6000fd5b505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016122b49190613411565b602060405180830381865afa1580156122d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f59190613f31565b9050600081111561232c5761232b85828573ffffffffffffffffffffffffffffffffffffffff16612da99092919063ffffffff16565b5b60038081111561233f5761233e6139a3565b5b82606001516003811115612356576123556139a3565b5b036123cb578273ffffffffffffffffffffffffffffffffffffffff1663f2fde38b866040518263ffffffff1660e01b81526004016123949190613411565b600060405180830381600087803b1580156123ae57600080fd5b505af11580156123c2573d6000803e3d6000fd5b50505050612468565b600260038111156123df576123de6139a3565b5b826060015160038111156123f6576123f56139a3565b5b03612467578273ffffffffffffffffffffffffffffffffffffffff1663116877cc866040518263ffffffff1660e01b81526004016124349190613411565b600060405180830381600087803b15801561244e57600080fd5b505af1158015612462573d6000803e3d6000fd5b505050505b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549063ffffffff021916905560018201600090556002820160006101000a81549060ff02191690556002820160016101000a81549060ff02191690556002820160026101000a81549060ff0219169055505060066000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600087815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550505050505050565b7f55ca0725c70a9ecebe86dd2b8b3a414983f6cb638e1a0fa17c64bbdd59b4d4c16125c5816125c061264d565b612655565b6000600160006101000a81548160ff02191690831515021790555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b61265f8282610f50565b6126ee576126848173ffffffffffffffffffffffffffffffffffffffff166014612e2f565b6126928360001c6020612e2f565b6040516020016126a392919061430a565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e5919061437d565b60405180910390fd5b5050565b6126fc8282610f50565b6127ce57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061277361264d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6127dc8282610f50565b156128af57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061285461264d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000806128be613358565b60008611612901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f8906143eb565b60405180910390fd5b6000600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600182015481526020016002820160009054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900460ff1660038111156129ee576129ed6139a3565b5b6003811115612a00576129ff6139a3565b5b81526020016002820160029054906101000a900460ff166001811115612a2957612a286139a3565b5b6001811115612a3b57612a3a6139a3565b5b8152505090506000801b816020015103612a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8190613bf1565b60405180910390fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316b6ecb08a338b8a6040518563ffffffff1660e01b8152600401612aed949392919061440b565b602060405180830381865afa158015612b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2e9190613f31565b9050808811612b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6990613faa565b60405180910390fd5b60008189612b809190613ff9565b905060018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a6a5e3c8c338b612bcf86896040015161306b565b8c89600001518a602001516040518863ffffffff1660e01b8152600401612bfc9796959493929190614450565b600060405180830381600087803b158015612c1657600080fd5b505af1158015612c2a573d6000803e3d6000fd5b505050508a6fffffffffffffffffffffffffffffffff16887f884a8def17f0d5bbb3fef53f3136b5320c9b39f75afb8985eeab9ea1153ee56d8560000151866020015133868d604051612c819594939291906144bf565b60405180910390a3808284955095509550505050955095509592505050565b612d23846323b872dd60e01b858585604051602401612cc193929190614512565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506130eb565b50505050565b600060098260ff161115612d655760098260ff16612d479190613ff9565b600a612d53919061467c565b83612d5e91906146c7565b9050612da3565b60098260ff161015612d9f578160ff166009612d819190613ff9565b600a612d8d919061467c565b83612d989190614738565b9050612da3565b8290505b92915050565b612e2a8363a9059cbb60e01b8484604051602401612dc8929190613df6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506130eb565b505050565b606060006002836002612e4291906146c7565b612e4c9190614769565b67ffffffffffffffff811115612e6557612e6461479d565b5b6040519080825280601f01601f191660200182016040528015612e975781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612ecf57612ece6147cc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612f3357612f326147cc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612f7391906146c7565b612f7d9190614769565b90505b600181111561301d577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612fbf57612fbe6147cc565b5b1a60f81b828281518110612fd657612fd56147cc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080613016906147fb565b9050612f80565b5060008414613061576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161305890614870565b60405180910390fd5b8091505092915050565b600060098260ff1611156130a75760098260ff166130899190613ff9565b600a613095919061467c565b836130a09190614738565b90506130e5565b60098260ff1610156130e1578160ff1660096130c39190613ff9565b600a6130cf919061467c565b836130da91906146c7565b90506130e5565b8290505b92915050565b600061314d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166131b29092919063ffffffff16565b90506000815111156131ad578080602001905181019061316d91906148bc565b6131ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a39061495b565b60405180910390fd5b5b505050565b60606131c184846000856131ca565b90509392505050565b60608247101561320f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613206906149ed565b60405180910390fd5b613218856132de565b613257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324e90614a59565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516132809190614ac0565b60006040518083038185875af1925050503d80600081146132bd576040519150601f19603f3d011682016040523d82523d6000602084013e6132c2565b606091505b50915091506132d28282866132f1565b92505050949350505050565b600080823b905060008111915050919050565b6060831561330157829050613351565b6000835111156133145782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613348919061437d565b60405180910390fd5b9392505050565b6040518060a0016040528060007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200160008019168152602001600060ff168152602001600060038111156133b1576133b06139a3565b5b8152602001600060018111156133ca576133c96139a3565b5b81525090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133fb826133d0565b9050919050565b61340b816133f0565b82525050565b60006020820190506134266000830184613402565b92915050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61346b81613436565b811461347657600080fd5b50565b60008135905061348881613462565b92915050565b6000602082840312156134a4576134a361342c565b5b60006134b284828501613479565b91505092915050565b60008115159050919050565b6134d0816134bb565b82525050565b60006020820190506134eb60008301846134c7565b92915050565b6134fa816133f0565b811461350557600080fd5b50565b600081359050613517816134f1565b92915050565b6000602082840312156135335761353261342c565b5b600061354184828501613508565b91505092915050565b6002811061355757600080fd5b50565b6000813590506135698161354a565b92915050565b600080604083850312156135865761358561342c565b5b600061359485828601613508565b92505060206135a58582860161355a565b9150509250929050565b6000819050919050565b6135c2816135af565b81146135cd57600080fd5b50565b6000813590506135df816135b9565b92915050565b6000602082840312156135fb576135fa61342c565b5b6000613609848285016135d0565b91505092915050565b61361b816135af565b82525050565b60006020820190506136366000830184613612565b92915050565b600080604083850312156136535761365261342c565b5b6000613661858286016135d0565b925050602061367285828601613508565b9150509250929050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6136a18161367c565b81146136ac57600080fd5b50565b6000813590506136be81613698565b92915050565b600080600080608085870312156136de576136dd61342c565b5b60006136ec878288016136af565b94505060206136fd87828801613508565b935050604061370e878288016135d0565b925050606061371f87828801613479565b91505092959194509250565b600080604083850312156137425761374161342c565b5b600061375085828601613479565b9250506020613761858286016135d0565b9150509250929050565b6000819050919050565b61377e8161376b565b811461378957600080fd5b50565b60008135905061379b81613775565b92915050565b600080600080600060a086880312156137bd576137bc61342c565b5b60006137cb888289016136af565b95505060206137dc88828901613508565b94505060406137ed888289016135d0565b93505060606137fe88828901613479565b925050608061380f8882890161378c565b9150509295509295909350565b600080fd5b600080fd5b600080fd5b60008083601f8401126138415761384061381c565b5b8235905067ffffffffffffffff81111561385e5761385d613821565b5b60208301915083600182028301111561387a57613879613826565b5b9250929050565b6000806000806000806000806000806101008b8d0312156138a5576138a461342c565b5b60006138b38d828e016136af565b9a505060206138c48d828e01613508565b99505060406138d58d828e0161378c565b98505060606138e68d828e01613479565b97505060806138f78d828e01613479565b96505060a06139088d828e016135d0565b95505060c08b013567ffffffffffffffff81111561392957613928613431565b5b6139358d828e0161382b565b945094505060e08b013567ffffffffffffffff81111561395857613957613431565b5b6139648d828e0161382b565b92509250509295989b9194979a5092959850565b61398181613436565b82525050565b600060ff82169050919050565b61399d81613987565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600481106139e3576139e26139a3565b5b50565b60008190506139f4826139d2565b919050565b6000613a04826139e6565b9050919050565b613a14816139f9565b82525050565b60028110613a2b57613a2a6139a3565b5b50565b6000819050613a3c82613a1a565b919050565b6000613a4c82613a2e565b9050919050565b613a5c81613a41565b82525050565b600060a082019050613a776000830188613978565b613a846020830187613612565b613a916040830186613994565b613a9e6060830185613a0b565b613aab6080830184613a53565b9695505050505050565b60048110613ac257600080fd5b50565b600081359050613ad481613ab5565b92915050565b60008060008060808587031215613af457613af361342c565b5b6000613b0287828801613479565b9450506020613b13878288016135d0565b9350506040613b2487828801613508565b9250506060613b3587828801613ac5565b91505092959194509250565b600080600060608486031215613b5a57613b5961342c565b5b6000613b6886828701613479565b9350506020613b79868287016135d0565b9250506040613b8a86828701613508565b9150509250925092565b600082825260208201905092915050565b7f4272696467653a20756e737570706f7274656420746f6b656e00000000000000600082015250565b6000613bdb601983613b94565b9150613be682613ba5565b602082019050919050565b60006020820190508181036000830152613c0a81613bce565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613c6d602f83613b94565b9150613c7882613c11565b604082019050919050565b60006020820190508181036000830152613c9c81613c60565b9050919050565b7f4272696467653a206973206e6f74206163746976650000000000000000000000600082015250565b6000613cd9601583613b94565b9150613ce482613ca3565b602082019050919050565b60006020820190508181036000830152613d0881613ccc565b9050919050565b7f4272696467653a2064697361626c656420746f6b656e00000000000000000000600082015250565b6000613d45601683613b94565b9150613d5082613d0f565b602082019050919050565b60006020820190508181036000830152613d7481613d38565b9050919050565b7f4272696467653a20696e76616c696420746f6b656e2074797065000000000000600082015250565b6000613db1601a83613b94565b9150613dbc82613d7b565b602082019050919050565b60006020820190508181036000830152613de081613da4565b9050919050565b613df08161376b565b82525050565b6000604082019050613e0b6000830185613402565b613e186020830184613de7565b9392505050565b613e288161367c565b82525050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000613e6b8385613e2e565b9350613e78838584613e3f565b613e8183613e4e565b840190509392505050565b600061010082019050613ea2600083018d613e1f565b613eaf602083018c613402565b613ebc604083018b613de7565b613ec9606083018a613978565b613ed66080830189613978565b613ee360a0830188613612565b81810360c0830152613ef6818688613e5f565b905081810360e0830152613f0b818486613e5f565b90509b9a5050505050505050505050565b600081519050613f2b81613775565b92915050565b600060208284031215613f4757613f4661342c565b5b6000613f5584828501613f1c565b91505092915050565b7f4272696467653a20616d6f756e7420746f6f20736d616c6c0000000000000000600082015250565b6000613f94601883613b94565b9150613f9f82613f5e565b602082019050919050565b60006020820190508181036000830152613fc381613f87565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006140048261376b565b915061400f8361376b565b925082820390508181111561402757614026613fca565b5b92915050565b60006060820190506140426000830186613402565b61404f6020830185613de7565b61405c6040830184613978565b949350505050565b7f4272696467653a20657869737473000000000000000000000000000000000000600082015250565b600061409a600e83613b94565b91506140a582614064565b602082019050919050565b600060208201905081810360008301526140c98161408d565b9050919050565b6140d981613987565b81146140e457600080fd5b50565b6000815190506140f6816140d0565b92915050565b6000602082840312156141125761411161342c565b5b6000614120848285016140e7565b91505092915050565b7f4272696467653a207a65726f206164647265737320617574686f726974790000600082015250565b600061415f601e83613b94565b915061416a82614129565b602082019050919050565b6000602082019050818103600083015261418e81614152565b9050919050565b7f4272696467653a20746f6b656e206e6f7420666f756e64000000000000000000600082015250565b60006141cb601783613b94565b91506141d682614195565b602082019050919050565b600060208201905081810360008301526141fa816141be565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614242601783614201565b915061424d8261420c565b601782019050919050565b600081519050919050565b60005b83811015614281578082015181840152602081019050614266565b60008484015250505050565b600061429882614258565b6142a28185614201565b93506142b2818560208601614263565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006142f4601183614201565b91506142ff826142be565b601182019050919050565b600061431582614235565b9150614321828561428d565b915061432c826142e7565b9150614338828461428d565b91508190509392505050565b600061434f82614258565b6143598185613b94565b9350614369818560208601614263565b61437281613e4e565b840191505092915050565b600060208201905081810360008301526143978184614344565b905092915050565b7f4272696467653a20616d6f756e74206973203000000000000000000000000000600082015250565b60006143d5601383613b94565b91506143e08261439f565b602082019050919050565b60006020820190508181036000830152614404816143c8565b9050919050565b60006080820190506144206000830187613402565b61442d6020830186613402565b61443a6040830185613de7565b6144476060830184613978565b95945050505050565b600060e082019050614465600083018a613e1f565b6144726020830189613402565b61447f6040830188613612565b61448c6060830187613de7565b6144996080830186613978565b6144a660a0830185613978565b6144b360c0830184613612565b98975050505050505050565b600060a0820190506144d46000830188613978565b6144e16020830187613612565b6144ee6040830186613402565b6144fb6060830185613de7565b6145086080830184613978565b9695505050505050565b60006060820190506145276000830186613402565b6145346020830185613402565b6145416040830184613de7565b949350505050565b60008160011c9050919050565b6000808291508390505b60018511156145a05780860481111561457c5761457b613fca565b5b600185161561458b5780820291505b808102905061459985614549565b9450614560565b94509492505050565b6000826145b95760019050614675565b816145c75760009050614675565b81600181146145dd57600281146145e757614616565b6001915050614675565b60ff8411156145f9576145f8613fca565b5b8360020a9150848211156146105761460f613fca565b5b50614675565b5060208310610133831016604e8410600b841016171561464b5782820a90508381111561464657614645613fca565b5b614675565b6146588484846001614556565b9250905081840481111561466f5761466e613fca565b5b81810290505b9392505050565b60006146878261376b565b91506146928361376b565b92506146bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846145a9565b905092915050565b60006146d28261376b565b91506146dd8361376b565b92508282026146eb8161376b565b9150828204841483151761470257614701613fca565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006147438261376b565b915061474e8361376b565b92508261475e5761475d614709565b5b828204905092915050565b60006147748261376b565b915061477f8361376b565b925082820190508082111561479757614796613fca565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006148068261376b565b91506000820361481957614818613fca565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061485a602083613b94565b915061486582614824565b602082019050919050565b600060208201905081810360008301526148898161484d565b9050919050565b614899816134bb565b81146148a457600080fd5b50565b6000815190506148b681614890565b92915050565b6000602082840312156148d2576148d161342c565b5b60006148e0848285016148a7565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614945602a83613b94565b9150614950826148e9565b604082019050919050565b6000602082019050818103600083015261497481614938565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006149d7602683613b94565b91506149e28261497b565b604082019050919050565b60006020820190508181036000830152614a06816149ca565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614a43601d83613b94565b9150614a4e82614a0d565b602082019050919050565b60006020820190508181036000830152614a7281614a36565b9050919050565b600081519050919050565b600081905092915050565b6000614a9a82614a79565b614aa48185614a84565b9350614ab4818560208601614263565b80840191505092915050565b6000614acc8284614a8f565b91508190509291505056fea2646970667358221220df9b1df5fc2e11cf7de02b42755cb19a3895ac4ee05c3cfcb53ff53afba89ea164736f6c6343000811003300000000000000000000000083f53c078bf81f6d8b79e01e2ed36c473a960c5e000000000000000000000000e29667f4f7ab97e81a49e29b9ebf18439cfcae300000000000000000000000003461fbef855092283b614affb8990e1739229644000000000000000000000000ba6d8de08f13a3d22fcec54752812dd4dcf2e1f600000000000000000000000083f53c078bf81f6d8b79e01e2ed36c473a960c5e

Deployed ByteCode

0x6080604052600436106101b65760003560e01c806391d14854116100ec578063c415b95c1161008a578063e0956e0f11610064578063e0956e0f146105e8578063e1e1935a14610613578063ec3794ff1461063e578063f4bd482914610667576101b6565b8063c415b95c1461056b578063c859441814610596578063d547741f146105bf576101b6565b8063a8a98962116100c6578063a8a98962146104af578063b43d20c3146104d8578063ba46ae7214610501578063bd4bb24214610542576101b6565b806391d148541461041e578063a217fddf1461045b578063a42dce8014610486576101b6565b806336568abe116101595780635e3b0f9e116101335780635e3b0f9e1461037157806364cd2af31461038d5780637bacc91e146103ca57806381fea1c5146103f3576101b6565b806336568abe146102f25780633a5381b51461031b578063500b19e714610346576101b6565b8063133a01c411610195578063133a01c41461024c57806315d95a0014610263578063248a9ca31461028c5780632f2ff15d146102c9576101b6565b8062c45c54146101bb57806301ffc9a7146101e65780631327d3d814610223575b600080fd5b3480156101c757600080fd5b506101d061067e565b6040516101dd9190613411565b60405180910390f35b3480156101f257600080fd5b5061020d6004803603810190610208919061348e565b6106a4565b60405161021a91906134d6565b60405180910390f35b34801561022f57600080fd5b5061024a6004803603810190610245919061351d565b61071e565b005b34801561025857600080fd5b50610261610794565b005b34801561026f57600080fd5b5061028a6004803603810190610285919061356f565b6107e3565b005b34801561029857600080fd5b506102b360048036038101906102ae91906135e5565b61090b565b6040516102c09190613621565b60405180910390f35b3480156102d557600080fd5b506102f060048036038101906102eb919061363c565b61092a565b005b3480156102fe57600080fd5b506103196004803603810190610314919061363c565b610953565b005b34801561032757600080fd5b506103306109d6565b60405161033d9190613411565b60405180910390f35b34801561035257600080fd5b5061035b6109fa565b6040516103689190613411565b60405180910390f35b61038b600480360381019061038691906136c4565b610a20565b005b34801561039957600080fd5b506103b460048036038101906103af919061372b565b610bd4565b6040516103c19190613411565b60405180910390f35b3480156103d657600080fd5b506103f160048036038101906103ec91906137a1565b610c16565b005b3480156103ff57600080fd5b50610408610f2c565b6040516104159190613621565b60405180910390f35b34801561042a57600080fd5b506104456004803603810190610440919061363c565b610f50565b60405161045291906134d6565b60405180910390f35b34801561046757600080fd5b50610470610fba565b60405161047d9190613621565b60405180910390f35b34801561049257600080fd5b506104ad60048036038101906104a8919061351d565b610fc1565b005b3480156104bb57600080fd5b506104d660048036038101906104d1919061351d565b611038565b005b3480156104e457600080fd5b506104ff60048036038101906104fa9190613881565b6110af565b005b34801561050d57600080fd5b506105286004803603810190610523919061351d565b6119b8565b604051610539959493929190613a62565b60405180910390f35b34801561054e57600080fd5b5061056960048036038101906105649190613ada565b611a22565b005b34801561057757600080fd5b50610580611e0f565b60405161058d9190613411565b60405180910390f35b3480156105a257600080fd5b506105bd60048036038101906105b8919061351d565b611e35565b005b3480156105cb57600080fd5b506105e660048036038101906105e1919061363c565b611eac565b005b3480156105f457600080fd5b506105fd611ed5565b60405161060a9190613621565b60405180910390f35b34801561061f57600080fd5b50610628611ef9565b6040516106359190613621565b60405180910390f35b34801561064a57600080fd5b5061066560048036038101906106609190613b41565b611f1d565b005b34801561067357600080fd5b5061067c612593565b005b600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806107175750610716826125e3565b5b9050919050565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d6107508161074b61264d565b612655565b816001806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d6107c6816107c161264d565b612655565b60018060006101000a81548160ff02191690831515021790555050565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a06108158161081061264d565b612655565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600101540361089c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161089390613bf1565b60405180910390fd5b81600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020160026101000a81548160ff02191690836001811115610901576109006139a3565b5b0217905550505050565b6000806000838152602001908152602001600020600101549050919050565b6109338261090b565b6109448161093f61264d565b612655565b61094e83836126f2565b505050565b61095b61264d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bf90613c83565b60405180910390fd5b6109d282826127d2565b5050565b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900460ff16610a6f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a6690613cef565b60405180910390fd5b600080610a7f86863487876128b3565b9250925050600180811115610a9757610a966139a3565b5b81608001516001811115610aae57610aad6139a3565b5b14610aee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ae590613d5b565b60405180910390fd5b60006003811115610b0257610b016139a3565b5b81606001516003811115610b1957610b186139a3565b5b14610b59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b5090613dc7565b60405180910390fd5b6000821115610bcc57600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f19350505050158015610bca573d6000803e3d6000fd5b505b505050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600160009054906101000a900460ff16610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90613cef565b60405180910390fd5b6000806000610c7788888689896128b3565b925092509250600180811115610c9057610c8f6139a3565b5b81608001516001811115610ca757610ca66139a3565b5b14610ce7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cde90613d5b565b60405180910390fd5b60016003811115610cfb57610cfa6139a3565b5b81606001516003811115610d1257610d116139a3565b5b03610d4957610d443330858a73ffffffffffffffffffffffffffffffffffffffff16612ca0909392919063ffffffff16565b610ec9565b600380811115610d5c57610d5b6139a3565b5b81606001516003811115610d7357610d726139a3565b5b03610dea578673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b8152600401610db3929190613df6565b600060405180830381600087803b158015610dcd57600080fd5b505af1158015610de1573d6000803e3d6000fd5b50505050610ec8565b60026003811115610dfe57610dfd6139a3565b5b81606001516003811115610e1557610e146139a3565b5b03610e8c578673ffffffffffffffffffffffffffffffffffffffff16639dc29fac33856040518363ffffffff1660e01b8152600401610e55929190613df6565b600060405180830381600087803b158015610e6f57600080fd5b505af1158015610e83573d6000803e3d6000fd5b50505050610ec7565b6040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ebe90613dc7565b60405180910390fd5b5b5b6000821115610f2257610f2133600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16848a73ffffffffffffffffffffffffffffffffffffffff16612ca0909392919063ffffffff16565b5b5050505050505050565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d81565b600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0610ff381610fee61264d565b612655565b81600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a061106a8161106561264d565b612655565b81600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b600160009054906101000a900460ff166110fe576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110f590613cef565b60405180910390fd5b60018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ceed2d3b8b8b8b8b8b8b8b8b8b8b6040518b63ffffffff1660e01b81526004016111699a99989796959493929190613e8c565b600060405180830381600087803b15801561118357600080fd5b505af1158015611197573d6000803e3d6000fd5b50505050600060066000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600087815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603611291576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161128890613bf1565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600182015481526020016002820160009054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900460ff16600381111561137e5761137d6139a3565b5b60038111156113905761138f6139a3565b5b81526020016002820160029054906101000a900460ff1660018111156113b9576113b86139a3565b5b60018111156113cb576113ca6139a3565b5b81525050905060006113e18b8360400151612d29565b90506000600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff160361152957600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16635c9edb87856040518263ffffffff1660e01b81526004016114959190613411565b602060405180830381865afa1580156114b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114d69190613f31565b905080821161151a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161151190613faa565b60405180910390fd5b80826115269190613ff9565b91505b6000600381111561153d5761153c6139a3565b5b83606001516003811115611554576115536139a3565b5b03611618578c73ffffffffffffffffffffffffffffffffffffffff166108fc839081150290604051600060405180830381858888f1935050505015801561159f573d6000803e3d6000fd5b50600081111561161357600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f19350505050158015611611573d6000803e3d6000fd5b505b611943565b6001600381111561162c5761162b6139a3565b5b83606001516003811115611643576116426139a3565b5b036116cf576116738d838673ffffffffffffffffffffffffffffffffffffffff16612da99092919063ffffffff16565b60008111156116ca576116c9600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16828673ffffffffffffffffffffffffffffffffffffffff16612da99092919063ffffffff16565b5b611942565b6003808111156116e2576116e16139a3565b5b836060015160038111156116f9576116f86139a3565b5b03611809578373ffffffffffffffffffffffffffffffffffffffff166340c10f198e846040518363ffffffff1660e01b8152600401611739929190613df6565b600060405180830381600087803b15801561175357600080fd5b505af1158015611767573d6000803e3d6000fd5b505050506000811115611804578373ffffffffffffffffffffffffffffffffffffffff166340c10f19600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b81526004016117d1929190613df6565b600060405180830381600087803b1580156117eb57600080fd5b505af11580156117ff573d6000803e3d6000fd5b505050505b611941565b6002600381111561181d5761181c6139a3565b5b83606001516003811115611834576118336139a3565b5b03611940578373ffffffffffffffffffffffffffffffffffffffff166340c10f198e846040518363ffffffff1660e01b8152600401611874929190613df6565b600060405180830381600087803b15801561188e57600080fd5b505af11580156118a2573d6000803e3d6000fd5b50505050600081111561193f578373ffffffffffffffffffffffffffffffffffffffff166340c10f19600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16836040518363ffffffff1660e01b815260040161190c929190613df6565b600060405180830381600087803b15801561192657600080fd5b505af115801561193a573d6000803e3d6000fd5b505050505b5b5b5b5b8d6fffffffffffffffffffffffffffffffff168d73ffffffffffffffffffffffffffffffffffffffff167feeff8dc309b75f785752dd67594b2d8a3a9fd4ff6ecd65fcfe670cee0d851ce486858f6040516119a09392919061402d565b60405180910390a35050505050505050505050505050565b60056020528060005260406000206000915090508060000160009054906101000a900460e01b908060010154908060020160009054906101000a900460ff16908060020160019054906101000a900460ff16908060020160029054906101000a900460ff16905085565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0611a5481611a4f61264d565b612655565b6000801b600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060010154148015611b565750600073ffffffffffffffffffffffffffffffffffffffff1660066000877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600086815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16145b611b95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b8c906140b0565b60405180910390fd5b60008373ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b8152600401602060405180830381865afa158015611be2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0691906140fc565b90508360066000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600087815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060a00160405280877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191681526020018681526020018260ff168152602001846003811115611cfb57611cfa6139a3565b5b8152602001600180811115611d1357611d126139a3565b5b815250600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548163ffffffff021916908360e01c02179055506020820151816001015560408201518160020160006101000a81548160ff021916908360ff16021790555060608201518160020160016101000a81548160ff02191690836003811115611dcf57611dce6139a3565b5b021790555060808201518160020160026101000a81548160ff02191690836001811115611dff57611dfe6139a3565b5b0217905550905050505050505050565b600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b7f77eacfcb6207f26b72edc4f15c48e5518843e7e98ccfd7e0d6c16f92ed1fef8d611e6781611e6261264d565b612655565b81600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055505050565b611eb58261090b565b611ec681611ec161264d565b612655565b611ed083836127d2565b505050565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a081565b7f55ca0725c70a9ecebe86dd2b8b3a414983f6cb638e1a0fa17c64bbdd59b4d4c181565b7f593fb413ec9f9ad9f53f309300b515310ff474591268ca3cbe9752fd88eb76a0611f4f81611f4a61264d565b612655565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603611fbe576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fb590614175565b60405180910390fd5b600060066000867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600085815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036120b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120ab906141e1565b60405180910390fd5b6000600560008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600182015481526020016002820160009054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900460ff1660038111156121a1576121a06139a3565b5b60038111156121b3576121b26139a3565b5b81526020016002820160029054906101000a900460ff1660018111156121dc576121db6139a3565b5b60018111156121ee576121ed6139a3565b5b81525050905060006003811115612208576122076139a3565b5b8160600151600381111561221f5761221e6139a3565b5b14801561222c5750600047115b15612279578373ffffffffffffffffffffffffffffffffffffffff166108fc479081150290604051600060405180830381858888f19350505050158015612277573d6000803e3d6000fd5b505b60008273ffffffffffffffffffffffffffffffffffffffff166370a08231306040518263ffffffff1660e01b81526004016122b49190613411565b602060405180830381865afa1580156122d1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122f59190613f31565b9050600081111561232c5761232b85828573ffffffffffffffffffffffffffffffffffffffff16612da99092919063ffffffff16565b5b60038081111561233f5761233e6139a3565b5b82606001516003811115612356576123556139a3565b5b036123cb578273ffffffffffffffffffffffffffffffffffffffff1663f2fde38b866040518263ffffffff1660e01b81526004016123949190613411565b600060405180830381600087803b1580156123ae57600080fd5b505af11580156123c2573d6000803e3d6000fd5b50505050612468565b600260038111156123df576123de6139a3565b5b826060015160038111156123f6576123f56139a3565b5b03612467578273ffffffffffffffffffffffffffffffffffffffff1663116877cc866040518263ffffffff1660e01b81526004016124349190613411565b600060405180830381600087803b15801561244e57600080fd5b505af1158015612462573d6000803e3d6000fd5b505050505b5b600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549063ffffffff021916905560018201600090556002820160006101000a81549060ff02191690556002820160016101000a81549060ff02191690556002820160026101000a81549060ff0219169055505060066000887bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001908152602001600020600087815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905550505050505050565b7f55ca0725c70a9ecebe86dd2b8b3a414983f6cb638e1a0fa17c64bbdd59b4d4c16125c5816125c061264d565b612655565b6000600160006101000a81548160ff02191690831515021790555050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b61265f8282610f50565b6126ee576126848173ffffffffffffffffffffffffffffffffffffffff166014612e2f565b6126928360001c6020612e2f565b6040516020016126a392919061430a565b6040516020818303038152906040526040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126e5919061437d565b60405180910390fd5b5050565b6126fc8282610f50565b6127ce57600160008084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061277361264d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6127dc8282610f50565b156128af57600080600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555061285461264d565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b6000806128be613358565b60008611612901576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f8906143eb565b60405180910390fd5b6000600560008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900460e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19168152602001600182015481526020016002820160009054906101000a900460ff1660ff1660ff1681526020016002820160019054906101000a900460ff1660038111156129ee576129ed6139a3565b5b6003811115612a00576129ff6139a3565b5b81526020016002820160029054906101000a900460ff166001811115612a2957612a286139a3565b5b6001811115612a3b57612a3a6139a3565b5b8152505090506000801b816020015103612a8a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a8190613bf1565b60405180910390fd5b6000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166316b6ecb08a338b8a6040518563ffffffff1660e01b8152600401612aed949392919061440b565b602060405180830381865afa158015612b0a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612b2e9190613f31565b9050808811612b72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b6990613faa565b60405180910390fd5b60008189612b809190613ff9565b905060018054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16637a6a5e3c8c338b612bcf86896040015161306b565b8c89600001518a602001516040518863ffffffff1660e01b8152600401612bfc9796959493929190614450565b600060405180830381600087803b158015612c1657600080fd5b505af1158015612c2a573d6000803e3d6000fd5b505050508a6fffffffffffffffffffffffffffffffff16887f884a8def17f0d5bbb3fef53f3136b5320c9b39f75afb8985eeab9ea1153ee56d8560000151866020015133868d604051612c819594939291906144bf565b60405180910390a3808284955095509550505050955095509592505050565b612d23846323b872dd60e01b858585604051602401612cc193929190614512565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506130eb565b50505050565b600060098260ff161115612d655760098260ff16612d479190613ff9565b600a612d53919061467c565b83612d5e91906146c7565b9050612da3565b60098260ff161015612d9f578160ff166009612d819190613ff9565b600a612d8d919061467c565b83612d989190614738565b9050612da3565b8290505b92915050565b612e2a8363a9059cbb60e01b8484604051602401612dc8929190613df6565b604051602081830303815290604052907bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff83818316178352505050506130eb565b505050565b606060006002836002612e4291906146c7565b612e4c9190614769565b67ffffffffffffffff811115612e6557612e6461479d565b5b6040519080825280601f01601f191660200182016040528015612e975781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110612ecf57612ece6147cc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612f3357612f326147cc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001846002612f7391906146c7565b612f7d9190614769565b90505b600181111561301d577f3031323334353637383961626364656600000000000000000000000000000000600f861660108110612fbf57612fbe6147cc565b5b1a60f81b828281518110612fd657612fd56147cc565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080613016906147fb565b9050612f80565b5060008414613061576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161305890614870565b60405180910390fd5b8091505092915050565b600060098260ff1611156130a75760098260ff166130899190613ff9565b600a613095919061467c565b836130a09190614738565b90506130e5565b60098260ff1610156130e1578160ff1660096130c39190613ff9565b600a6130cf919061467c565b836130da91906146c7565b90506130e5565b8290505b92915050565b600061314d826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c65648152508573ffffffffffffffffffffffffffffffffffffffff166131b29092919063ffffffff16565b90506000815111156131ad578080602001905181019061316d91906148bc565b6131ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131a39061495b565b60405180910390fd5b5b505050565b60606131c184846000856131ca565b90509392505050565b60608247101561320f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613206906149ed565b60405180910390fd5b613218856132de565b613257576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161324e90614a59565b60405180910390fd5b6000808673ffffffffffffffffffffffffffffffffffffffff1685876040516132809190614ac0565b60006040518083038185875af1925050503d80600081146132bd576040519150601f19603f3d011682016040523d82523d6000602084013e6132c2565b606091505b50915091506132d28282866132f1565b92505050949350505050565b600080823b905060008111915050919050565b6060831561330157829050613351565b6000835111156133145782518084602001fd5b816040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613348919061437d565b60405180910390fd5b9392505050565b6040518060a0016040528060007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916815260200160008019168152602001600060ff168152602001600060038111156133b1576133b06139a3565b5b8152602001600060018111156133ca576133c96139a3565b5b81525090565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006133fb826133d0565b9050919050565b61340b816133f0565b82525050565b60006020820190506134266000830184613402565b92915050565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b61346b81613436565b811461347657600080fd5b50565b60008135905061348881613462565b92915050565b6000602082840312156134a4576134a361342c565b5b60006134b284828501613479565b91505092915050565b60008115159050919050565b6134d0816134bb565b82525050565b60006020820190506134eb60008301846134c7565b92915050565b6134fa816133f0565b811461350557600080fd5b50565b600081359050613517816134f1565b92915050565b6000602082840312156135335761353261342c565b5b600061354184828501613508565b91505092915050565b6002811061355757600080fd5b50565b6000813590506135698161354a565b92915050565b600080604083850312156135865761358561342c565b5b600061359485828601613508565b92505060206135a58582860161355a565b9150509250929050565b6000819050919050565b6135c2816135af565b81146135cd57600080fd5b50565b6000813590506135df816135b9565b92915050565b6000602082840312156135fb576135fa61342c565b5b6000613609848285016135d0565b91505092915050565b61361b816135af565b82525050565b60006020820190506136366000830184613612565b92915050565b600080604083850312156136535761365261342c565b5b6000613661858286016135d0565b925050602061367285828601613508565b9150509250929050565b60006fffffffffffffffffffffffffffffffff82169050919050565b6136a18161367c565b81146136ac57600080fd5b50565b6000813590506136be81613698565b92915050565b600080600080608085870312156136de576136dd61342c565b5b60006136ec878288016136af565b94505060206136fd87828801613508565b935050604061370e878288016135d0565b925050606061371f87828801613479565b91505092959194509250565b600080604083850312156137425761374161342c565b5b600061375085828601613479565b9250506020613761858286016135d0565b9150509250929050565b6000819050919050565b61377e8161376b565b811461378957600080fd5b50565b60008135905061379b81613775565b92915050565b600080600080600060a086880312156137bd576137bc61342c565b5b60006137cb888289016136af565b95505060206137dc88828901613508565b94505060406137ed888289016135d0565b93505060606137fe88828901613479565b925050608061380f8882890161378c565b9150509295509295909350565b600080fd5b600080fd5b600080fd5b60008083601f8401126138415761384061381c565b5b8235905067ffffffffffffffff81111561385e5761385d613821565b5b60208301915083600182028301111561387a57613879613826565b5b9250929050565b6000806000806000806000806000806101008b8d0312156138a5576138a461342c565b5b60006138b38d828e016136af565b9a505060206138c48d828e01613508565b99505060406138d58d828e0161378c565b98505060606138e68d828e01613479565b97505060806138f78d828e01613479565b96505060a06139088d828e016135d0565b95505060c08b013567ffffffffffffffff81111561392957613928613431565b5b6139358d828e0161382b565b945094505060e08b013567ffffffffffffffff81111561395857613957613431565b5b6139648d828e0161382b565b92509250509295989b9194979a5092959850565b61398181613436565b82525050565b600060ff82169050919050565b61399d81613987565b82525050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600481106139e3576139e26139a3565b5b50565b60008190506139f4826139d2565b919050565b6000613a04826139e6565b9050919050565b613a14816139f9565b82525050565b60028110613a2b57613a2a6139a3565b5b50565b6000819050613a3c82613a1a565b919050565b6000613a4c82613a2e565b9050919050565b613a5c81613a41565b82525050565b600060a082019050613a776000830188613978565b613a846020830187613612565b613a916040830186613994565b613a9e6060830185613a0b565b613aab6080830184613a53565b9695505050505050565b60048110613ac257600080fd5b50565b600081359050613ad481613ab5565b92915050565b60008060008060808587031215613af457613af361342c565b5b6000613b0287828801613479565b9450506020613b13878288016135d0565b9350506040613b2487828801613508565b9250506060613b3587828801613ac5565b91505092959194509250565b600080600060608486031215613b5a57613b5961342c565b5b6000613b6886828701613479565b9350506020613b79868287016135d0565b9250506040613b8a86828701613508565b9150509250925092565b600082825260208201905092915050565b7f4272696467653a20756e737570706f7274656420746f6b656e00000000000000600082015250565b6000613bdb601983613b94565b9150613be682613ba5565b602082019050919050565b60006020820190508181036000830152613c0a81613bce565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000613c6d602f83613b94565b9150613c7882613c11565b604082019050919050565b60006020820190508181036000830152613c9c81613c60565b9050919050565b7f4272696467653a206973206e6f74206163746976650000000000000000000000600082015250565b6000613cd9601583613b94565b9150613ce482613ca3565b602082019050919050565b60006020820190508181036000830152613d0881613ccc565b9050919050565b7f4272696467653a2064697361626c656420746f6b656e00000000000000000000600082015250565b6000613d45601683613b94565b9150613d5082613d0f565b602082019050919050565b60006020820190508181036000830152613d7481613d38565b9050919050565b7f4272696467653a20696e76616c696420746f6b656e2074797065000000000000600082015250565b6000613db1601a83613b94565b9150613dbc82613d7b565b602082019050919050565b60006020820190508181036000830152613de081613da4565b9050919050565b613df08161376b565b82525050565b6000604082019050613e0b6000830185613402565b613e186020830184613de7565b9392505050565b613e288161367c565b82525050565b600082825260208201905092915050565b82818337600083830152505050565b6000601f19601f8301169050919050565b6000613e6b8385613e2e565b9350613e78838584613e3f565b613e8183613e4e565b840190509392505050565b600061010082019050613ea2600083018d613e1f565b613eaf602083018c613402565b613ebc604083018b613de7565b613ec9606083018a613978565b613ed66080830189613978565b613ee360a0830188613612565b81810360c0830152613ef6818688613e5f565b905081810360e0830152613f0b818486613e5f565b90509b9a5050505050505050505050565b600081519050613f2b81613775565b92915050565b600060208284031215613f4757613f4661342c565b5b6000613f5584828501613f1c565b91505092915050565b7f4272696467653a20616d6f756e7420746f6f20736d616c6c0000000000000000600082015250565b6000613f94601883613b94565b9150613f9f82613f5e565b602082019050919050565b60006020820190508181036000830152613fc381613f87565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006140048261376b565b915061400f8361376b565b925082820390508181111561402757614026613fca565b5b92915050565b60006060820190506140426000830186613402565b61404f6020830185613de7565b61405c6040830184613978565b949350505050565b7f4272696467653a20657869737473000000000000000000000000000000000000600082015250565b600061409a600e83613b94565b91506140a582614064565b602082019050919050565b600060208201905081810360008301526140c98161408d565b9050919050565b6140d981613987565b81146140e457600080fd5b50565b6000815190506140f6816140d0565b92915050565b6000602082840312156141125761411161342c565b5b6000614120848285016140e7565b91505092915050565b7f4272696467653a207a65726f206164647265737320617574686f726974790000600082015250565b600061415f601e83613b94565b915061416a82614129565b602082019050919050565b6000602082019050818103600083015261418e81614152565b9050919050565b7f4272696467653a20746f6b656e206e6f7420666f756e64000000000000000000600082015250565b60006141cb601783613b94565b91506141d682614195565b602082019050919050565b600060208201905081810360008301526141fa816141be565b9050919050565b600081905092915050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000614242601783614201565b915061424d8261420c565b601782019050919050565b600081519050919050565b60005b83811015614281578082015181840152602081019050614266565b60008484015250505050565b600061429882614258565b6142a28185614201565b93506142b2818560208601614263565b80840191505092915050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b60006142f4601183614201565b91506142ff826142be565b601182019050919050565b600061431582614235565b9150614321828561428d565b915061432c826142e7565b9150614338828461428d565b91508190509392505050565b600061434f82614258565b6143598185613b94565b9350614369818560208601614263565b61437281613e4e565b840191505092915050565b600060208201905081810360008301526143978184614344565b905092915050565b7f4272696467653a20616d6f756e74206973203000000000000000000000000000600082015250565b60006143d5601383613b94565b91506143e08261439f565b602082019050919050565b60006020820190508181036000830152614404816143c8565b9050919050565b60006080820190506144206000830187613402565b61442d6020830186613402565b61443a6040830185613de7565b6144476060830184613978565b95945050505050565b600060e082019050614465600083018a613e1f565b6144726020830189613402565b61447f6040830188613612565b61448c6060830187613de7565b6144996080830186613978565b6144a660a0830185613978565b6144b360c0830184613612565b98975050505050505050565b600060a0820190506144d46000830188613978565b6144e16020830187613612565b6144ee6040830186613402565b6144fb6060830185613de7565b6145086080830184613978565b9695505050505050565b60006060820190506145276000830186613402565b6145346020830185613402565b6145416040830184613de7565b949350505050565b60008160011c9050919050565b6000808291508390505b60018511156145a05780860481111561457c5761457b613fca565b5b600185161561458b5780820291505b808102905061459985614549565b9450614560565b94509492505050565b6000826145b95760019050614675565b816145c75760009050614675565b81600181146145dd57600281146145e757614616565b6001915050614675565b60ff8411156145f9576145f8613fca565b5b8360020a9150848211156146105761460f613fca565b5b50614675565b5060208310610133831016604e8410600b841016171561464b5782820a90508381111561464657614645613fca565b5b614675565b6146588484846001614556565b9250905081840481111561466f5761466e613fca565b5b81810290505b9392505050565b60006146878261376b565b91506146928361376b565b92506146bf7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff84846145a9565b905092915050565b60006146d28261376b565b91506146dd8361376b565b92508282026146eb8161376b565b9150828204841483151761470257614701613fca565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b60006147438261376b565b915061474e8361376b565b92508261475e5761475d614709565b5b828204905092915050565b60006147748261376b565b915061477f8361376b565b925082820190508082111561479757614796613fca565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006148068261376b565b91506000820361481957614818613fca565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061485a602083613b94565b915061486582614824565b602082019050919050565b600060208201905081810360008301526148898161484d565b9050919050565b614899816134bb565b81146148a457600080fd5b50565b6000815190506148b681614890565b92915050565b6000602082840312156148d2576148d161342c565b5b60006148e0848285016148a7565b91505092915050565b7f5361666545524332303a204552433230206f7065726174696f6e20646964206e60008201527f6f74207375636365656400000000000000000000000000000000000000000000602082015250565b6000614945602a83613b94565b9150614950826148e9565b604082019050919050565b6000602082019050818103600083015261497481614938565b9050919050565b7f416464726573733a20696e73756666696369656e742062616c616e636520666f60008201527f722063616c6c0000000000000000000000000000000000000000000000000000602082015250565b60006149d7602683613b94565b91506149e28261497b565b604082019050919050565b60006020820190508181036000830152614a06816149ca565b9050919050565b7f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000600082015250565b6000614a43601d83613b94565b9150614a4e82614a0d565b602082019050919050565b60006020820190508181036000830152614a7281614a36565b9050919050565b600081519050919050565b600081905092915050565b6000614a9a82614a79565b614aa48185614a84565b9350614ab4818560208601614263565b80840191505092915050565b6000614acc8284614a8f565b91508190509291505056fea2646970667358221220df9b1df5fc2e11cf7de02b42755cb19a3895ac4ee05c3cfcb53ff53afba89ea164736f6c63430008110033