60806040523480156200001157600080fd5b506040518060400160405280600781526020017f7a6b526f6f7473000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f5a4b5200000000000000000000000000000000000000000000000000000000008152508160039080519060200190620000969291906200024d565b508060049080519060200190620000af9291906200024d565b505050620000cf336a52b7d2dcc80cd2e4000000620000d560201b60201c565b6200049b565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000148576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200013f9062000350565b60405180910390fd5b6200015c600083836200024360201b60201c565b8060026000828254620001709190620003a0565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000223919062000372565b60405180910390a36200023f600083836200024860201b60201c565b5050565b505050565b505050565b8280546200025b9062000407565b90600052602060002090601f0160209004810192826200027f5760008555620002cb565b82601f106200029a57805160ff1916838001178555620002cb565b82800160010185558215620002cb579182015b82811115620002ca578251825591602001919060010190620002ad565b5b509050620002da9190620002de565b5090565b5b80821115620002f9576000816000905550600101620002df565b5090565b60006200030c601f836200038f565b91507f45524332303a206d696e7420746f20746865207a65726f2061646472657373006000830152602082019050919050565b6200034a81620003fd565b82525050565b600060208201905081810360008301526200036b81620002fd565b9050919050565b60006020820190506200038960008301846200033f565b92915050565b600082825260208201905092915050565b6000620003ad82620003fd565b9150620003ba83620003fd565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115620003f257620003f16200043d565b5b828201905092915050565b6000819050919050565b600060028204905060018216806200042057607f821691505b602082108114156200043757620004366200046c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b61128880620004ab6000396000f3fe608060405234801561001057600080fd5b50600436106100b45760003560e01c806370a082311161007157806370a08231146101a357806395d89b41146101d3578063a457c2d7146101f1578063a9059cbb14610221578063d03b1bd214610251578063dd62ed3e1461026f576100b4565b806306fdde03146100b9578063095ea7b3146100d757806318160ddd1461010757806323b872dd14610125578063313ce567146101555780633950935114610173575b600080fd5b6100c161029f565b6040516100ce9190610f08565b60405180910390f35b6100f160048036038101906100ec9190610ba7565b610331565b6040516100fe9190610eed565b60405180910390f35b61010f610354565b60405161011c919061100a565b60405180910390f35b61013f600480360381019061013a9190610b58565b61035e565b60405161014c9190610eed565b60405180910390f35b61015d61038d565b60405161016a9190611025565b60405180910390f35b61018d60048036038101906101889190610ba7565b610396565b60405161019a9190610eed565b60405180910390f35b6101bd60048036038101906101b89190610af3565b6103cd565b6040516101ca919061100a565b60405180910390f35b6101db610415565b6040516101e89190610f08565b60405180910390f35b61020b60048036038101906102069190610ba7565b6104a7565b6040516102189190610eed565b60405180910390f35b61023b60048036038101906102369190610ba7565b61051e565b6040516102489190610eed565b60405180910390f35b610259610541565b6040516102669190610f08565b60405180910390f35b61028960048036038101906102849190610b1c565b610561565b604051610296919061100a565b60405180910390f35b6060600380546102ae9061113a565b80601f01602080910402602001604051908101604052809291908181526020018280546102da9061113a565b80156103275780601f106102fc57610100808354040283529160200191610327565b820191906000526020600020905b81548152906001019060200180831161030a57829003601f168201915b5050505050905090565b60008061033c6105e8565b90506103498185856105f0565b600191505092915050565b6000600254905090565b6000806103696105e8565b90506103768582856107bb565b610381858585610847565b60019150509392505050565b60006012905090565b6000806103a16105e8565b90506103c28185856103b38589610561565b6103bd919061105c565b6105f0565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6060600480546104249061113a565b80601f01602080910402602001604051908101604052809291908181526020018280546104509061113a565b801561049d5780601f106104725761010080835404028352916020019161049d565b820191906000526020600020905b81548152906001019060200180831161048057829003601f168201915b5050505050905090565b6000806104b26105e8565b905060006104c08286610561565b905083811015610505576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104fc90610fea565b60405180910390fd5b61051282868684036105f0565b60019250505092915050565b6000806105296105e8565b9050610536818585610847565b600191505092915050565b606060405180608001604052806049815260200161120a60499139905090565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610660576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161065790610fca565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156106d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106c790610f4a565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516107ae919061100a565b60405180910390a3505050565b60006107c78484610561565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108415781811015610833576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161082a90610f6a565b60405180910390fd5b61084084848484036105f0565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156108b7576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ae90610faa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091e90610f2a565b60405180910390fd5b610932838383610abf565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050818110156109b8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109af90610f8a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825401925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610aa6919061100a565b60405180910390a3610ab9848484610ac4565b50505050565b505050565b505050565b600081359050610ad8816111db565b92915050565b600081359050610aed816111f2565b92915050565b600060208284031215610b0557600080fd5b6000610b1384828501610ac9565b91505092915050565b60008060408385031215610b2f57600080fd5b6000610b3d85828601610ac9565b9250506020610b4e85828601610ac9565b9150509250929050565b600080600060608486031215610b6d57600080fd5b6000610b7b86828701610ac9565b9350506020610b8c86828701610ac9565b9250506040610b9d86828701610ade565b9150509250925092565b60008060408385031215610bba57600080fd5b6000610bc885828601610ac9565b9250506020610bd985828601610ade565b9150509250929050565b610bec816110c4565b82525050565b6000610bfd82611040565b610c07818561104b565b9350610c17818560208601611107565b610c20816111ca565b840191505092915050565b6000610c3860238361104b565b91507f45524332303a207472616e7366657220746f20746865207a65726f206164647260008301527f65737300000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610c9e60228361104b565b91507f45524332303a20617070726f766520746f20746865207a65726f20616464726560008301527f73730000000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610d04601d8361104b565b91507f45524332303a20696e73756666696369656e7420616c6c6f77616e63650000006000830152602082019050919050565b6000610d4460268361104b565b91507f45524332303a207472616e7366657220616d6f756e742065786365656473206260008301527f616c616e636500000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610daa60258361104b565b91507f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008301527f64726573730000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610e1060248361104b565b91507f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008301527f72657373000000000000000000000000000000000000000000000000000000006020830152604082019050919050565b6000610e7660258361104b565b91507f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008301527f207a65726f0000000000000000000000000000000000000000000000000000006020830152604082019050919050565b610ed8816110f0565b82525050565b610ee7816110fa565b82525050565b6000602082019050610f026000830184610be3565b92915050565b60006020820190508181036000830152610f228184610bf2565b905092915050565b60006020820190508181036000830152610f4381610c2b565b9050919050565b60006020820190508181036000830152610f6381610c91565b9050919050565b60006020820190508181036000830152610f8381610cf7565b9050919050565b60006020820190508181036000830152610fa381610d37565b9050919050565b60006020820190508181036000830152610fc381610d9d565b9050919050565b60006020820190508181036000830152610fe381610e03565b9050919050565b6000602082019050818103600083015261100381610e69565b9050919050565b600060208201905061101f6000830184610ecf565b92915050565b600060208201905061103a6000830184610ede565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611067826110f0565b9150611072836110f0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156110a7576110a661116c565b5b828201905092915050565b60006110bd826110d0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561112557808201518184015260208101905061110a565b83811115611134576000848401525b50505050565b6000600282049050600182168061115257607f821691505b602082108114156111665761116561119b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b6111e4816110b2565b81146111ef57600080fd5b50565b6111fb816110f0565b811461120657600080fd5b5056fe4166666f726461626c652026205365637572652052616e646f6d204e756d6265722047656e657261746f722028524e472f5652462920666f7220736d61727420636f6e747261637473a26469706673582212200e9aa02712f926eba1da60ba633567a06c8396c790542c3d18f21b81388fcf8964736f6c63430008000033