0x608060405234801562000010575f80fd5b506200001b62000021565b620000ec565b5f54600160a81b900460ff16156200008f5760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b5f54600160a01b900460ff90811614620000ea575f805460ff60a01b191660ff60a01b17905560405160ff81527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b612ed080620000fa5f395ff3fe608060405260043610610170575f3560e01c8063a2ccd14f116100c6578063c5a67b011161007c578063f1650a4611610057578063f1650a461461048e578063fac48eea146104c4578063fe63f41b146104ef575f80fd5b8063c5a67b0114610450578063d3a868331461046f578063e763728814610216575f80fd5b8063bf65c596116100ac578063bf65c596146103e7578063c1af971a14610406578063c4d66de814610431575f80fd5b8063a2ccd14f14610388578063b6cf3fef146103bc575f80fd5b806350f73e7c116101265780636359b872116101015780636359b872146102cc5780637cef12ae146102eb5780638456cb5914610374575f80fd5b806350f73e7c146102765780635c975abb1461028b5780635f57f968146102ad575f80fd5b80633f4ba83a116101565780633f4ba83a1461020257806347204df1146102185780634d50f9a414610257575f80fd5b8063124b82a51461017b5780633ddd2511146101d5575f80fd5b3661017757005b5f80fd5b348015610186575f80fd5b506101b5610195366004612aac565b609b6020525f908152604090208054600182015460029092015490919083565b604080519384526020840192909252908201526060015b60405180910390f35b3480156101e0575f80fd5b506101f46101ef366004612ad7565b61051a565b6040519081526020016101cc565b34801561020d575f80fd5b50610216610574565b005b348015610223575f80fd5b50610237610232366004612b01565b61063d565b6040805194855260208501939093529183015260608201526080016101cc565b348015610262575f80fd5b50610216610271366004612aac565b6106ac565b348015610281575f80fd5b506101f460985481565b348015610296575f80fd5b5060335460ff1660405190151581526020016101cc565b3480156102b8575f80fd5b506101f46102c7366004612b3f565b610802565b3480156102d7575f80fd5b506101f46102e6366004612ad7565b61097c565b3480156102f6575f80fd5b5061034b610305366004612b61565b609c60209081525f92835260408084209091529082529020546fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041682565b604080516fffffffffffffffffffffffffffffffff9384168152929091166020830152016101cc565b34801561037f575f80fd5b50610216610b18565b348015610393575f80fd5b506103a76103a2366004612b98565b610c32565b604080519283526020830191909152016101cc565b3480156103c7575f80fd5b506101f46103d6366004612b3f565b609d6020525f908152604090205481565b3480156103f2575f80fd5b50610216610401366004612ad7565b611177565b348015610411575f80fd5b506101f4610420366004612b3f565b60996020525f908152604090205481565b34801561043c575f80fd5b5061021661044b366004612b3f565b61128e565b34801561045b575f80fd5b5061021661046a366004612c25565b6114f5565b34801561047a575f80fd5b50610216610489366004612c7d565b611864565b348015610499575f80fd5b505f546104ac906001600160a01b031681565b6040516001600160a01b0390911681526020016101cc565b3480156104cf575f80fd5b506101f46104de366004612b3f565b609a6020525f908152604090205481565b3480156104fa575f80fd5b506101f4610509366004612b3f565b60976020525f908152604090205481565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606084901b166020820152603481018290525f906054016040516020818303038152906040528051906020012090505b92915050565b5f80546040517f91d1485400000000000000000000000000000000000000000000000000000000815260048101929092523360248301526001600160a01b0316906391d1485490604401602060405180830381865afa1580156105d9573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906105fd9190612cce565b610633576040517f164931f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b61063b611af7565b565b6001600160a01b038084165f908152609c6020908152604080832093861683529290529081208190819081906106739086611b67565b90505f610680888361051a565b5f908152609b6020526040902080546001820154600290920154909a9199509750919550909350505050565b5f546040517f91d148540000000000000000000000000000000000000000000000000000000081527faf290d8680820aad922855f39b306097b20e28774d6c1ad35a20325630c3a02c60048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa158015610730573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906107549190612cce565b61078a576040517f210d9c6600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b620119408111156107c7576040517f22f5554c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60988190556040518181527f2e56f6093fb947ef7b002dcdf68fcb314c466a1917eac6fa5b00879a7f5de63f9060200160405180910390a150565b5f80546040517fe16c7d980000000000000000000000000000000000000000000000000000000081527f7a8fe1bac8d7638862c53b62ffada56d0a56c381287c35f66503b5b86fa88b85600482015282916001600160a01b03169063e16c7d9890602401602060405180830381865afa158015610881573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906108a59190612ced565b6040517f52c4889f0000000000000000000000000000000000000000000000000000000081526001600160a01b0385811660048301529192505f918316906352c4889f90602401602060405180830381865afa158015610907573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061092b9190612d08565b6001600160a01b0385165f908152609d60205260409020549091508111610952575f610974565b6001600160a01b0384165f908152609d60205260409020546109749082612d4c565b949350505050565b5f80546040517fe16c7d980000000000000000000000000000000000000000000000000000000081527f0900d19e2faab4e79535bcc1cfdb63996d43c8e38d9a260cf2b01e820b5f84d4600482015282916001600160a01b03169063e16c7d9890602401602060405180830381865afa1580156109fb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610a1f9190612ced565b6040517fb3596f070000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301529192509082169063b3596f0790602401602060405180830381865afa158015610a80573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610aa49190612d08565b816001600160a01b031663b4b464346040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ae0573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610b049190612d08565b610b0e9085612d5f565b6109749190612d76565b5f546040517f91d148540000000000000000000000000000000000000000000000000000000081527f65d7a28e3265b37a6474929f336521b332c1681b933f6cb9f3376673440d862a60048201819052336024830152916001600160a01b0316906391d1485490604401602060405180830381865afa158015610b9d573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610bc19190612cce565b610c27575f81604051602001610bd991815260200190565b6040516020818303038152906040529050806040517f2cd56641000000000000000000000000000000000000000000000000000000008152600401610c1e9190612dd0565b60405180910390fd5b610c2f611c08565b50565b5f80610c3c611c63565b5f546040517f9be918e60000000000000000000000000000000000000000000000000000000081526001600160a01b03808b1660048301528a921690639be918e690602401602060405180830381865afa158015610c9c573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cc09190612cce565b610cf6576040517f981a2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f546040517f91d148540000000000000000000000000000000000000000000000000000000081527f97667070c54ef182b0f5858b034beac1b6f3089aa2d3188bb1e8929f4fa9b92960048201523360248201526001600160a01b03909116906391d1485490604401602060405180830381865afa158015610d7a573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610d9e9190612cce565b610dd4576040517f5d0e4dee00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f80546040517fe16c7d980000000000000000000000000000000000000000000000000000000081527f0900d19e2faab4e79535bcc1cfdb63996d43c8e38d9a260cf2b01e820b5f84d460048201526001600160a01b039091169063e16c7d9890602401602060405180830381865afa158015610e53573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610e779190612ced565b5f80546040517fe16c7d980000000000000000000000000000000000000000000000000000000081527fe1defbdba228c2f450cc8f3382e0fb463dd4233b2b59c3d3ed9e518e77222ed3600482015292935090916001600160a01b039091169063e16c7d9890602401602060405180830381865afa158015610efb573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610f1f9190612ced565b90505f610f2e83838e8e611cd6565b9050610f45815f015182602001518b8a8e8d611e8b565b80604001515f03610f82576040517f5e85ae7300000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610f9a8c8260400151835f015184602001518f611f21565b9096509450851561108d575f8054906101000a90046001600160a01b03166001600160a01b031662b83bce6040518163ffffffff1660e01b8152600401602060405180830381865afa158015610ff2573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906110169190612ced565b6040517f79cc6790000000000000000000000000000000000000000000000000000000008152306004820152602481018890526001600160a01b0391909116906379cc6790906044015f604051808303815f87803b158015611076575f80fd5b505af1158015611088573d5f803e3d5ffd5b505050505b6040517f1e9a69500000000000000000000000000000000000000000000000000000000081526001600160a01b038d8116600483015260248201879052831690631e9a6950906044015f604051808303815f87803b1580156110ed575f80fd5b505af11580156110ff573d5f803e3d5ffd5b50508251602080850151604080518c81529283018b905282019290925260608101919091526001600160a01b038f1692507f72e38cd9e650a56d27bba7e1a9a8d6f77dc5cc382bb38a7e56f4f1e845be910d915060800160405180910390a25050505061116c6001606555565b965096945050505050565b5f80546040517f91d1485400000000000000000000000000000000000000000000000000000000815260048101929092523360248301526001600160a01b0316906391d1485490604401602060405180830381865afa1580156111dc573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906112009190612cce565b611236576040517f164931f400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0382165f81815260976020908152604091829020849055815192835282018390527fde4ed37901dc230db7df5ec2ec48bb07c4286fa1c66128cd200c6b6e9cd2bc8391015b60405180910390a15050565b5f547501000000000000000000000000000000000000000000900460ff16158080156112d757505f5460017401000000000000000000000000000000000000000090910460ff16105b806113085750303b15801561130857505f5474010000000000000000000000000000000000000000900460ff166001145b611394576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201527f647920696e697469616c697a65640000000000000000000000000000000000006064820152608401610c1e565b5f80547fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff16740100000000000000000000000000000000000000001790558015611418575f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000001790555b611421826120a9565b6114296120e9565b61143161219b565b61e1006098555f80547fffffffffffffffffffffffff0000000000000000000000000000000000000000166001600160a01b038416908117825560405190917f9cf19cefd9aab739c33b95716ee3f3f921f219dc6d7aae25e1f9497b3788915091a280156114f1575f80547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001611282565b5050565b6114fd611c63565b61150561224d565b5f546040517f9be918e60000000000000000000000000000000000000000000000000000000081526001600160a01b03808716600483015286921690639be918e690602401602060405180830381865afa158015611565573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906115899190612cce565b6115bf576040517f981a2a2b00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b846001600160a01b03811673eeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee1480159061167857505f80546040517f97ef9d980000000000000000000000000000000000000000000000000000000081526001600160a01b038481166004830152909116906397ef9d9890602401602060405180830381865afa158015611649573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061166d9190612ced565b6001600160a01b0316145b156116af576040517f27a2a73900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8415806116d257506001600160a01b0386165f9081526097602052604090205485105b15611709576040517fe70dea0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6117913330875f8054906101000a90046001600160a01b03166001600160a01b031662b83bce6040518163ffffffff1660e01b8152600401602060405180830381865afa15801561175c573d5f803e3d5ffd5b505050506040513d601f19601f820116820180604052508101906117809190612ced565b6001600160a01b03169291906122ba565b5f61179c878761097c565b90506117a787610802565b8111156117e0576040517f9fd55ef600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0387165f908152609d602052604081208054839290611807908490612e20565b909155506118189050878783612389565b7fca2245f2aaa9833d42448c503592e50a442e18ee2614801ddb97b8e94fe297838585604051611849929190612e33565b60405180910390a150505061185e6001606555565b50505050565b61186c611c63565b61187461224d565b6001600160a01b0383165f908152609c60209081526040808320338452909152812061189f90612472565b6001600160a01b0385165f908152609a602052604090205490915081106118f2576040517f321116dc00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6118fd858361051a565b5f818152609b6020818152604080842081516060810183528154815260018201805482860152600283018054948301948552888852959094529085905591849055929091556098549151929350916119559190612e20565b43101561198e576040517f7d8488e000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b7fffffffffffffffffffffffff11111111111111111111111111111111111111126001600160a01b03871601611a465760208101516040515f9133918381818185875af1925050503d805f8114611a00576040519150601f19603f3d011682016040523d82523d5f602084013e611a05565b606091505b5050905080611a40576040517f6d963f8800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b50611a61565b6020810151611a61906001600160a01b038816903390612535565b7fca2245f2aaa9833d42448c503592e50a442e18ee2614801ddb97b8e94fe297838585604051611a92929190612e33565b60405180910390a1805160208083015160408051938452918301526001600160a01b0388169133917fca13475b00c46ee0ce4a479bd18ed747ff89395e96e93779ba7f18cbe1735fb4910160405180910390a3505050611af26001606555565b505050565b611aff61257e565b603380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001690557f5db9ee0a495bf2e6ff9c91a7834c1ba4fdd244a5e8aa4e537bd38aeae4b073aa335b6040516001600160a01b03909116815260200160405180910390a1565b5f611ba083546fffffffffffffffffffffffffffffffff8082167001000000000000000000000000000000009092048116919091031690565b8210611bd8576040517f580821e700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5081546fffffffffffffffffffffffffffffffff9081168201165f90815260018301602052604090205492915050565b611c1061224d565b603380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790557f62e78cea01bee320cd4e420270b5ea74000d11b0c9f74754ebdbfc544b05a258611b4a3390565b600260655403611ccf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c1e565b6002606555565b611cfd60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060800160405280866001600160a01b031663b4b464346040518163ffffffff1660e01b8152600401602060405180830381865afa158015611d44573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d689190612d08565b81526040517fb3596f070000000000000000000000000000000000000000000000000000000081526001600160a01b03868116600483015260209092019188169063b3596f0790602401602060405180830381865afa158015611dcd573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611df19190612d08565b81526040517f70a082310000000000000000000000000000000000000000000000000000000081526001600160a01b0386811660048301526020909201918716906370a0823190602401602060405180830381865afa158015611e56573d5f803e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611e7a9190612d08565b815260200192909252509392505050565b83861080611e9857508286115b15611ed2576040517f7b5421ba00000000000000000000000000000000000000000000000000000000815260048101879052602401610c1e565b81851080611edf57508085115b15611f19576040517f8ed09d5500000000000000000000000000000000000000000000000000000000815260048101869052602401610c1e565b505050505050565b6001600160a01b0385165f908152609960205260408120548190831115611f5d576001600160a01b0387165f9081526099602052604090205492505b6001600160a01b0387165f908152609a6020526040902054838110611fae576040517f0ac1d61d00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8381101561207e575f611fc1898361051a565b5f818152609b6020526040902060985460028201549293509091611fe59190612e20565b431015611ff357505061207e565b5f611fff828a8a6125ea565b9050808a10156120115750505061207e565b60018201546001600160a01b038c165f908152609d60205260408120805490919061203d908490612d4c565b90915550506001820181905581546120559087612e20565b9550612061818b612d4c565b995061206d8186612e20565b94505060019092019150611fae9050565b6001600160a01b039097165f908152609a6020526040902096909655959350505050565b6001606555565b6001600160a01b038116610c2f576040517f8579befe00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f547501000000000000000000000000000000000000000000900460ff16612193576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c1e565b61063b612628565b5f547501000000000000000000000000000000000000000000900460ff16612245576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c1e565b61063b6126fc565b60335460ff161561063b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601060248201527f5061757361626c653a20706175736564000000000000000000000000000000006044820152606401610c1e565b6040516001600160a01b038085166024830152831660448201526064810182905261185e9085907f23b872dd00000000000000000000000000000000000000000000000000000000906084015b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08184030181529190526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fffffffff00000000000000000000000000000000000000000000000000000000909316929092179091526127a6565b6001600160a01b0383165f90815260996020526040812054906123ac858361051a565b604080516060810182528681526020808201878152438385019081525f868152609b84528581209451855591516001850155516002909301929092556001600160a01b0389168252609c815282822033835290522090915061240e90836128a6565b612419826001612e20565b6001600160a01b0386165f818152609960209081526040918290209390935551868152849233917fd1ff36888873897951eaf991bca7db625b8ed70bf2b0d54441907bdab02b08d7910160405180910390a45050505050565b80545f906fffffffffffffffffffffffffffffffff8082169170010000000000000000000000000000000090041681036124d8576040517f75e52f4f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff8181165f908152600185810160205260408220805492905585547fffffffffffffffffffffffffffffffff00000000000000000000000000000000169301909116919091179092555090565b6040516001600160a01b038316602482015260448101829052611af29084907fa9059cbb0000000000000000000000000000000000000000000000000000000090606401612307565b60335460ff1661063b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f5061757361626c653a206e6f74207061757365640000000000000000000000006044820152606401610c1e565b5f808284865f01546125fc9190612d5f565b6126069190612d76565b905080856001015410612619578061261f565b84600101545b95945050505050565b5f547501000000000000000000000000000000000000000000900460ff166126d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c1e565b603380547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055565b5f547501000000000000000000000000000000000000000000900460ff166120a2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960448201527f6e697469616c697a696e670000000000000000000000000000000000000000006064820152608401610c1e565b5f6127fa826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661295b9092919063ffffffff16565b905080515f148061281a57508080602001905181019061281a9190612cce565b611af2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602a60248201527f5361666545524332303a204552433230206f7065726174696f6e20646964206e60448201527f6f742073756363656564000000000000000000000000000000000000000000006064820152608401610c1e565b81546fffffffffffffffffffffffffffffffff700100000000000000000000000000000000820481169181166001830190911603612910576040517f8acb5f2700000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6fffffffffffffffffffffffffffffffff8082165f90815260018086016020526040909120939093558354919092018216700100000000000000000000000000000000029116179055565b606061097484845f85855f80866001600160a01b031685876040516129809190612e7f565b5f6040518083038185875af1925050503d805f81146129ba576040519150601f19603f3d011682016040523d82523d5f602084013e6129bf565b606091505b50915091506129d0878383876129db565b979650505050505050565b60608315612a635782515f03612a5c576001600160a01b0385163b612a5c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e74726163740000006044820152606401610c1e565b5081610974565b6109748383815115612a785781518083602001fd5b806040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c1e9190612dd0565b5f60208284031215612abc575f80fd5b5035919050565b6001600160a01b0381168114610c2f575f80fd5b5f8060408385031215612ae8575f80fd5b8235612af381612ac3565b946020939093013593505050565b5f805f60608486031215612b13575f80fd5b8335612b1e81612ac3565b92506020840135612b2e81612ac3565b929592945050506040919091013590565b5f60208284031215612b4f575f80fd5b8135612b5a81612ac3565b9392505050565b5f8060408385031215612b72575f80fd5b8235612b7d81612ac3565b91506020830135612b8d81612ac3565b809150509250929050565b5f805f805f8060c08789031215612bad575f80fd5b8635612bb881612ac3565b9860208801359850604088013597606081013597506080810135965060a00135945092505050565b5f8083601f840112612bf0575f80fd5b50813567ffffffffffffffff811115612c07575f80fd5b602083019150836020828501011115612c1e575f80fd5b9250929050565b5f805f8060608587031215612c38575f80fd5b8435612c4381612ac3565b935060208501359250604085013567ffffffffffffffff811115612c65575f80fd5b612c7187828801612be0565b95989497509550505050565b5f805f60408486031215612c8f575f80fd5b8335612c9a81612ac3565b9250602084013567ffffffffffffffff811115612cb5575f80fd5b612cc186828701612be0565b9497909650939450505050565b5f60208284031215612cde575f80fd5b81518015158114612b5a575f80fd5b5f60208284031215612cfd575f80fd5b8151612b5a81612ac3565b5f60208284031215612d18575f80fd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b8181038181111561056e5761056e612d1f565b808202811582820484141761056e5761056e612d1f565b5f82612da9577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b500490565b5f5b83811015612dc8578181015183820152602001612db0565b50505f910152565b602081525f8251806020840152612dee816040850160208701612dae565b601f017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0169190910160400192915050565b8082018082111561056e5761056e612d1f565b60208152816020820152818360408301375f818301604090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0160101919050565b5f8251612e90818460208701612dae565b919091019291505056fea264697066735822122002158d659b18d917409fe59d0747a45a1cd92dc80a9f8ba560d1db2d764d42f664736f6c63430008150033