0x608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101a357806395d89b41146101d3578063a457c2d7146101f1578063a9059cbb14610221578063cf880f4c14610251578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190611169565b60405180910390f35b6100f160048036038101906100ec9190611224565b61032f565b6040516100fe919061127f565b60405180910390f35b61010f61034d565b60405161011c91906112a9565b60405180910390f35b61013f600480360381019061013a91906112c4565b610357565b60405161014c919061127f565b60405180910390f35b61015d61044f565b60405161016a9190611333565b60405180910390f35b61018d60048036038101906101889190611224565b610458565b60405161019a919061127f565b60405180910390f35b6101bd60048036038101906101b8919061134e565b610504565b6040516101ca91906112a9565b60405180910390f35b6101db61054c565b6040516101e89190611169565b60405180910390f35b61020b60048036038101906102069190611224565b6105de565b604051610218919061127f565b60405180910390f35b61023b60048036038101906102369190611224565b6106c9565b604051610248919061127f565b60405180910390f35b61026b6004803603810190610266919061134e565b6106e7565b005b6102876004803603810190610282919061137b565b6107c2565b60405161029491906112a9565b60405180910390f35b6060600380546102ac906113ea565b80601f01602080910402602001604051908101604052809291908181526020018280546102d8906113ea565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b600061034361033c610849565b8484610851565b6001905092915050565b6000600254905090565b6000610364848484610a1a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103af610849565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561042f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269061148d565b60405180910390fd5b6104438561043b610849565b858403610851565b60019150509392505050565b60006012905090565b60006104fa610465610849565b848460016000610473610849565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104f591906114dc565b610851565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461055b906113ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610587906113ea565b80156105d45780601f106105a9576101008083540402835291602001916105d4565b820191906000526020600020905b8154815290600101906020018083116105b757829003601f168201915b5050505050905090565b600080600160006105ed610849565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a190611582565b60405180910390fd5b6106be6106b5610849565b85858403610851565b600191505092915050565b60006106dd6106d6610849565b8484610a1a565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610728610849565b73ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077590611614565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b7906116a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690611738565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a0d91906112a9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a80906117ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef9061185c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610c745760008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcb906118ee565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c6791906114dc565b9250508190555050610f00565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663fc9d96ba866040518263ffffffff1660e01b8152600401610cd6919061191d565b6020604051808303816000875af1158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190611964565b80610d9c57508173ffffffffffffffffffffffffffffffffffffffff1663fc9d96ba856040518263ffffffff1660e01b8152600401610d58919061191d565b6020604051808303816000875af1158015610d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9b9190611964565b5b610da65782610dbb565b610dba600a84610f6a90919063ffffffff16565b5b9050610e2883604051806060016040528060268152602001611a92602691396000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fb49092919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ebb816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f5d91906112a9565b60405180910390a3505050565b6000610fac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611076565b905092915050565b6000838311158290610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff39190611169565b60405180910390fd5b506000838561100b9190611991565b9050809150509392505050565b600080828461102791906114dc565b90508381101561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390611a11565b60405180910390fd5b8091505092915050565b600080831182906110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b49190611169565b60405180910390fd5b50600083856110cc9190611a60565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111135780820151818401526020810190506110f8565b60008484015250505050565b6000601f19601f8301169050919050565b600061113b826110d9565b61114581856110e4565b93506111558185602086016110f5565b61115e8161111f565b840191505092915050565b600060208201905081810360008301526111838184611130565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111bb82611190565b9050919050565b6111cb816111b0565b81146111d657600080fd5b50565b6000813590506111e8816111c2565b92915050565b6000819050919050565b611201816111ee565b811461120c57600080fd5b50565b60008135905061121e816111f8565b92915050565b6000806040838503121561123b5761123a61118b565b5b6000611249858286016111d9565b925050602061125a8582860161120f565b9150509250929050565b60008115159050919050565b61127981611264565b82525050565b60006020820190506112946000830184611270565b92915050565b6112a3816111ee565b82525050565b60006020820190506112be600083018461129a565b92915050565b6000806000606084860312156112dd576112dc61118b565b5b60006112eb868287016111d9565b93505060206112fc868287016111d9565b925050604061130d8682870161120f565b9150509250925092565b600060ff82169050919050565b61132d81611317565b82525050565b60006020820190506113486000830184611324565b92915050565b6000602082840312156113645761136361118b565b5b6000611372848285016111d9565b91505092915050565b600080604083850312156113925761139161118b565b5b60006113a0858286016111d9565b92505060206113b1858286016111d9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061140257607f821691505b602082108103611415576114146113bb565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006114776028836110e4565b91506114828261141b565b604082019050919050565b600060208201905081810360008301526114a68161146a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114e7826111ee565b91506114f2836111ee565b925082820190508082111561150a576115096114ad565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061156c6025836110e4565b915061157782611510565b604082019050919050565b6000602082019050818103600083015261159b8161155f565b9050919050565b7f4f6e6c7920636f6e74726163742063726561746f722063616e2063616c6c207460008201527f686973206d6573736167652e0000000000000000000000000000000000000000602082015250565b60006115fe602c836110e4565b9150611609826115a2565b604082019050919050565b6000602082019050818103600083015261162d816115f1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006116906024836110e4565b915061169b82611634565b604082019050919050565b600060208201905081810360008301526116bf81611683565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006117226022836110e4565b915061172d826116c6565b604082019050919050565b6000602082019050818103600083015261175181611715565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006117b46025836110e4565b91506117bf82611758565b604082019050919050565b600060208201905081810360008301526117e3816117a7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118466023836110e4565b9150611851826117ea565b604082019050919050565b6000602082019050818103600083015261187581611839565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006118d86026836110e4565b91506118e38261187c565b604082019050919050565b60006020820190508181036000830152611907816118cb565b9050919050565b611917816111b0565b82525050565b6000602082019050611932600083018461190e565b92915050565b61194181611264565b811461194c57600080fd5b50565b60008151905061195e81611938565b92915050565b60006020828403121561197a5761197961118b565b5b60006119888482850161194f565b91505092915050565b600061199c826111ee565b91506119a7836111ee565b92508282039050818111156119bf576119be6114ad565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006119fb601b836110e4565b9150611a06826119c5565b602082019050919050565b60006020820190508181036000830152611a2a816119ee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611a6b826111ee565b9150611a76836111ee565b925082611a8657611a85611a31565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a264697066735822122071978757b6cc65ae07f6dd3f7055d5d1b242f2b9252fe8913d06696fdcc8564464736f6c63430008130033
0x60806040523480156200001157600080fd5b506040518060400160405280600d81526020017f556e656469626c6520436f696e0000000000000000000000000000000000000081525060039081620000589190620004f5565b506040518060400160405280600881526020017f554e454449424c45000000000000000000000000000000000000000000000000815250600490816200009f9190620004f5565b50620000cd620000b46200012360201b60201c565b6b033b2e3c9fd0803ce80000006200012b60201b60201c565b620000dd6200012360201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620006f7565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036200019d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000194906200063d565b60405180910390fd5b8060026000828254620001b191906200068e565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200020891906200068e565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516200026f9190620006da565b60405180910390a35050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620002fd57607f821691505b602082108103620003135762000312620002b5565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b6000600883026200037d7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200033e565b6200038986836200033e565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b6000620003d6620003d0620003ca84620003a1565b620003ab565b620003a1565b9050919050565b6000819050919050565b620003f283620003b5565b6200040a6200040182620003dd565b8484546200034b565b825550505050565b600090565b6200042162000412565b6200042e818484620003e7565b505050565b5b8181101562000456576200044a60008262000417565b60018101905062000434565b5050565b601f821115620004a5576200046f8162000319565b6200047a846200032e565b810160208510156200048a578190505b620004a262000499856200032e565b83018262000433565b50505b505050565b600082821c905092915050565b6000620004ca60001984600802620004aa565b1980831691505092915050565b6000620004e58383620004b7565b9150826002028217905092915050565b62000500826200027b565b67ffffffffffffffff8111156200051c576200051b62000286565b5b620005288254620002e4565b620005358282856200045a565b600060209050601f8311600181146200056d576000841562000558578287015190505b620005648582620004d7565b865550620005d4565b601f1984166200057d8662000319565b60005b82811015620005a75784890151825560018201915060208501945060208101905062000580565b86831015620005c75784890151620005c3601f891682620004b7565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000625601f83620005dc565b91506200063282620005ed565b602082019050919050565b60006020820190508181036000830152620006588162000616565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006200069b82620003a1565b9150620006a883620003a1565b9250828201905080821115620006c357620006c26200065f565b5b92915050565b620006d481620003a1565b82525050565b6000602082019050620006f16000830184620006c9565b92915050565b611aed80620007076000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101a357806395d89b41146101d3578063a457c2d7146101f1578063a9059cbb14610221578063cf880f4c14610251578063dd62ed3e1461026d576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029d565b6040516100ce9190611169565b60405180910390f35b6100f160048036038101906100ec9190611224565b61032f565b6040516100fe919061127f565b60405180910390f35b61010f61034d565b60405161011c91906112a9565b60405180910390f35b61013f600480360381019061013a91906112c4565b610357565b60405161014c919061127f565b60405180910390f35b61015d61044f565b60405161016a9190611333565b60405180910390f35b61018d60048036038101906101889190611224565b610458565b60405161019a919061127f565b60405180910390f35b6101bd60048036038101906101b8919061134e565b610504565b6040516101ca91906112a9565b60405180910390f35b6101db61054c565b6040516101e89190611169565b60405180910390f35b61020b60048036038101906102069190611224565b6105de565b604051610218919061127f565b60405180910390f35b61023b60048036038101906102369190611224565b6106c9565b604051610248919061127f565b60405180910390f35b61026b6004803603810190610266919061134e565b6106e7565b005b6102876004803603810190610282919061137b565b6107c2565b60405161029491906112a9565b60405180910390f35b6060600380546102ac906113ea565b80601f01602080910402602001604051908101604052809291908181526020018280546102d8906113ea565b80156103255780601f106102fa57610100808354040283529160200191610325565b820191906000526020600020905b81548152906001019060200180831161030857829003601f168201915b5050505050905090565b600061034361033c610849565b8484610851565b6001905092915050565b6000600254905090565b6000610364848484610a1a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006103af610849565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205490508281101561042f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104269061148d565b60405180910390fd5b6104438561043b610849565b858403610851565b60019150509392505050565b60006012905090565b60006104fa610465610849565b848460016000610473610849565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104f591906114dc565b610851565b6001905092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461055b906113ea565b80601f0160208091040260200160405190810160405280929190818152602001828054610587906113ea565b80156105d45780601f106105a9576101008083540402835291602001916105d4565b820191906000526020600020905b8154815290600101906020018083116105b757829003601f168201915b5050505050905090565b600080600160006105ed610849565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156106aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106a190611582565b60405180910390fd5b6106be6106b5610849565b85858403610851565b600191505092915050565b60006106dd6106d6610849565b8484610a1a565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610728610849565b73ffffffffffffffffffffffffffffffffffffffff161461077e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161077590611614565b60405180910390fd5b80600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036108c0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b7906116a6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361092f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092690611738565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610a0d91906112a9565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a89576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a80906117ca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610af8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610aef9061185c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603610c745760008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610bd4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bcb906118ee565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610c6791906114dc565b9250508190555050610f00565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905060008173ffffffffffffffffffffffffffffffffffffffff1663fc9d96ba866040518263ffffffff1660e01b8152600401610cd6919061191d565b6020604051808303816000875af1158015610cf5573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d199190611964565b80610d9c57508173ffffffffffffffffffffffffffffffffffffffff1663fc9d96ba856040518263ffffffff1660e01b8152600401610d58919061191d565b6020604051808303816000875af1158015610d77573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d9b9190611964565b5b610da65782610dbb565b610dba600a84610f6a90919063ffffffff16565b5b9050610e2883604051806060016040528060268152602001611a92602691396000808973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054610fb49092919063ffffffff16565b6000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550610ebb816000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461101890919063ffffffff16565b6000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555050505b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610f5d91906112a9565b60405180910390a3505050565b6000610fac83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611076565b905092915050565b6000838311158290610ffc576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff39190611169565b60405180910390fd5b506000838561100b9190611991565b9050809150509392505050565b600080828461102791906114dc565b90508381101561106c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106390611a11565b60405180910390fd5b8091505092915050565b600080831182906110bd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110b49190611169565b60405180910390fd5b50600083856110cc9190611a60565b9050809150509392505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156111135780820151818401526020810190506110f8565b60008484015250505050565b6000601f19601f8301169050919050565b600061113b826110d9565b61114581856110e4565b93506111558185602086016110f5565b61115e8161111f565b840191505092915050565b600060208201905081810360008301526111838184611130565b905092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006111bb82611190565b9050919050565b6111cb816111b0565b81146111d657600080fd5b50565b6000813590506111e8816111c2565b92915050565b6000819050919050565b611201816111ee565b811461120c57600080fd5b50565b60008135905061121e816111f8565b92915050565b6000806040838503121561123b5761123a61118b565b5b6000611249858286016111d9565b925050602061125a8582860161120f565b9150509250929050565b60008115159050919050565b61127981611264565b82525050565b60006020820190506112946000830184611270565b92915050565b6112a3816111ee565b82525050565b60006020820190506112be600083018461129a565b92915050565b6000806000606084860312156112dd576112dc61118b565b5b60006112eb868287016111d9565b93505060206112fc868287016111d9565b925050604061130d8682870161120f565b9150509250925092565b600060ff82169050919050565b61132d81611317565b82525050565b60006020820190506113486000830184611324565b92915050565b6000602082840312156113645761136361118b565b5b6000611372848285016111d9565b91505092915050565b600080604083850312156113925761139161118b565b5b60006113a0858286016111d9565b92505060206113b1858286016111d9565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061140257607f821691505b602082108103611415576114146113bb565b5b50919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b60006114776028836110e4565b91506114828261141b565b604082019050919050565b600060208201905081810360008301526114a68161146a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006114e7826111ee565b91506114f2836111ee565b925082820190508082111561150a576115096114ad565b5b92915050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b600061156c6025836110e4565b915061157782611510565b604082019050919050565b6000602082019050818103600083015261159b8161155f565b9050919050565b7f4f6e6c7920636f6e74726163742063726561746f722063616e2063616c6c207460008201527f686973206d6573736167652e0000000000000000000000000000000000000000602082015250565b60006115fe602c836110e4565b9150611609826115a2565b604082019050919050565b6000602082019050818103600083015261162d816115f1565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b60006116906024836110e4565b915061169b82611634565b604082019050919050565b600060208201905081810360008301526116bf81611683565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006117226022836110e4565b915061172d826116c6565b604082019050919050565b6000602082019050818103600083015261175181611715565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b60006117b46025836110e4565b91506117bf82611758565b604082019050919050565b600060208201905081810360008301526117e3816117a7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006118466023836110e4565b9150611851826117ea565b604082019050919050565b6000602082019050818103600083015261187581611839565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006118d86026836110e4565b91506118e38261187c565b604082019050919050565b60006020820190508181036000830152611907816118cb565b9050919050565b611917816111b0565b82525050565b6000602082019050611932600083018461190e565b92915050565b61194181611264565b811461194c57600080fd5b50565b60008151905061195e81611938565b92915050565b60006020828403121561197a5761197961118b565b5b60006119888482850161194f565b91505092915050565b600061199c826111ee565b91506119a7836111ee565b92508282039050818111156119bf576119be6114ad565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b60006119fb601b836110e4565b9150611a06826119c5565b602082019050919050565b60006020820190508181036000830152611a2a816119ee565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000611a6b826111ee565b9150611a76836111ee565b925082611a8657611a85611a31565b5b82820490509291505056fe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a264697066735822122071978757b6cc65ae07f6dd3f7055d5d1b242f2b9252fe8913d06696fdcc8564464736f6c63430008130033