0x60806040523480156200001157600080fd5b50620000226200002860201b60201c565b620001d2565b600060019054906101000a900460ff16156200007b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620000729062000175565b60405180910390fd5b60ff801660008054906101000a900460ff1660ff1614620000ec5760ff6000806101000a81548160ff021916908360ff1602179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249860ff604051620000e39190620001b5565b60405180910390a15b565b600082825260208201905092915050565b7f496e697469616c697a61626c653a20636f6e747261637420697320696e69746960008201527f616c697a696e6700000000000000000000000000000000000000000000000000602082015250565b60006200015d602783620000ee565b91506200016a82620000ff565b604082019050919050565b6000602082019050818103600083015262000190816200014e565b9050919050565b600060ff82169050919050565b620001af8162000197565b82525050565b6000602082019050620001cc6000830184620001a4565b92915050565b61639980620001e26000396000f3fe608060405234801561001057600080fd5b50600436106101fb5760003560e01c80637ecebe001161011a578063a217fddf116100ad578063c87b56dd1161007c578063c87b56dd146105ee578063cd279c7c1461061e578063d53913931461063a578063d547741f14610658578063e985e9c514610674576101fb565b8063a217fddf1461057c578063a22cb4651461059a578063b88d4fde146105b6578063c3cda520146105d2576101fb565b806391d14854116100e957806391d14854146104e057806391ddadf41461051057806395d89b411461052e5780639ab24eb01461054c576101fb565b80637ecebe00146104525780638129fc1c1461048257806384b0196e1461048c5780638e539e8c146104b0576101fb565b806336568abe11610192578063587cde1e11610161578063587cde1e146103a65780635c19a95c146103d65780636352211e146103f257806370a0823114610422576101fb565b806336568abe146103205780633a46b1a81461033c57806342842e0e1461036c5780634bf5d7e914610388576101fb565b806323b872dd116101ce57806323b872dd1461029a578063248a9ca3146102b65780632f2ff15d146102e65780633644e51514610302576101fb565b806301ffc9a71461020057806306fdde0314610230578063081812fc1461024e578063095ea7b31461027e575b600080fd5b61021a600480360381019061021591906142c9565b6106a4565b6040516102279190614311565b60405180910390f35b6102386106b6565b60405161024591906143bc565b60405180910390f35b61026860048036038101906102639190614414565b610748565b6040516102759190614482565b60405180910390f35b610298600480360381019061029391906144c9565b61078e565b005b6102b460048036038101906102af9190614509565b6108a5565b005b6102d060048036038101906102cb9190614592565b610905565b6040516102dd91906145ce565b60405180910390f35b61030060048036038101906102fb91906145e9565b610925565b005b61030a610946565b60405161031791906145ce565b60405180910390f35b61033a600480360381019061033591906145e9565b610955565b005b610356600480360381019061035191906144c9565b6109d8565b6040516103639190614638565b60405180910390f35b61038660048036038101906103819190614509565b610aab565b005b610390610acb565b60405161039d91906143bc565b60405180910390f35b6103c060048036038101906103bb9190614653565b610b59565b6040516103cd9190614482565b60405180910390f35b6103f060048036038101906103eb9190614653565b610bc3565b005b61040c60048036038101906104079190614414565b610bdd565b6040516104199190614482565b60405180910390f35b61043c60048036038101906104379190614653565b610c63565b6040516104499190614638565b60405180910390f35b61046c60048036038101906104679190614653565b610d1a565b6040516104799190614638565b60405180910390f35b61048a610d6b565b005b610494610fd8565b6040516104a79796959493929190614779565b60405180910390f35b6104ca60048036038101906104c59190614414565b6110d9565b6040516104d79190614638565b60405180910390f35b6104fa60048036038101906104f591906145e9565b61116e565b6040516105079190614311565b60405180910390f35b6105186111d9565b604051610525919061481e565b60405180910390f35b6105366111e9565b60405161054391906143bc565b60405180910390f35b61056660048036038101906105619190614653565b61127b565b6040516105739190614638565b60405180910390f35b6105846112ea565b60405161059191906145ce565b60405180910390f35b6105b460048036038101906105af9190614865565b6112f1565b005b6105d060048036038101906105cb91906149da565b611307565b005b6105ec60048036038101906105e79190614a96565b611369565b005b61060860048036038101906106039190614414565b61146d565b60405161061591906143bc565b60405180910390f35b61063860048036038101906106339190614bc4565b61147f565b005b6106426114c3565b60405161064f91906145ce565b60405180910390f35b610672600480360381019061066d91906145e9565b6114e7565b005b61068e60048036038101906106899190614c33565b611508565b60405161069b9190614311565b60405180910390f35b60006106af8261159c565b9050919050565b6060606580546106c590614ca2565b80601f01602080910402602001604051908101604052809291908181526020018280546106f190614ca2565b801561073e5780601f106107135761010080835404028352916020019161073e565b820191906000526020600020905b81548152906001019060200180831161072157829003601f168201915b5050505050905090565b600061075382611616565b6069600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061079982610bdd565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610809576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161080090614d45565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610828611661565b73ffffffffffffffffffffffffffffffffffffffff161480610857575061085681610851611661565b611508565b5b610896576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161088d90614dd7565b60405180910390fd5b6108a08383611669565b505050565b6108b66108b0611661565b82611722565b6108f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108ec90614e69565b60405180910390fd5b6109008383836117b7565b505050565b600060c96000838152602001908152602001600020600101549050919050565b61092e82610905565b61093781611ab0565b6109418383611ac4565b505050565b6000610950611ba5565b905090565b61095d611661565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146109ca576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109c190614efb565b60405180910390fd5b6109d48282611bb4565b5050565b60006109e26111d9565b65ffffffffffff168210610a2b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a2290614f67565b60405180910390fd5b610a85610a3783611c96565b61013060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611ce990919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16905092915050565b610ac683838360405180602001604052806000815250611307565b505050565b606043610ad66111d9565b65ffffffffffff1614610b1e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1590614fd3565b60405180910390fd5b6040518060400160405280601d81526020017f6d6f64653d626c6f636b6e756d6265722666726f6d3d64656661756c74000000815250905090565b600061012f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000610bcd611661565b9050610bd98183611ddf565b5050565b600080610be983611ef4565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610c5a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c519061503f565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610cd3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610cca906150d1565b60405180910390fd5b606860008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b6000610d6461013260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020611f31565b9050919050565b60008060019054906101000a900460ff16159050808015610d9c5750600160008054906101000a900460ff1660ff16105b80610dc95750610dab30611f3f565b158015610dc85750600160008054906101000a900460ff1660ff16145b5b610e08576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dff90615163565b60405180910390fd5b60016000806101000a81548160ff021916908360ff1602179055508015610e45576001600060016101000a81548160ff0219169083151502179055505b610eb96040518060400160405280600581526020017f556b726f700000000000000000000000000000000000000000000000000000008152506040518060400160405280600381526020017f554b520000000000000000000000000000000000000000000000000000000000815250611f62565b610ec1611fbf565b610ec9612010565b610f3d6040518060400160405280600581526020017f556b726f700000000000000000000000000000000000000000000000000000008152506040518060400160405280600181526020017f3100000000000000000000000000000000000000000000000000000000000000815250612061565b610f456120be565b610f526000801b33611ac4565b610f7c7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a633611ac4565b8015610fd55760008060016101000a81548160ff0219169083151502179055507f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024986001604051610fcc91906151c8565b60405180910390a15b50565b6000606080600080600060606000801b60fb54148015610ffc57506000801b60fc54145b61103b576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110329061522f565b60405180910390fd5b61104361210f565b61104b6121a1565b46306000801b600067ffffffffffffffff81111561106c5761106b6148af565b5b60405190808252806020026020018201604052801561109a5781602001602082028036833780820191505090505b507f0f00000000000000000000000000000000000000000000000000000000000000959493929190965096509650965096509650965090919293949596565b60006110e36111d9565b65ffffffffffff16821061112c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112390614f67565b60405180910390fd5b61114961113883611c96565b610131611ce990919063ffffffff16565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b600060c9600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60006111e443612233565b905090565b6060606680546111f890614ca2565b80601f016020809104026020016040519081016040528092919081815260200182805461122490614ca2565b80156112715780601f1061124657610100808354040283529160200191611271565b820191906000526020600020905b81548152906001019060200180831161125457829003601f168201915b5050505050905090565b60006112c561013060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020612288565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff169050919050565b6000801b81565b6113036112fc611661565b83836122f2565b5050565b611318611312611661565b83611722565b611357576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161134e90614e69565b60405180910390fd5b6113638484848461245e565b50505050565b834211156113ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113a39061529b565b60405180910390fd5b600061140e6114067fe48329057bfd03d55e49b547132e39cffd9c1820ad7b9d4c5307691425d15adf8989896040516020016113eb94939291906152bb565b604051602081830303815290604052805190602001206124ba565b8585856124d4565b9050611419816124ff565b861461145a576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114519061534c565b60405180910390fd5b6114648188611ddf565b50505050505050565b60606114788261255e565b9050919050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a66114a981611ab0565b6114b38484612670565b6114bd838361268e565b50505050565b7f9f2df0fed2c77648de5860a4cc508cd0818c85b8b8a1ab4ceeef8d981c8956a681565b6114f082610905565b6114f981611ab0565b6115038383611bb4565b505050565b6000606a60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061160f575061160e82612732565b5b9050919050565b61161f81612793565b61165e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116559061503f565b60405180910390fd5b50565b600033905090565b816069600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff166116dc83610bdd565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60008061172e83610bdd565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161480611770575061176f8185611508565b5b806117ae57508373ffffffffffffffffffffffffffffffffffffffff1661179684610748565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff166117d782610bdd565b73ffffffffffffffffffffffffffffffffffffffff161461182d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611824906153de565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff160361189c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189390615470565b60405180910390fd5b6118a983838360016127d4565b8273ffffffffffffffffffffffffffffffffffffffff166118c982610bdd565b73ffffffffffffffffffffffffffffffffffffffff161461191f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611916906153de565b60405180910390fd5b6069600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001606860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816067600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611aab83838360016127da565b505050565b611ac181611abc611661565b6127ec565b50565b611ace828261116e565b611ba157600160c9600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611b46611661565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6000611baf612871565b905090565b611bbe828261116e565b15611c9257600060c9600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611c37611661565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b600063ffffffff8016821115611ce1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cd890615502565b60405180910390fd5b819050919050565b600080836000018054905090506000808290506005831115611d6b576000611d10846128d5565b84611d1b9190615551565b9050611d2a87600001826129ce565b60000160009054906101000a900463ffffffff1663ffffffff168663ffffffff161015611d5957809150611d69565b600181611d669190615585565b92505b505b6000611d7c876000018785856129e3565b905060008114611dd057611d9f87600001600183611d9a9190615551565b6129ce565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16611dd3565b60005b94505050505092915050565b6000611dea83610b59565b90508161012f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167f3134e8a2e6d97e929a7e54011ea5485d7d196dd5f0ba4d4ef95803e8e3fc257f60405160405180910390a4611eef8183611eea86612a56565b612a68565b505050565b60006067600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600081600001549050919050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600060019054906101000a900460ff16611fb1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fa89061562b565b60405180910390fd5b611fbb8282612ceb565b5050565b600060019054906101000a900460ff1661200e576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120059061562b565b60405180910390fd5b565b600060019054906101000a900460ff1661205f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120569061562b565b60405180910390fd5b565b600060019054906101000a900460ff166120b0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120a79061562b565b60405180910390fd5b6120ba8282612d5e565b5050565b600060019054906101000a900460ff1661210d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121049061562b565b60405180910390fd5b565b606060fd805461211e90614ca2565b80601f016020809104026020016040519081016040528092919081815260200182805461214a90614ca2565b80156121975780601f1061216c57610100808354040283529160200191612197565b820191906000526020600020905b81548152906001019060200180831161217a57829003601f168201915b5050505050905090565b606060fe80546121b090614ca2565b80601f01602080910402602001604051908101604052809291908181526020018280546121dc90614ca2565b80156122295780601f106121fe57610100808354040283529160200191612229565b820191906000526020600020905b81548152906001019060200180831161220c57829003601f168201915b5050505050905090565b600065ffffffffffff8016821115612280576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612277906156bd565b60405180910390fd5b819050919050565b60008082600001805490509050600081146122e7576122b6836000016001836122b19190615551565b6129ce565b60000160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff166122ea565b60005b915050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161235790615729565b60405180910390fd5b80606a60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31836040516124519190614311565b60405180910390a3505050565b6124698484846117b7565b61247584848484612de5565b6124b4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124ab906157bb565b60405180910390fd5b50505050565b60006124cd6124c7611ba5565b83612f6c565b9050919050565b60008060006124e587878787612fad565b915091506124f28161308f565b8192505050949350505050565b60008061013260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020905061254d81611f31565b9150612558816131f5565b50919050565b606061256982611616565b600060976000848152602001908152602001600020805461258990614ca2565b80601f01602080910402602001604051908101604052809291908181526020018280546125b590614ca2565b80156126025780601f106125d757610100808354040283529160200191612602565b820191906000526020600020905b8154815290600101906020018083116125e557829003601f168201915b50505050509050600061261361320b565b9050600081510361262857819250505061266b565b60008251111561265d578082604051602001612645929190615817565b6040516020818303038152906040529250505061266b565b61266684613248565b925050505b919050565b61268a8282604051806020016040528060008152506132b0565b5050565b61269782612793565b6126d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126cd906158ad565b60405180910390fd5b806097600084815260200190815260200160002090816126f69190615a6f565b507ff8e1a15aba9398e019f0b49df1a4fde98ee17ae345cb5f6b5e2c27f5033e8ce7826040516127269190614638565b60405180910390a15050565b6000634906490660e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061278c575061278b8261330b565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166127b583611ef4565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b50505050565b6127e6848484846133ed565b50505050565b6127f6828261116e565b61286d576128038161340a565b6128118360001c6020613437565b604051602001612822929190615bd9565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161286491906143bc565b60405180910390fd5b5050565b60007f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f61289c613673565b6128a46136de565b46306040516020016128ba959493929190615c13565b60405160208183030381529060405280519060200120905090565b60008082036128e757600090506129c9565b600060016128f484613749565b901c6001901b9050600181848161290e5761290d615c66565b5b048201901c9050600181848161292757612926615c66565b5b048201901c905060018184816129405761293f615c66565b5b048201901c9050600181848161295957612958615c66565b5b048201901c9050600181848161297257612971615c66565b5b048201901c9050600181848161298b5761298a615c66565b5b048201901c905060018184816129a4576129a3615c66565b5b048201901c90506129c5818285816129bf576129be615c66565b5b0461382a565b9150505b919050565b60008260005281602060002001905092915050565b60005b81831015612a4b5760006129fa8484613843565b90508463ffffffff16612a0d87836129ce565b60000160009054906101000a900463ffffffff1663ffffffff161115612a3557809250612a45565b600181612a429190615585565b93505b506129e6565b819050949350505050565b6000612a6182610c63565b9050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612aa45750600081115b15612ce657600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614612bc757600080612b3461013060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020613869612b2f8661387f565b6138ea565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508473ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612bbc929190615c95565b60405180910390a250505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614612ce557600080612c5261013060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002061393a612c4d8661387f565b6138ea565b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1691508373ffffffffffffffffffffffffffffffffffffffff167fdec2bacdd2f05b59de34da9b523dff8be42e5e38e818c82fdb0bae774387a7248383604051612cda929190615c95565b60405180910390a250505b5b505050565b600060019054906101000a900460ff16612d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d319061562b565b60405180910390fd5b8160659081612d499190615a6f565b508060669081612d599190615a6f565b505050565b600060019054906101000a900460ff16612dad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612da49061562b565b60405180910390fd5b8160fd9081612dbc9190615a6f565b508060fe9081612dcc9190615a6f565b506000801b60fb819055506000801b60fc819055505050565b6000612e068473ffffffffffffffffffffffffffffffffffffffff16611f3f565b15612f5f578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02612e2f611661565b8786866040518563ffffffff1660e01b8152600401612e519493929190615d13565b6020604051808303816000875af1925050508015612e8d57506040513d601f19601f82011682018060405250810190612e8a9190615d74565b60015b612f0f573d8060008114612ebd576040519150601f19603f3d011682016040523d82523d6000602084013e612ec2565b606091505b506000815103612f07576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612efe906157bb565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050612f64565b600190505b949350505050565b60006040517f190100000000000000000000000000000000000000000000000000000000000081528360028201528260228201526042812091505092915050565b6000807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a08360001c1115612fe8576000600391509150613086565b60006001878787876040516000815260200160405260405161300d9493929190615db0565b6020604051602081039080840390855afa15801561302f573d6000803e3d6000fd5b505050602060405103519050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361307d57600060019250925050613086565b80600092509250505b94509492505050565b600060048111156130a3576130a2615df5565b5b8160048111156130b6576130b5615df5565b5b03156131f257600160048111156130d0576130cf615df5565b5b8160048111156130e3576130e2615df5565b5b03613123576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161311a90615e70565b60405180910390fd5b6002600481111561313757613136615df5565b5b81600481111561314a57613149615df5565b5b0361318a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161318190615edc565b60405180910390fd5b6003600481111561319e5761319d615df5565b5b8160048111156131b1576131b0615df5565b5b036131f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016131e890615f6e565b60405180910390fd5b5b50565b6001816000016000828254019250508190555050565b60606040518060400160405280601681526020017f68747470733a2f2f6962622e636f2f577a344271487000000000000000000000815250905090565b606061325382611616565b600061325d61320b565b9050600081511161327d57604051806020016040528060008152506132a8565b8061328784613950565b604051602001613298929190615817565b6040516020818303038152906040525b915050919050565b6132ba8383613a1e565b6132c76000848484612de5565b613306576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016132fd906157bb565b60405180910390fd5b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806133d657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806133e657506133e582613c3b565b5b9050919050565b6133f8848483613ca5565b61340484848484613d61565b50505050565b60606134308273ffffffffffffffffffffffffffffffffffffffff16601460ff16613437565b9050919050565b60606000600283600261344a9190615f8e565b6134549190615585565b67ffffffffffffffff81111561346d5761346c6148af565b5b6040519080825280601f01601f19166020018201604052801561349f5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106134d7576134d6615fd0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811061353b5761353a615fd0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261357b9190615f8e565b6135859190615585565b90505b6001811115613625577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106135c7576135c6615fd0565b5b1a60f81b8282815181106135de576135dd615fd0565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c94508061361e90615fff565b9050613588565b5060008414613669576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161366090616074565b60405180910390fd5b8091505092915050565b60008061367e61210f565b905060008151111561369a5780805190602001209150506136db565b600060fb5490506000801b81146136b55780925050506136db565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470925050505b90565b6000806136e96121a1565b9050600081511115613705578080519060200120915050613746565b600060fc5490506000801b8114613720578092505050613746565b7fc5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470925050505b90565b600080600090506000608084901c111561376b57608083901c92506080810190505b6000604084901c111561378657604083901c92506040810190505b6000602084901c11156137a157602083901c92506020810190505b6000601084901c11156137bc57601083901c92506010810190505b6000600884901c11156137d757600883901c92506008810190505b6000600484901c11156137f257600483901c92506004810190505b6000600284901c111561380d57600283901c92506002810190505b6000600184901c1115613821576001810190505b80915050919050565b6000818310613839578161383b565b825b905092915050565b600060028284186138549190616094565b8284166138619190615585565b905092915050565b6000818361387791906160ed565b905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff80168211156138e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016138d9906161af565b60405180910390fd5b819050919050565b60008061392e6139086138fb6111d9565b65ffffffffffff16611c96565b61391e61391488612288565b868863ffffffff16565b87613d679092919063ffffffff16565b91509150935093915050565b6000818361394891906161cf565b905092915050565b60606000600161395f84613d84565b01905060008167ffffffffffffffff81111561397e5761397d6148af565b5b6040519080825280601f01601f1916602001820160405280156139b05781602001600182028036833780820191505090505b509050600082602001820190505b600115613a13578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581613a0757613a06615c66565b5b049450600085036139be575b819350505050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613a8d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613a849061626b565b60405180910390fd5b613a9681612793565b15613ad6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613acd906162d7565b60405180910390fd5b613ae46000838360016127d4565b613aed81612793565b15613b2d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613b24906162d7565b60405180910390fd5b6001606860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816067600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4613c376000838360016127da565b5050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603613cf357613cf061013161393a613ceb8461387f565b6138ea565b50505b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603613d4157613d3e610131613869613d398461387f565b6138ea565b50505b613d5c613d4d84610b59565b613d5684610b59565b83612a68565b505050565b50505050565b600080613d78856000018585613ed7565b91509150935093915050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008310613de2577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381613dd857613dd7615c66565b5b0492506040810190505b6d04ee2d6d415b85acef81000000008310613e1f576d04ee2d6d415b85acef81000000008381613e1557613e14615c66565b5b0492506020810190505b662386f26fc100008310613e4e57662386f26fc100008381613e4457613e43615c66565b5b0492506010810190505b6305f5e1008310613e77576305f5e1008381613e6d57613e6c615c66565b5b0492506008810190505b6127108310613e9c576127108381613e9257613e91615c66565b5b0492506004810190505b60648310613ebf5760648381613eb557613eb4615c66565b5b0492506002810190505b600a8310613ece576001810190505b80915050919050565b600080600085805490509050600081111561416d576000613f0487600184613eff9190615551565b6129ce565b6040518060400160405290816000820160009054906101000a900463ffffffff1663ffffffff1663ffffffff1681526020016000820160049054906101000a90047bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152505090508563ffffffff16816000015163ffffffff161115613ff8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613fef90616343565b60405180910390fd5b8563ffffffff16816000015163ffffffff160361407c5784614026886001856140219190615551565b6129ce565b60000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555061415c565b8660405180604001604052808863ffffffff168152602001877bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff16021790555050505b806020015185935093505050614255565b8560405180604001604052808763ffffffff168152602001867bffffffffffffffffffffffffffffffffffffffffffffffffffffffff168152509080600181540180825580915050600190039060005260206000200160009091909190915060008201518160000160006101000a81548163ffffffff021916908363ffffffff16021790555060208201518160000160046101000a8154817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff02191690837bffffffffffffffffffffffffffffffffffffffffffffffffffffffff160217905550505060008492509250505b935093915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6142a681614271565b81146142b157600080fd5b50565b6000813590506142c38161429d565b92915050565b6000602082840312156142df576142de614267565b5b60006142ed848285016142b4565b91505092915050565b60008115159050919050565b61430b816142f6565b82525050565b60006020820190506143266000830184614302565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561436657808201518184015260208101905061434b565b60008484015250505050565b6000601f19601f8301169050919050565b600061438e8261432c565b6143988185614337565b93506143a8818560208601614348565b6143b181614372565b840191505092915050565b600060208201905081810360008301526143d68184614383565b905092915050565b6000819050919050565b6143f1816143de565b81146143fc57600080fd5b50565b60008135905061440e816143e8565b92915050565b60006020828403121561442a57614429614267565b5b6000614438848285016143ff565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061446c82614441565b9050919050565b61447c81614461565b82525050565b60006020820190506144976000830184614473565b92915050565b6144a681614461565b81146144b157600080fd5b50565b6000813590506144c38161449d565b92915050565b600080604083850312156144e0576144df614267565b5b60006144ee858286016144b4565b92505060206144ff858286016143ff565b9150509250929050565b60008060006060848603121561452257614521614267565b5b6000614530868287016144b4565b9350506020614541868287016144b4565b9250506040614552868287016143ff565b9150509250925092565b6000819050919050565b61456f8161455c565b811461457a57600080fd5b50565b60008135905061458c81614566565b92915050565b6000602082840312156145a8576145a7614267565b5b60006145b68482850161457d565b91505092915050565b6145c88161455c565b82525050565b60006020820190506145e360008301846145bf565b92915050565b60008060408385031215614600576145ff614267565b5b600061460e8582860161457d565b925050602061461f858286016144b4565b9150509250929050565b614632816143de565b82525050565b600060208201905061464d6000830184614629565b92915050565b60006020828403121561466957614668614267565b5b6000614677848285016144b4565b91505092915050565b60007fff0000000000000000000000000000000000000000000000000000000000000082169050919050565b6146b581614680565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6146f0816143de565b82525050565b600061470283836146e7565b60208301905092915050565b6000602082019050919050565b6000614726826146bb565b61473081856146c6565b935061473b836146d7565b8060005b8381101561476c57815161475388826146f6565b975061475e8361470e565b92505060018101905061473f565b5085935050505092915050565b600060e08201905061478e600083018a6146ac565b81810360208301526147a08189614383565b905081810360408301526147b48188614383565b90506147c36060830187614629565b6147d06080830186614473565b6147dd60a08301856145bf565b81810360c08301526147ef818461471b565b905098975050505050505050565b600065ffffffffffff82169050919050565b614818816147fd565b82525050565b6000602082019050614833600083018461480f565b92915050565b614842816142f6565b811461484d57600080fd5b50565b60008135905061485f81614839565b92915050565b6000806040838503121561487c5761487b614267565b5b600061488a858286016144b4565b925050602061489b85828601614850565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6148e782614372565b810181811067ffffffffffffffff82111715614906576149056148af565b5b80604052505050565b600061491961425d565b905061492582826148de565b919050565b600067ffffffffffffffff821115614945576149446148af565b5b61494e82614372565b9050602081019050919050565b82818337600083830152505050565b600061497d6149788461492a565b61490f565b905082815260208101848484011115614999576149986148aa565b5b6149a484828561495b565b509392505050565b600082601f8301126149c1576149c06148a5565b5b81356149d184826020860161496a565b91505092915050565b600080600080608085870312156149f4576149f3614267565b5b6000614a02878288016144b4565b9450506020614a13878288016144b4565b9350506040614a24878288016143ff565b925050606085013567ffffffffffffffff811115614a4557614a4461426c565b5b614a51878288016149ac565b91505092959194509250565b600060ff82169050919050565b614a7381614a5d565b8114614a7e57600080fd5b50565b600081359050614a9081614a6a565b92915050565b60008060008060008060c08789031215614ab357614ab2614267565b5b6000614ac189828a016144b4565b9650506020614ad289828a016143ff565b9550506040614ae389828a016143ff565b9450506060614af489828a01614a81565b9350506080614b0589828a0161457d565b92505060a0614b1689828a0161457d565b9150509295509295509295565b600067ffffffffffffffff821115614b3e57614b3d6148af565b5b614b4782614372565b9050602081019050919050565b6000614b67614b6284614b23565b61490f565b905082815260208101848484011115614b8357614b826148aa565b5b614b8e84828561495b565b509392505050565b600082601f830112614bab57614baa6148a5565b5b8135614bbb848260208601614b54565b91505092915050565b600080600060608486031215614bdd57614bdc614267565b5b6000614beb868287016144b4565b9350506020614bfc868287016143ff565b925050604084013567ffffffffffffffff811115614c1d57614c1c61426c565b5b614c2986828701614b96565b9150509250925092565b60008060408385031215614c4a57614c49614267565b5b6000614c58858286016144b4565b9250506020614c69858286016144b4565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614cba57607f821691505b602082108103614ccd57614ccc614c73565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d2f602183614337565b9150614d3a82614cd3565b604082019050919050565b60006020820190508181036000830152614d5e81614d22565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000614dc1603d83614337565b9150614dcc82614d65565b604082019050919050565b60006020820190508181036000830152614df081614db4565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000614e53602d83614337565b9150614e5e82614df7565b604082019050919050565b60006020820190508181036000830152614e8281614e46565b9050919050565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6000614ee5602f83614337565b9150614ef082614e89565b604082019050919050565b60006020820190508181036000830152614f1481614ed8565b9050919050565b7f566f7465733a20667574757265206c6f6f6b7570000000000000000000000000600082015250565b6000614f51601483614337565b9150614f5c82614f1b565b602082019050919050565b60006020820190508181036000830152614f8081614f44565b9050919050565b7f566f7465733a2062726f6b656e20636c6f636b206d6f64650000000000000000600082015250565b6000614fbd601883614337565b9150614fc882614f87565b602082019050919050565b60006020820190508181036000830152614fec81614fb0565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b6000615029601883614337565b915061503482614ff3565b602082019050919050565b600060208201905081810360008301526150588161501c565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b60006150bb602983614337565b91506150c68261505f565b604082019050919050565b600060208201905081810360008301526150ea816150ae565b9050919050565b7f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160008201527f647920696e697469616c697a6564000000000000000000000000000000000000602082015250565b600061514d602e83614337565b9150615158826150f1565b604082019050919050565b6000602082019050818103600083015261517c81615140565b9050919050565b6000819050919050565b6000819050919050565b60006151b26151ad6151a884615183565b61518d565b614a5d565b9050919050565b6151c281615197565b82525050565b60006020820190506151dd60008301846151b9565b92915050565b7f4549503731323a20556e696e697469616c697a65640000000000000000000000600082015250565b6000615219601583614337565b9150615224826151e3565b602082019050919050565b600060208201905081810360008301526152488161520c565b9050919050565b7f566f7465733a207369676e617475726520657870697265640000000000000000600082015250565b6000615285601883614337565b91506152908261524f565b602082019050919050565b600060208201905081810360008301526152b481615278565b9050919050565b60006080820190506152d060008301876145bf565b6152dd6020830186614473565b6152ea6040830185614629565b6152f76060830184614629565b95945050505050565b7f566f7465733a20696e76616c6964206e6f6e6365000000000000000000000000600082015250565b6000615336601483614337565b915061534182615300565b602082019050919050565b6000602082019050818103600083015261536581615329565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006153c8602583614337565b91506153d38261536c565b604082019050919050565b600060208201905081810360008301526153f7816153bb565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061545a602483614337565b9150615465826153fe565b604082019050919050565b600060208201905081810360008301526154898161544d565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203360008201527f3220626974730000000000000000000000000000000000000000000000000000602082015250565b60006154ec602683614337565b91506154f782615490565b604082019050919050565b6000602082019050818103600083015261551b816154df565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061555c826143de565b9150615567836143de565b925082820390508181111561557f5761557e615522565b5b92915050565b6000615590826143de565b915061559b836143de565b92508282019050808211156155b3576155b2615522565b5b92915050565b7f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960008201527f6e697469616c697a696e67000000000000000000000000000000000000000000602082015250565b6000615615602b83614337565b9150615620826155b9565b604082019050919050565b6000602082019050818103600083015261564481615608565b9050919050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203460008201527f3820626974730000000000000000000000000000000000000000000000000000602082015250565b60006156a7602683614337565b91506156b28261564b565b604082019050919050565b600060208201905081810360008301526156d68161569a565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b6000615713601983614337565b915061571e826156dd565b602082019050919050565b6000602082019050818103600083015261574281615706565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b60006157a5603283614337565b91506157b082615749565b604082019050919050565b600060208201905081810360008301526157d481615798565b9050919050565b600081905092915050565b60006157f18261432c565b6157fb81856157db565b935061580b818560208601614348565b80840191505092915050565b600061582382856157e6565b915061582f82846157e6565b91508190509392505050565b7f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60008201527f6578697374656e7420746f6b656e000000000000000000000000000000000000602082015250565b6000615897602e83614337565b91506158a28261583b565b604082019050919050565b600060208201905081810360008301526158c68161588a565b9050919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830261592f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826158f2565b61593986836158f2565b95508019841693508086168417925050509392505050565b600061596c615967615962846143de565b61518d565b6143de565b9050919050565b6000819050919050565b61598683615951565b61599a61599282615973565b8484546158ff565b825550505050565b600090565b6159af6159a2565b6159ba81848461597d565b505050565b5b818110156159de576159d36000826159a7565b6001810190506159c0565b5050565b601f821115615a23576159f4816158cd565b6159fd846158e2565b81016020851015615a0c578190505b615a20615a18856158e2565b8301826159bf565b50505b505050565b600082821c905092915050565b6000615a4660001984600802615a28565b1980831691505092915050565b6000615a5f8383615a35565b9150826002028217905092915050565b615a788261432c565b67ffffffffffffffff811115615a9157615a906148af565b5b615a9b8254614ca2565b615aa68282856159e2565b600060209050601f831160018114615ad95760008415615ac7578287015190505b615ad18582615a53565b865550615b39565b601f198416615ae7866158cd565b60005b82811015615b0f57848901518255600182019150602085019450602081019050615aea565b86831015615b2c5784890151615b28601f891682615a35565b8355505b6001600288020188555050505b505050505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b6000615b776017836157db565b9150615b8282615b41565b601782019050919050565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b6000615bc36011836157db565b9150615bce82615b8d565b601182019050919050565b6000615be482615b6a565b9150615bf082856157e6565b9150615bfb82615bb6565b9150615c0782846157e6565b91508190509392505050565b600060a082019050615c2860008301886145bf565b615c3560208301876145bf565b615c4260408301866145bf565b615c4f6060830185614629565b615c5c6080830184614473565b9695505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000604082019050615caa6000830185614629565b615cb76020830184614629565b9392505050565b600081519050919050565b600082825260208201905092915050565b6000615ce582615cbe565b615cef8185615cc9565b9350615cff818560208601614348565b615d0881614372565b840191505092915050565b6000608082019050615d286000830187614473565b615d356020830186614473565b615d426040830185614629565b8181036060830152615d548184615cda565b905095945050505050565b600081519050615d6e8161429d565b92915050565b600060208284031215615d8a57615d89614267565b5b6000615d9884828501615d5f565b91505092915050565b615daa81614a5d565b82525050565b6000608082019050615dc560008301876145bf565b615dd26020830186615da1565b615ddf60408301856145bf565b615dec60608301846145bf565b95945050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f45434453413a20696e76616c6964207369676e61747572650000000000000000600082015250565b6000615e5a601883614337565b9150615e6582615e24565b602082019050919050565b60006020820190508181036000830152615e8981615e4d565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265206c656e67746800600082015250565b6000615ec6601f83614337565b9150615ed182615e90565b602082019050919050565b60006020820190508181036000830152615ef581615eb9565b9050919050565b7f45434453413a20696e76616c6964207369676e6174757265202773272076616c60008201527f7565000000000000000000000000000000000000000000000000000000000000602082015250565b6000615f58602283614337565b9150615f6382615efc565b604082019050919050565b60006020820190508181036000830152615f8781615f4b565b9050919050565b6000615f99826143de565b9150615fa4836143de565b9250828202615fb2816143de565b91508282048414831517615fc957615fc8615522565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b600061600a826143de565b91506000820361601d5761601c615522565b5b600182039050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b600061605e602083614337565b915061606982616028565b602082019050919050565b6000602082019050818103600083015261608d81616051565b9050919050565b600061609f826143de565b91506160aa836143de565b9250826160ba576160b9615c66565b5b828204905092915050565b60007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff82169050919050565b60006160f8826160c5565b9150616103836160c5565b925082820390507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81111561613757616136615522565b5b92915050565b7f53616665436173743a2076616c756520646f65736e27742066697420696e203260008201527f3234206269747300000000000000000000000000000000000000000000000000602082015250565b6000616199602783614337565b91506161a48261613d565b604082019050919050565b600060208201905081810360008301526161c88161618c565b9050919050565b60006161da826160c5565b91506161e5836160c5565b925082820190507bffffffffffffffffffffffffffffffffffffffffffffffffffffffff81111561621957616218615522565b5b92915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b6000616255602083614337565b91506162608261621f565b602082019050919050565b6000602082019050818103600083015261628481616248565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b60006162c1601c83614337565b91506162cc8261628b565b602082019050919050565b600060208201905081810360008301526162f0816162b4565b9050919050565b7f436865636b706f696e743a2064656372656173696e67206b6579730000000000600082015250565b600061632d601b83614337565b9150616338826162f7565b602082019050919050565b6000602082019050818103600083015261635c81616320565b905091905056fea26469706673582212202ff02f8226cf20c94985f533b8db5ac37e6f66acaf4a74618bd9fb52c08d809b64736f6c63430008120033