0x60806040523480156200001157600080fd5b50604051620040913803806200409183398181016040528101906200003791906200025b565b6040518060400160405280600f81526020017f4574686572436f6c6c6563746f727300000000000000000000000000000000008152506040518060400160405280600581526020017f45434e46540000000000000000000000000000000000000000000000000000008152508160009081620000b4919062000527565b508060019081620000c6919062000527565b505050620000e9620000dd6200014d60201b60201c565b6200015560201b60201c565b818110156200012f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001269062000695565b60405180910390fd5b82600a819055508160088190555080600981905550505050620006b7565b600033905090565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080fd5b6000819050919050565b620002358162000220565b81146200024157600080fd5b50565b60008151905062000255816200022a565b92915050565b6000806000606084860312156200027757620002766200021b565b5b6000620002878682870162000244565b93505060206200029a8682870162000244565b9250506040620002ad8682870162000244565b9150509250925092565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200033957607f821691505b6020821081036200034f576200034e620002f1565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620003b97fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff826200037a565b620003c586836200037a565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200040862000402620003fc8462000220565b620003dd565b62000220565b9050919050565b6000819050919050565b6200042483620003e7565b6200043c62000433826200040f565b84845462000387565b825550505050565b600090565b6200045362000444565b6200046081848462000419565b505050565b5b8181101562000488576200047c60008262000449565b60018101905062000466565b5050565b601f821115620004d757620004a18162000355565b620004ac846200036a565b81016020851015620004bc578190505b620004d4620004cb856200036a565b83018262000465565b50505b505050565b600082821c905092915050565b6000620004fc60001984600802620004dc565b1980831691505092915050565b6000620005178383620004e9565b9150826002028217905092915050565b6200053282620002b7565b67ffffffffffffffff8111156200054e576200054d620002c2565b5b6200055a825462000320565b620005678282856200048c565b600060209050601f8311600181146200059f57600084156200058a578287015190505b62000596858262000509565b86555062000606565b601f198416620005af8662000355565b60005b82811015620005d957848901518255600182019150602085019450602081019050620005b2565b86831015620005f95784890151620005f5601f891682620004e9565b8355505b6001600288020188555050505b505050505050565b600082825260208201905092915050565b7f43757272656e74207072696365206d757374206265203e3d206d696e696d756d60008201527f2070726963650000000000000000000000000000000000000000000000000000602082015250565b60006200067d6026836200060e565b91506200068a826200061f565b604082019050919050565b60006020820190508181036000830152620006b0816200066e565b9050919050565b6139ca80620006c76000396000f3fe6080604052600436106101e35760003560e01c806395d89b4111610102578063e31a811611610095578063eb91d37e11610064578063eb91d37e1461071f578063f2fde38b1461074a578063f57d852e14610773578063f64989fe146107b0576101e3565b8063e31a81161461064f578063e45be8eb1461067a578063e985e9c5146106a5578063ea01ea22146106e2576101e3565b8063b88d4fde116100d1578063b88d4fde14610581578063bc7fe207146105aa578063bf1b2015146105e7578063c87b56dd14610612576101e3565b806395d89b41146104c55780639d1b464a146104f0578063a22cb4651461051b578063ac3ec0c414610544576101e3565b806345cdd63c1161017a578063715018a611610149578063715018a61461042f57806384a0b57d14610446578063853828b6146104835780638da5cb5b1461049a576101e3565b806345cdd63c1461034f5780635ea8cd121461038c5780636352211e146103b557806370a08231146103f2576101e3565b806314f710fe116101b657806314f710fe146102b657806318b20071146102d457806323b872dd146102fd57806342842e0e14610326576101e3565b806301ffc9a7146101e857806306fdde0314610225578063081812fc14610250578063095ea7b31461028d575b600080fd5b3480156101f457600080fd5b5061020f600480360381019061020a91906125d0565b6107db565b60405161021c9190612618565b60405180910390f35b34801561023157600080fd5b5061023a6108bd565b60405161024791906126c3565b60405180910390f35b34801561025c57600080fd5b506102776004803603810190610272919061271b565b61094f565b6040516102849190612789565b60405180910390f35b34801561029957600080fd5b506102b460048036038101906102af91906127d0565b610995565b005b6102be610aac565b6040516102cb919061281f565b60405180910390f35b3480156102e057600080fd5b506102fb60048036038101906102f6919061271b565b610b69565b005b34801561030957600080fd5b50610324600480360381019061031f919061283a565b610bc0565b005b34801561033257600080fd5b5061034d6004803603810190610348919061283a565b610c20565b005b34801561035b57600080fd5b506103766004803603810190610371919061288d565b610c40565b6040516103839190612978565b60405180910390f35b34801561039857600080fd5b506103b360048036038101906103ae919061271b565b610d3d565b005b3480156103c157600080fd5b506103dc60048036038101906103d7919061271b565b610dd7565b6040516103e99190612789565b60405180910390f35b3480156103fe57600080fd5b506104196004803603810190610414919061288d565b610e5d565b604051610426919061281f565b60405180910390f35b34801561043b57600080fd5b50610444610f14565b005b34801561045257600080fd5b5061046d6004803603810190610468919061271b565b610f28565b60405161047a9190612789565b60405180910390f35b34801561048f57600080fd5b50610498610f82565b005b3480156104a657600080fd5b506104af611089565b6040516104bc9190612789565b60405180910390f35b3480156104d157600080fd5b506104da6110b3565b6040516104e791906126c3565b60405180910390f35b3480156104fc57600080fd5b50610505611145565b604051610512919061281f565b60405180910390f35b34801561052757600080fd5b50610542600480360381019061053d91906129c6565b61114b565b005b34801561055057600080fd5b5061056b6004803603810190610566919061271b565b611161565b6040516105789190612789565b60405180910390f35b34801561058d57600080fd5b506105a860048036038101906105a39190612b3b565b6111bb565b005b3480156105b657600080fd5b506105d160048036038101906105cc919061288d565b61121d565b6040516105de9190612978565b60405180910390f35b3480156105f357600080fd5b506105fc61131a565b604051610609919061281f565b60405180910390f35b34801561061e57600080fd5b506106396004803603810190610634919061271b565b611338565b60405161064691906126c3565b60405180910390f35b34801561065b57600080fd5b506106646113a0565b604051610671919061281f565b60405180910390f35b34801561068657600080fd5b5061068f6113aa565b60405161069c919061281f565b60405180910390f35b3480156106b157600080fd5b506106cc60048036038101906106c79190612bbe565b6113b0565b6040516106d99190612618565b60405180910390f35b3480156106ee57600080fd5b506107096004803603810190610704919061271b565b611444565b6040516107169190612789565b60405180910390f35b34801561072b57600080fd5b5061073461149e565b604051610741919061281f565b60405180910390f35b34801561075657600080fd5b50610771600480360381019061076c919061288d565b6114a8565b005b34801561077f57600080fd5b5061079a6004803603810190610795919061288d565b61152b565b6040516107a79190612978565b60405180910390f35b3480156107bc57600080fd5b506107c5611628565b6040516107d2919061281f565b60405180910390f35b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806108a657507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b806108b657506108b58261162e565b5b9050919050565b6060600080546108cc90612c2d565b80601f01602080910402602001604051908101604052809291908181526020018280546108f890612c2d565b80156109455780601f1061091a57610100808354040283529160200191610945565b820191906000526020600020905b81548152906001019060200180831161092857829003601f168201915b5050505050905090565b600061095a82611698565b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b60006109a082610dd7565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603610a10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a0790612cd0565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff16610a2f6116e3565b73ffffffffffffffffffffffffffffffffffffffff161480610a5e5750610a5d81610a586116e3565b6113b0565b5b610a9d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a9490612d62565b60405180910390fd5b610aa783836116eb565b505050565b6000600a54610abb60076117a4565b10610afb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610af290612dce565b60405180910390fd5b600954341015610b40576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b3790612e60565b60405180910390fd5b610b4a60076117b2565b6000610b5660076117a4565b9050610b6233826117c8565b8091505090565b610b716117e6565b600854811015610bb6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bad90612ef2565b60405180910390fd5b8060098190555050565b610bd1610bcb6116e3565b82611864565b610c10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c0790612f84565b60405180910390fd5b610c1b8383836118f9565b505050565b610c3b838383604051806020016040528060008152506111bb565b505050565b60606000610c4d83610e5d565b905060008167ffffffffffffffff811115610c6b57610c6a612a10565b5b604051908082528060200260200182016040528015610c995781602001602082028036833780820191505090505b509050600080600190505b610cae60076117a4565b8111610d31578573ffffffffffffffffffffffffffffffffffffffff16610cd482610dd7565b73ffffffffffffffffffffffffffffffffffffffff1603610d1e5780838381518110610d0357610d02612fa4565b5b6020026020010181815250508180610d1a90613002565b9250505b8080610d2990613002565b915050610ca4565b50819350505050919050565b610d456117e6565b60008111610d88576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7f906130bc565b60405180910390fd5b600954811115610dcd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dc49061314e565b60405180910390fd5b8060088190555050565b600080610de383611bf2565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1603610e54576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e4b906131ba565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610ecd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ec49061324c565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610f1c6117e6565b610f266000611c2f565b565b6000610f3382611cf5565b610f72576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f69906132b8565b60405180910390fd5b610f7b82610dd7565b9050919050565b610f8a6117e6565b600047905060008111610fd2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fc990613324565b60405180910390fd5b6000610fdc611089565b73ffffffffffffffffffffffffffffffffffffffff1682604051610fff90613375565b60006040518083038185875af1925050503d806000811461103c576040519150601f19603f3d011682016040523d82523d6000602084013e611041565b606091505b5050905080611085576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161107c906133d6565b60405180910390fd5b5050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600180546110c290612c2d565b80601f01602080910402602001604051908101604052809291908181526020018280546110ee90612c2d565b801561113b5780601f106111105761010080835404028352916020019161113b565b820191906000526020600020905b81548152906001019060200180831161111e57829003601f168201915b5050505050905090565b60095481565b61115d6111566116e3565b8383611d36565b5050565b600061116c82611cf5565b6111ab576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111a2906132b8565b60405180910390fd5b6111b482610dd7565b9050919050565b6111cc6111c66116e3565b83611864565b61120b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161120290612f84565b60405180910390fd5b61121784848484611ea2565b50505050565b6060600061122a83610e5d565b905060008167ffffffffffffffff81111561124857611247612a10565b5b6040519080825280602002602001820160405280156112765781602001602082028036833780820191505090505b509050600080600190505b61128b60076117a4565b811161130e578573ffffffffffffffffffffffffffffffffffffffff166112b182610dd7565b73ffffffffffffffffffffffffffffffffffffffff16036112fb57808383815181106112e0576112df612fa4565b5b60200260200101818152505081806112f790613002565b9250505b808061130690613002565b915050611281565b50819350505050919050565b600061132660076117a4565b600a5461133391906133f6565b905090565b606061134382611698565b600061134d611efe565b9050600081511161136d5760405180602001604052806000815250611398565b8061137784611f15565b604051602001611388929190613466565b6040516020818303038152906040525b915050919050565b6000600854905090565b60085481565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b600061144f82611cf5565b61148e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611485906132b8565b60405180910390fd5b61149782610dd7565b9050919050565b6000600954905090565b6114b06117e6565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff160361151f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611516906134fc565b60405180910390fd5b61152881611c2f565b50565b6060600061153883610e5d565b905060008167ffffffffffffffff81111561155657611555612a10565b5b6040519080825280602002602001820160405280156115845781602001602082028036833780820191505090505b509050600080600190505b61159960076117a4565b811161161c578573ffffffffffffffffffffffffffffffffffffffff166115bf82610dd7565b73ffffffffffffffffffffffffffffffffffffffff160361160957808383815181106115ee576115ed612fa4565b5b602002602001018181525050818061160590613002565b9250505b808061161490613002565b91505061158f565b50819350505050919050565b600a5481565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b6116a181611cf5565b6116e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116d7906131ba565b60405180910390fd5b50565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661175e83610dd7565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600081600001549050919050565b6001816000016000828254019250508190555050565b6117e2828260405180602001604052806000815250611fe3565b5050565b6117ee6116e3565b73ffffffffffffffffffffffffffffffffffffffff1661180c611089565b73ffffffffffffffffffffffffffffffffffffffff1614611862576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161185990613568565b60405180910390fd5b565b60008061187083610dd7565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614806118b257506118b181856113b0565b5b806118f057508373ffffffffffffffffffffffffffffffffffffffff166118d88461094f565b73ffffffffffffffffffffffffffffffffffffffff16145b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661191982610dd7565b73ffffffffffffffffffffffffffffffffffffffff161461196f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611966906135fa565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16036119de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119d59061368c565b60405180910390fd5b6119eb838383600161203e565b8273ffffffffffffffffffffffffffffffffffffffff16611a0b82610dd7565b73ffffffffffffffffffffffffffffffffffffffff1614611a61576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a58906135fa565b60405180910390fd5b6004600082815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825403925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4611bed8383836001612044565b505050565b60006002600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008073ffffffffffffffffffffffffffffffffffffffff16611d1783611bf2565b73ffffffffffffffffffffffffffffffffffffffff1614159050919050565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603611da4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d9b906136f8565b60405180910390fd5b80600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051611e959190612618565b60405180910390a3505050565b611ead8484846118f9565b611eb98484848461204a565b611ef8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611eef9061378a565b60405180910390fd5b50505050565b606060405180602001604052806000815250905090565b606060006001611f24846121d1565b01905060008167ffffffffffffffff811115611f4357611f42612a10565b5b6040519080825280601f01601f191660200182016040528015611f755781602001600182028036833780820191505090505b509050600082602001820190505b600115611fd8578080600190039150507f3031323334353637383961626364656600000000000000000000000000000000600a86061a8153600a8581611fcc57611fcb6137aa565b5b04945060008503611f83575b819350505050919050565b611fed8383612324565b611ffa600084848461204a565b612039576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120309061378a565b60405180910390fd5b505050565b50505050565b50505050565b600061206b8473ffffffffffffffffffffffffffffffffffffffff16612541565b156121c4578373ffffffffffffffffffffffffffffffffffffffff1663150b7a026120946116e3565b8786866040518563ffffffff1660e01b81526004016120b6949392919061382e565b6020604051808303816000875af19250505080156120f257506040513d601f19601f820116820180604052508101906120ef919061388f565b60015b612174573d8060008114612122576040519150601f19603f3d011682016040523d82523d6000602084013e612127565b606091505b50600081510361216c576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016121639061378a565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149150506121c9565b600190505b949350505050565b600080600090507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000831061222f577a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008381612225576122246137aa565b5b0492506040810190505b6d04ee2d6d415b85acef8100000000831061226c576d04ee2d6d415b85acef81000000008381612262576122616137aa565b5b0492506020810190505b662386f26fc10000831061229b57662386f26fc100008381612291576122906137aa565b5b0492506010810190505b6305f5e10083106122c4576305f5e10083816122ba576122b96137aa565b5b0492506008810190505b61271083106122e95761271083816122df576122de6137aa565b5b0492506004810190505b6064831061230c5760648381612302576123016137aa565b5b0492506002810190505b600a831061231b576001810190505b80915050919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612393576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161238a90613908565b60405180910390fd5b61239c81611cf5565b156123dc576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123d390613974565b60405180910390fd5b6123ea60008383600161203e565b6123f381611cf5565b15612433576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161242a90613974565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a461253d600083836001612044565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6125ad81612578565b81146125b857600080fd5b50565b6000813590506125ca816125a4565b92915050565b6000602082840312156125e6576125e561256e565b5b60006125f4848285016125bb565b91505092915050565b60008115159050919050565b612612816125fd565b82525050565b600060208201905061262d6000830184612609565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b8381101561266d578082015181840152602081019050612652565b60008484015250505050565b6000601f19601f8301169050919050565b600061269582612633565b61269f818561263e565b93506126af81856020860161264f565b6126b881612679565b840191505092915050565b600060208201905081810360008301526126dd818461268a565b905092915050565b6000819050919050565b6126f8816126e5565b811461270357600080fd5b50565b600081359050612715816126ef565b92915050565b6000602082840312156127315761273061256e565b5b600061273f84828501612706565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061277382612748565b9050919050565b61278381612768565b82525050565b600060208201905061279e600083018461277a565b92915050565b6127ad81612768565b81146127b857600080fd5b50565b6000813590506127ca816127a4565b92915050565b600080604083850312156127e7576127e661256e565b5b60006127f5858286016127bb565b925050602061280685828601612706565b9150509250929050565b612819816126e5565b82525050565b60006020820190506128346000830184612810565b92915050565b6000806000606084860312156128535761285261256e565b5b6000612861868287016127bb565b9350506020612872868287016127bb565b925050604061288386828701612706565b9150509250925092565b6000602082840312156128a3576128a261256e565b5b60006128b1848285016127bb565b91505092915050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b6128ef816126e5565b82525050565b600061290183836128e6565b60208301905092915050565b6000602082019050919050565b6000612925826128ba565b61292f81856128c5565b935061293a836128d6565b8060005b8381101561296b57815161295288826128f5565b975061295d8361290d565b92505060018101905061293e565b5085935050505092915050565b60006020820190508181036000830152612992818461291a565b905092915050565b6129a3816125fd565b81146129ae57600080fd5b50565b6000813590506129c08161299a565b92915050565b600080604083850312156129dd576129dc61256e565b5b60006129eb858286016127bb565b92505060206129fc858286016129b1565b9150509250929050565b600080fd5b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b612a4882612679565b810181811067ffffffffffffffff82111715612a6757612a66612a10565b5b80604052505050565b6000612a7a612564565b9050612a868282612a3f565b919050565b600067ffffffffffffffff821115612aa657612aa5612a10565b5b612aaf82612679565b9050602081019050919050565b82818337600083830152505050565b6000612ade612ad984612a8b565b612a70565b905082815260208101848484011115612afa57612af9612a0b565b5b612b05848285612abc565b509392505050565b600082601f830112612b2257612b21612a06565b5b8135612b32848260208601612acb565b91505092915050565b60008060008060808587031215612b5557612b5461256e565b5b6000612b63878288016127bb565b9450506020612b74878288016127bb565b9350506040612b8587828801612706565b925050606085013567ffffffffffffffff811115612ba657612ba5612573565b5b612bb287828801612b0d565b91505092959194509250565b60008060408385031215612bd557612bd461256e565b5b6000612be3858286016127bb565b9250506020612bf4858286016127bb565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680612c4557607f821691505b602082108103612c5857612c57612bfe565b5b50919050565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b6000612cba60218361263e565b9150612cc582612c5e565b604082019050919050565b60006020820190508181036000830152612ce981612cad565b9050919050565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60008201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c000000602082015250565b6000612d4c603d8361263e565b9150612d5782612cf0565b604082019050919050565b60006020820190508181036000830152612d7b81612d3f565b9050919050565b7f416c6c204e4654732068617665206265656e206d696e74656400000000000000600082015250565b6000612db860198361263e565b9150612dc382612d82565b602082019050919050565b60006020820190508181036000830152612de781612dab565b9050919050565b7f4e6f7420656e6f756768204554482073656e743b20636865636b20637572726560008201527f6e74207072696365210000000000000000000000000000000000000000000000602082015250565b6000612e4a60298361263e565b9150612e5582612dee565b604082019050919050565b60006020820190508181036000830152612e7981612e3d565b9050919050565b7f43757272656e74207072696365206d757374206265203e3d206d696e696d756d60008201527f2070726963650000000000000000000000000000000000000000000000000000602082015250565b6000612edc60268361263e565b9150612ee782612e80565b604082019050919050565b60006020820190508181036000830152612f0b81612ecf565b9050919050565b7f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560008201527f72206f7220617070726f76656400000000000000000000000000000000000000602082015250565b6000612f6e602d8361263e565b9150612f7982612f12565b604082019050919050565b60006020820190508181036000830152612f9d81612f61565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600061300d826126e5565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff820361303f5761303e612fd3565b5b600182019050919050565b7f4d696e696d756d207072696365206d757374206265206772656174657220746860008201527f616e203000000000000000000000000000000000000000000000000000000000602082015250565b60006130a660248361263e565b91506130b18261304a565b604082019050919050565b600060208201905081810360008301526130d581613099565b9050919050565b7f4d696e696d756d207072696365206d757374206265203c3d2063757272656e7460008201527f2070726963650000000000000000000000000000000000000000000000000000602082015250565b600061313860268361263e565b9150613143826130dc565b604082019050919050565b600060208201905081810360008301526131678161312b565b9050919050565b7f4552433732313a20696e76616c696420746f6b656e2049440000000000000000600082015250565b60006131a460188361263e565b91506131af8261316e565b602082019050919050565b600060208201905081810360008301526131d381613197565b9050919050565b7f4552433732313a2061646472657373207a65726f206973206e6f74206120766160008201527f6c6964206f776e65720000000000000000000000000000000000000000000000602082015250565b600061323660298361263e565b9150613241826131da565b604082019050919050565b6000602082019050818103600083015261326581613229565b9050919050565b7f4e465420646f6573206e6f742065786973740000000000000000000000000000600082015250565b60006132a260128361263e565b91506132ad8261326c565b602082019050919050565b600060208201905081810360008301526132d181613295565b9050919050565b7f4e6f2045544820746f2077697468647261770000000000000000000000000000600082015250565b600061330e60128361263e565b9150613319826132d8565b602082019050919050565b6000602082019050818103600083015261333d81613301565b9050919050565b600081905092915050565b50565b600061335f600083613344565b915061336a8261334f565b600082019050919050565b600061338082613352565b9150819050919050565b7f5769746864726177616c206661696c6564000000000000000000000000000000600082015250565b60006133c060118361263e565b91506133cb8261338a565b602082019050919050565b600060208201905081810360008301526133ef816133b3565b9050919050565b6000613401826126e5565b915061340c836126e5565b925082820390508181111561342457613423612fd3565b5b92915050565b600081905092915050565b600061344082612633565b61344a818561342a565b935061345a81856020860161264f565b80840191505092915050565b60006134728285613435565b915061347e8284613435565b91508190509392505050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006134e660268361263e565b91506134f18261348a565b604082019050919050565b60006020820190508181036000830152613515816134d9565b9050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061355260208361263e565b915061355d8261351c565b602082019050919050565b6000602082019050818103600083015261358181613545565b9050919050565b7f4552433732313a207472616e736665722066726f6d20696e636f72726563742060008201527f6f776e6572000000000000000000000000000000000000000000000000000000602082015250565b60006135e460258361263e565b91506135ef82613588565b604082019050919050565b60006020820190508181036000830152613613816135d7565b9050919050565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061367660248361263e565b91506136818261361a565b604082019050919050565b600060208201905081810360008301526136a581613669565b9050919050565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b60006136e260198361263e565b91506136ed826136ac565b602082019050919050565b60006020820190508181036000830152613711816136d5565b9050919050565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b600061377460328361263e565b915061377f82613718565b604082019050919050565b600060208201905081810360008301526137a381613767565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600081519050919050565b600082825260208201905092915050565b6000613800826137d9565b61380a81856137e4565b935061381a81856020860161264f565b61382381612679565b840191505092915050565b6000608082019050613843600083018761277a565b613850602083018661277a565b61385d6040830185612810565b818103606083015261386f81846137f5565b905095945050505050565b600081519050613889816125a4565b92915050565b6000602082840312156138a5576138a461256e565b5b60006138b38482850161387a565b91505092915050565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b60006138f260208361263e565b91506138fd826138bc565b602082019050919050565b60006020820190508181036000830152613921816138e5565b9050919050565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b600061395e601c8361263e565b915061396982613928565b602082019050919050565b6000602082019050818103600083015261398d81613951565b905091905056fea2646970667358221220ce8910b10e970fcf0b0fd836aa60003e4949cc47fb587e4968f5e9748b96d28a64736f6c6343000814003300000000000000000000000000000000000000000000000000000000000008980000000000000000000000000000000000000000000000000001c6bf526340000000000000000000000000000000000000000000000000000001cfd7a0d5e000