60806040523480156200001157600080fd5b506040516200395b3803806200395b833981016040819052620000349162000696565b604051806040016040528060068152602001654865726f657360d01b815250604051806040016040528060048152602001634845524f60e01b815250816000908162000081919062000818565b50600162000090828262000818565b505060098054336001600160a01b031991821617909155600880549091166001600160a01b0389161790555060005b8551811015620003d857600a6040518060c00160405280838152602001888481518110620000f157620000f1620008e4565b60200260200101518152602001878481518110620001135762000113620008e4565b60200260200101518152602001868481518110620001355762000135620008e4565b60200260200101518152602001858481518110620001575762000157620008e4565b60200260200101518152602001848481518110620001795762000179620008e4565b6020908102919091018101519091528254600181810185556000948552938290208351600690920201908155908201519192909190820190620001bd908262000818565b5060408201516002820190620001d4908262000818565b50606082015181600301556080820151816004015560a0820151816005015550506000600a82815481106200020d576200020d620008e4565b90600052602060002090600602016040518060c001604052908160008201548152602001600182018054620002429062000789565b80601f0160208091040260200160405190810160405280929190818152602001828054620002709062000789565b8015620002c15780601f106200029557610100808354040283529160200191620002c1565b820191906000526020600020905b815481529060010190602001808311620002a357829003601f168201915b50505050508152602001600282018054620002dc9062000789565b80601f01602080910402602001604051908101604052809291908181526020018280546200030a9062000789565b80156200035b5780601f106200032f576101008083540402835291602001916200035b565b820191906000526020600020905b8154815290600101906020018083116200033d57829003601f168201915b5050505050815260200160038201548152602001600482015481526020016005820154815250509050620003c26040518060600160405280602581526020016200393660259139826020015183606001518460400151620003fc60201b620019101760201c565b5080620003cf81620008fa565b915050620000bf565b50620003f060066200045360201b620019591760201c565b505050505050620009a0565b6200044d8484848460405160240162000419949392919062000950565b60408051601f198184030181529190526020810180516001600160e01b03908116632e8d4b8d60e11b179091526200045c16565b50505050565b80546001019055565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b80516001600160a01b03811681146200049557600080fd5b919050565b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715620004db57620004db6200049a565b604052919050565b60006001600160401b03821115620004ff57620004ff6200049a565b5060051b60200190565b60005b83811015620005265781810151838201526020016200050c565b50506000910152565b6000601f83818401126200054257600080fd5b825160206200055b6200055583620004e3565b620004b0565b82815260059290921b850181019181810190878411156200057b57600080fd5b8287015b848110156200061d5780516001600160401b0380821115620005a15760008081fd5b818a0191508a603f830112620005b75760008081fd5b85820151604082821115620005d057620005d06200049a565b620005e3828b01601f19168901620004b0565b92508183528c81838601011115620005fb5760008081fd5b6200060c8289850183870162000509565b50508452509183019183016200057f565b50979650505050505050565b600082601f8301126200063b57600080fd5b815160206200064e6200055583620004e3565b82815260059290921b840181019181810190868411156200066e57600080fd5b8286015b848110156200068b578051835291830191830162000672565b509695505050505050565b60008060008060008060c08789031215620006b057600080fd5b620006bb876200047d565b60208801519096506001600160401b0380821115620006d957600080fd5b620006e78a838b016200052f565b96506040890151915080821115620006fe57600080fd5b6200070c8a838b016200052f565b955060608901519150808211156200072357600080fd5b620007318a838b0162000629565b945060808901519150808211156200074857600080fd5b620007568a838b0162000629565b935060a08901519150808211156200076d57600080fd5b506200077c89828a0162000629565b9150509295509295509295565b600181811c908216806200079e57607f821691505b602082108103620007bf57634e487b7160e01b600052602260045260246000fd5b50919050565b601f8211156200081357600081815260208120601f850160051c81016020861015620007ee5750805b601f850160051c820191505b818110156200080f57828155600101620007fa565b5050505b505050565b81516001600160401b038111156200083457620008346200049a565b6200084c8162000845845462000789565b84620007c5565b602080601f8311600181146200088457600084156200086b5750858301515b600019600386901b1c1916600185901b1785556200080f565b600085815260208120601f198616915b82811015620008b55788860151825594840194600190910190840162000894565b5085821015620008d45787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b6000600182016200091b57634e487b7160e01b600052601160045260246000fd5b5060010190565b600081518084526200093c81602086016020860162000509565b601f01601f19169290920160200192915050565b60808152600062000965608083018762000922565b828103602084015262000979818762000922565b9050846040840152828103606084015262000995818562000922565b979650505050505050565b612f8680620009b06000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c806395d89b41116100b8578063c772af391161007c578063c772af39146102c1578063c87b56dd146102d4578063c8cf27f4146102e7578063d4f24c5b146102fc578063e985e9c514610304578063f8b81ef71461031757600080fd5b806395d89b411461025957806398da4c9514610261578063a22cb46514610286578063b88d4fde14610299578063b953084e146102ac57600080fd5b806342842e0e1161010a57806342842e0e146101d75780636352211e146101ea57806370a08231146101fd5780637bca30e61461021e5780637df124a1146102265780638da5cb5b1461024657600080fd5b806301ffc9a71461014757806306fdde031461016f578063081812fc14610184578063095ea7b3146101af57806323b872dd146101c4575b600080fd5b61015a610155366004612357565b61032a565b60405190151581526020015b60405180910390f35b61017761037c565b60405161016691906123cb565b6101976101923660046123de565b61040e565b6040516001600160a01b039091168152602001610166565b6101c26101bd366004612413565b610435565b005b6101c26101d236600461243d565b61054f565b6101c26101e536600461243d565b610580565b6101976101f83660046123de565b61059b565b61021061020b366004612479565b6105d0565b604051908152602001610166565b6101c2610656565b610210610234366004612479565b600c6020526000908152604090205481565b600954610197906001600160a01b031681565b61017761078d565b61027461026f3660046123de565b61079c565b60405161016696959493929190612494565b6101c26102943660046124de565b6108e1565b6101c26102a73660046125af565b6108f0565b6102b4610922565b60405161016691906126bc565b600854610197906001600160a01b031681565b6101776102e23660046123de565b610acd565b6102ef610cde565b604051610166919061271e565b6101c2610e78565b61015a610312366004612731565b6115fa565b6101c26103253660046123de565b611628565b60006001600160e01b031982166380ac58cd60e01b148061035b57506001600160e01b03198216635b5e139f60e01b145b8061037657506301ffc9a760e01b6001600160e01b03198316145b92915050565b60606000805461038b90612764565b80601f01602080910402602001604051908101604052809291908181526020018280546103b790612764565b80156104045780601f106103d957610100808354040283529160200191610404565b820191906000526020600020905b8154815290600101906020018083116103e757829003601f168201915b5050505050905090565b600061041982611962565b506000908152600460205260409020546001600160a01b031690565b60006104408261059b565b9050806001600160a01b0316836001600160a01b0316036104b25760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084015b60405180910390fd5b336001600160a01b03821614806104ce57506104ce81336115fa565b6105405760405162461bcd60e51b815260206004820152603d60248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f7420746f60448201527f6b656e206f776e6572206f7220617070726f76656420666f7220616c6c00000060648201526084016104a9565b61054a838361198a565b505050565b61055933826119f8565b6105755760405162461bcd60e51b81526004016104a99061279e565b61054a838383611a57565b61054a838383604051806020016040528060008152506108f0565b6000818152600260205260408120546001600160a01b0316806103765760405162461bcd60e51b81526004016104a9906127eb565b60006001600160a01b03821661063a5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a2061646472657373207a65726f206973206e6f7420612076616044820152683634b21037bbb732b960b91b60648201526084016104a9565b506001600160a01b031660009081526003602052604090205490565b6009546001600160a01b0316331461066d57600080fd5b6008546040805163c76d9e7d60e01b815290516000926001600160a01b03169163c76d9e7d91600480830192869291908290030181865afa1580156106b6573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526106de9190810190612862565b6040015111156107235760405162461bcd60e51b815260206004820152601060248201526f189bdcdcc81a5cc81b9bdd081ada5b1b60821b60448201526064016104a9565b600860009054906101000a90046001600160a01b03166001600160a01b0316634b0789fd6040518163ffffffff1660e01b8152600401600060405180830381600087803b15801561077357600080fd5b505af1158015610787573d6000803e3d6000fd5b50505050565b60606001805461038b90612764565b600b60205260009081526040902080546001820180549192916107be90612764565b80601f01602080910402602001604051908101604052809291908181526020018280546107ea90612764565b80156108375780601f1061080c57610100808354040283529160200191610837565b820191906000526020600020905b81548152906001019060200180831161081a57829003601f168201915b50505050509080600201805461084c90612764565b80601f016020809104026020016040519081016040528092919081815260200182805461087890612764565b80156108c55780601f1061089a576101008083540402835291602001916108c5565b820191906000526020600020905b8154815290600101906020018083116108a857829003601f168201915b5050505050908060030154908060040154908060050154905086565b6108ec338383611bbb565b5050565b6108fa33836119f8565b6109165760405162461bcd60e51b81526004016104a99061279e565b61078784848484611c85565b6060600a805480602002602001604051908101604052809291908181526020016000905b82821015610ac457838290600052602060002090600602016040518060c00160405290816000820154815260200160018201805461098390612764565b80601f01602080910402602001604051908101604052809291908181526020018280546109af90612764565b80156109fc5780601f106109d1576101008083540402835291602001916109fc565b820191906000526020600020905b8154815290600101906020018083116109df57829003601f168201915b50505050508152602001600282018054610a1590612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610a4190612764565b8015610a8e5780601f10610a6357610100808354040283529160200191610a8e565b820191906000526020600020905b815481529060010190602001808311610a7157829003601f168201915b50505050508152602001600382015481526020016004820154815260200160058201548152505081526020019060010190610946565b50505050905090565b6000818152600b60209081526040808320815160c08101909252805482526001810180546060959484019190610b0290612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610b2e90612764565b8015610b7b5780601f10610b5057610100808354040283529160200191610b7b565b820191906000526020600020905b815481529060010190602001808311610b5e57829003601f168201915b50505050508152602001600282018054610b9490612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc090612764565b8015610c0d5780601f10610be257610100808354040283529160200191610c0d565b820191906000526020600020905b815481529060010190602001808311610bf057829003601f168201915b50505050508152602001600382015481526020016004820154815260200160058201548152505090506000610c458260600151611cb8565b90506000610c568360800151611cb8565b90506000610c678460a00151611cb8565b90506000610cad8560200151610c7c89611cb8565b8760400151878787604051602001610c999695949392919061292f565b604051602081830303815290604052611d4a565b9050600081604051602001610cc29190612b08565b60408051601f1981840301815291905298975050505050505050565b610ce661230b565b336000908152600c60205260409020548015610e70576000600b60008381526020019081526020016000206040518060c001604052908160008201548152602001600182018054610d3690612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610d6290612764565b8015610daf5780601f10610d8457610100808354040283529160200191610daf565b820191906000526020600020905b815481529060010190602001808311610d9257829003601f168201915b50505050508152602001600282018054610dc890612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610df490612764565b8015610e415780601f10610e1657610100808354040283529160200191610e41565b820191906000526020600020905b815481529060010190602001808311610e2457829003601f168201915b505050918352505060038201546020820152600482015460408201526005909101546060909101529392505050565b61037661230b565b336000908152600c6020908152604080832054808452600b8352818420825160c0810190935280548352600181018054929594919291840191610eba90612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610ee690612764565b8015610f335780601f10610f0857610100808354040283529160200191610f33565b820191906000526020600020905b815481529060010190602001808311610f1657829003601f168201915b50505050508152602001600282018054610f4c90612764565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7890612764565b8015610fc55780601f10610f9a57610100808354040283529160200191610fc5565b820191906000526020600020905b815481529060010190602001808311610fa857829003601f168201915b505050505081526020016003820154815260200160048201548152602001600582015481525050905060008160600151116110385760405162461bcd60e51b81526020600482015260136024820152721d1a195b881c1b185e595c881a5cc819195859606a1b60448201526064016104a9565b6008546040805163c76d9e7d60e01b815290516000926001600160a01b03169163c76d9e7d91600480830192869291908290030181865afa158015611081573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526110a99190810190612862565b60400151116110ee5760405162461bcd60e51b81526020600482015260116024820152701d1a195b88189bdcdcc81a5cc819195859607a1b60448201526064016104a9565b60006110fa600a611e9c565b90508160a00151600860009054906101000a90046001600160a01b03166001600160a01b031663c76d9e7d6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611154573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261117c9190810190612862565b604001511015611200576008546040805163c76d9e7d60e01b815290516000926001600160a01b03169163c76d9e7d91600480830192869291908290030181865afa1580156111cf573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526111f79190810190612862565b60400152611323565b60058111156112ea578160a00151600860009054906101000a90046001600160a01b03166001600160a01b031663c76d9e7d6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611261573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526112899190810190612862565b604001516112979190612b63565b600860009054906101000a90046001600160a01b03166001600160a01b031663c76d9e7d6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156111cf573d6000803e3d6000fd5b61132360405180604001604052806018815260200177706c617965722061747461636b206973206d69737321212160401b815250611f10565b600860009054906101000a90046001600160a01b03166001600160a01b031663c76d9e7d6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611376573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261139e9190810190612862565b60800151826060015110156113b95760006060830152611493565b600581111561145a57600860009054906101000a90046001600160a01b03166001600160a01b031663c76d9e7d6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611415573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261143d9190810190612862565b6080015182606001516114509190612b63565b6060830152611493565b61149360405180604001604052806018815260200177706c617965722061747461636b206973206d69737321212160401b815250611f10565b611538604051806060016040528060218152602001612ec260219139600860009054906101000a90046001600160a01b03166001600160a01b031663c76d9e7d6040518163ffffffff1660e01b8152600401600060405180830381865afa158015611502573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261152a9190810190612862565b604001518460600151611f53565b7f32bd565ee3f2cb5ddd742bbecd6048d3e9abe90b3827a40c2b72d232e71e3c9d33600860009054906101000a90046001600160a01b03166001600160a01b031663c76d9e7d6040518163ffffffff1660e01b8152600401600060405180830381865afa1580156115ad573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526115d59190810190612862565b6040015184606001516040516115ed93929190612b76565b60405180910390a1505050565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b600061163360065490565b905061163f3382611f9a565b6040518060c00160405280838152602001600a848154811061166357611663612b97565b9060005260206000209060060201600101805461167f90612764565b80601f01602080910402602001604051908101604052809291908181526020018280546116ab90612764565b80156116f85780601f106116cd576101008083540402835291602001916116f8565b820191906000526020600020905b8154815290600101906020018083116116db57829003601f168201915b50505050508152602001600a848154811061171557611715612b97565b9060005260206000209060060201600201805461173190612764565b80601f016020809104026020016040519081016040528092919081815260200182805461175d90612764565b80156117aa5780601f1061177f576101008083540402835291602001916117aa565b820191906000526020600020905b81548152906001019060200180831161178d57829003601f168201915b50505050508152602001600a84815481106117c7576117c7612b97565b9060005260206000209060060201600301548152602001600a84815481106117f1576117f1612b97565b9060005260206000209060060201600401548152602001600a848154811061181b5761181b612b97565b6000918252602080832060056006909302019190910154909252838152600b825260409020825181559082015160018201906118579082612bfb565b506040820151600282019061186c9082612bfb565b50606082015181600301556080820151816004015560a082015181600501559050506118b16040518060600160405280602e8152602001612f23602e91398284611f53565b336000908152600c602052604090208190556118d1600680546001019055565b7f0449dae0dab06c1b1d0ab19f18d283534075402c6ea02ef3ca5ef92221dfaa5333828460405161190493929190612b76565b60405180910390a15050565b6107878484848460405160240161192a9493929190612cba565b60408051601f198184030181529190526020810180516001600160e01b0316632e8d4b8d60e11b179052611fb4565b80546001019055565b61196b81611fd5565b6119875760405162461bcd60e51b81526004016104a9906127eb565b50565b600081815260046020526040902080546001600160a01b0319166001600160a01b03841690811790915581906119bf8261059b565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600080611a048361059b565b9050806001600160a01b0316846001600160a01b03161480611a2b5750611a2b81856115fa565b80611a4f5750836001600160a01b0316611a448461040e565b6001600160a01b0316145b949350505050565b826001600160a01b0316611a6a8261059b565b6001600160a01b031614611a905760405162461bcd60e51b81526004016104a990612d04565b6001600160a01b038216611af25760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104a9565b826001600160a01b0316611b058261059b565b6001600160a01b031614611b2b5760405162461bcd60e51b81526004016104a990612d04565b600081815260046020908152604080832080546001600160a01b03199081169091556001600160a01b0387811680865260038552838620805460001901905590871680865283862080546001019055868652600290945282852080549092168417909155905184937fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b816001600160a01b0316836001600160a01b031603611c185760405162461bcd60e51b815260206004820152601960248201527822a9219b99189d1030b8383937bb32903a379031b0b63632b960391b60448201526064016104a9565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b611c90848484611a57565b611c9c84848484611ff2565b6107875760405162461bcd60e51b81526004016104a990612d49565b60606000611cc5836120f3565b60010190506000816001600160401b03811115611ce457611ce461251a565b6040519080825280601f01601f191660200182016040528015611d0e576020820181803683370190505b5090508181016020015b600019016f181899199a1a9b1b9c1cb0b131b232b360811b600a86061a8153600a8504945084611d1857509392505050565b60608151600003611d6957505060408051602081019091526000815290565b6000604051806060016040528060408152602001612ee36040913990506000600384516002611d989190612db1565b611da29190612dc4565b611dad906004612dd8565b6001600160401b03811115611dc457611dc461251a565b6040519080825280601f01601f191660200182016040528015611dee576020820181803683370190505b509050600182016020820185865187015b80821015611e5a576003820191508151603f8160121c168501518453600184019350603f81600c1c168501518453600184019350603f8160061c168501518453600184019350603f8116850151845350600183019250611dff565b5050600386510660018114611e765760028114611e8957611e91565b603d6001830353603d6002830353611e91565b603d60018303535b509195945050505050565b6000611eac600780546001019055565b814233611eb860075490565b604051602001611eed9392919092835260609190911b6bffffffffffffffffffffffff19166020830152603482015260540190565b6040516020818303038152906040528051906020012060001c6103769190612df7565b61198781604051602401611f2491906123cb565b60408051601f198184030181529190526020810180516001600160e01b031663104c13eb60e21b179052611fb4565b61054a838383604051602401611f6b93929190612e0b565b60408051601f198184030181529190526020810180516001600160e01b031663ca47c4eb60e01b179052611fb4565b6108ec8282604051806020016040528060008152506121cb565b60006a636f6e736f6c652e6c6f679050600080835160208501845afa505050565b6000908152600260205260409020546001600160a01b0316151590565b60006001600160a01b0384163b156120e857604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612036903390899088908890600401612e30565b6020604051808303816000875af1925050508015612071575060408051601f3d908101601f1916820190925261206e91810190612e6d565b60015b6120ce573d80801561209f576040519150601f19603f3d011682016040523d82523d6000602084013e6120a4565b606091505b5080516000036120c65760405162461bcd60e51b81526004016104a990612d49565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611a4f565b506001949350505050565b60008072184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b83106121325772184f03e93ff9f4daa797ed6e38ed64bf6a1f0160401b830492506040015b6d04ee2d6d415b85acef8100000000831061215e576d04ee2d6d415b85acef8100000000830492506020015b662386f26fc10000831061217c57662386f26fc10000830492506010015b6305f5e1008310612194576305f5e100830492506008015b61271083106121a857612710830492506004015b606483106121ba576064830492506002015b600a83106103765760010192915050565b6121d583836121fe565b6121e26000848484611ff2565b61054a5760405162461bcd60e51b81526004016104a990612d49565b6001600160a01b0382166122545760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104a9565b61225d81611fd5565b1561227a5760405162461bcd60e51b81526004016104a990612e8a565b61228381611fd5565b156122a05760405162461bcd60e51b81526004016104a990612e8a565b6001600160a01b038216600081815260036020908152604080832080546001019055848352600290915280822080546001600160a01b0319168417905551839291907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b6040518060c001604052806000815260200160608152602001606081526020016000815260200160008152602001600081525090565b6001600160e01b03198116811461198757600080fd5b60006020828403121561236957600080fd5b813561237481612341565b9392505050565b60005b8381101561239657818101518382015260200161237e565b50506000910152565b600081518084526123b781602086016020860161237b565b601f01601f19169290920160200192915050565b602081526000612374602083018461239f565b6000602082840312156123f057600080fd5b5035919050565b80356001600160a01b038116811461240e57600080fd5b919050565b6000806040838503121561242657600080fd5b61242f836123f7565b946020939093013593505050565b60008060006060848603121561245257600080fd5b61245b846123f7565b9250612469602085016123f7565b9150604084013590509250925092565b60006020828403121561248b57600080fd5b612374826123f7565b86815260c0602082015260006124ad60c083018861239f565b82810360408401526124bf818861239f565b60608401969096525050608081019290925260a0909101529392505050565b600080604083850312156124f157600080fd5b6124fa836123f7565b91506020830135801515811461250f57600080fd5b809150509250929050565b634e487b7160e01b600052604160045260246000fd5b60405160a081016001600160401b03811182821017156125525761255261251a565b60405290565b604051601f8201601f191681016001600160401b03811182821017156125805761258061251a565b604052919050565b60006001600160401b038211156125a1576125a161251a565b50601f01601f191660200190565b600080600080608085870312156125c557600080fd5b6125ce856123f7565b93506125dc602086016123f7565b92506040850135915060608501356001600160401b038111156125fe57600080fd5b8501601f8101871361260f57600080fd5b803561262261261d82612588565b612558565b81815288602083850101111561263757600080fd5b8160208401602083013760006020838301015280935050505092959194509250565b805182526000602082015160c0602085015261267860c085018261239f565b905060408301518482036040860152612691828261239f565b915050606083015160608501526080830151608085015260a083015160a08501528091505092915050565b6000602080830181845280855180835260408601915060408160051b870101925083870160005b8281101561271157603f198886030184526126ff858351612659565b945092850192908501906001016126e3565b5092979650505050505050565b6020815260006123746020830184612659565b6000806040838503121561274457600080fd5b61274d836123f7565b915061275b602084016123f7565b90509250929050565b600181811c9082168061277857607f821691505b60208210810361279857634e487b7160e01b600052602260045260246000fd5b50919050565b6020808252602d908201527f4552433732313a2063616c6c6572206973206e6f7420746f6b656e206f776e6560408201526c1c881bdc88185c1c1c9bdd9959609a1b606082015260800190565b602080825260189082015277115490cdcc8c4e881a5b9d985b1a59081d1bdad95b88125160421b604082015260600190565b600082601f83011261282e57600080fd5b815161283c61261d82612588565b81815284602083860101111561285157600080fd5b611a4f82602083016020870161237b565b60006020828403121561287457600080fd5b81516001600160401b038082111561288b57600080fd5b9083019060a0828603121561289f57600080fd5b6128a7612530565b8251828111156128b657600080fd5b6128c28782860161281d565b8252506020830151828111156128d757600080fd5b6128e38782860161281d565b60208301525060408301516040820152606083015160608201526080830151608082015280935050505092915050565b6000815161292581856020860161237b565b9290920192915050565b693d913730b6b2911d101160b11b8152865160009061295581600a850160208c0161237b565b6a01016969027232a10119d160ad1b600a918401918201528751612980816015840160208c0161237b565b7f222c20226465736372697074696f6e223a20225468697320697320616e204e46601592909101918201527f542074686174206c6574732070656f706c6520706c617920696e20746865206760358201527f616d65204d657461766572736520536c6179657221222c2022696d616765223a605582015261101160f11b60758201528651612a15816077840160208b0161237b565b612afa612aea612ae4612aa5612a9f612a85612a7f6077888a01017f222c202261747472696275746573223a205b207b202274726169745f7479706581527f223a20224865616c746820506f696e7473222c202276616c7565223a200000006020820152603d0190565b8d612913565b6d16101136b0bc2fbb30b63ab2911d60911b8152600e0190565b8a612913565b7f7d2c207b202274726169745f74797065223a202241747461636b2044616d616781526c032911610113b30b63ab2911d1609d1b6020820152602d0190565b87612913565b637d205d7d60e01b815260040190565b9a9950505050505050505050565b7f646174613a6170706c69636174696f6e2f6a736f6e3b6261736536342c000000815260008251612b4081601d85016020870161237b565b91909101601d0192915050565b634e487b7160e01b600052601160045260246000fd5b8181038181111561037657610376612b4d565b6001600160a01b039390931683526020830191909152604082015260600190565b634e487b7160e01b600052603260045260246000fd5b601f82111561054a57600081815260208120601f850160051c81016020861015612bd45750805b601f850160051c820191505b81811015612bf357828155600101612be0565b505050505050565b81516001600160401b03811115612c1457612c1461251a565b612c2881612c228454612764565b84612bad565b602080601f831160018114612c5d5760008415612c455750858301515b600019600386901b1c1916600185901b178555612bf3565b600085815260208120601f198616915b82811015612c8c57888601518255948401946001909101908401612c6d565b5085821015612caa5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b608081526000612ccd608083018761239f565b8281036020840152612cdf818761239f565b90508460408401528281036060840152612cf9818561239f565b979650505050505050565b60208082526025908201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060408201526437bbb732b960d91b606082015260800190565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052601260045260246000fd5b8082018082111561037657610376612b4d565b600082612dd357612dd3612d9b565b500490565b6000816000190483118215151615612df257612df2612b4d565b500290565b600082612e0657612e06612d9b565b500690565b606081526000612e1e606083018661239f565b60208301949094525060400152919050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612e639083018461239f565b9695505050505050565b600060208284031215612e7f57600080fd5b815161237481612341565b6020808252601c908201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060408201526060019056fe426f737320687020697320257320616e6420506c617965722068702069732025734142434445464748494a4b4c4d4e4f505152535455565758595a6162636465666768696a6b6c6d6e6f707172737475767778797a303132333435363738392b2f4d696e746564204e465420772f20746f6b656e496420257320616e6420636861726163746572496e646578202573a26469706673582212204c73509032ea590690fce5195fa65760e188b0585233ede2103d9df685e501e964736f6c63430008100033446f6e6520696e697469616c697a696e6720257320772f2048502025732c20696d672025730000000000000000000000001ffb768dbaed6a6b726bb8ac2cde71d2e4a4108400000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000200000000000000000000000000000000000000000000000000000000000000046000000000000000000000000000000000000000000000000000000000000004e000000000000000000000000000000000000000000000000000000000000005600000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006000000000000000000000000000000000000000000000000000000000000000a000000000000000000000000000000000000000000000000000000000000000e000000000000000000000000000000000000000000000000000000000000000034c656f0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000441616e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000750696b616368750000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000030000000000000000000000000000000000000000000000000000000000000060000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001a0000000000000000000000000000000000000000000000000000000000000007068747470733a2f2f79656c6c6f772d666f6e642d68616d737465722d3232302e6d7970696e6174612e636c6f75642f697066732f516d566d433354524841506d58617632674547756d6945544a6d557a66474a503632346f636d3372554a4b7544692f6169726962626974322e706e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007068747470733a2f2f79656c6c6f772d666f6e642d68616d737465722d3232302e6d7970696e6174612e636c6f75642f697066732f516d566d433354524841506d58617632674547756d6945544a6d557a66474a503632346f636d3372554a4b7544692f6169726962626974312e706e6700000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000007068747470733a2f2f79656c6c6f772d666f6e642d68616d737465722d3232302e6d7970696e6174612e636c6f75642f697066732f516d566d433354524841506d58617632674547756d6945544a6d557a66474a503632346f636d3372554a4b7544692f6169726962626974332e706e67000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000c8000000000000000000000000000000000000000000000000000000000000012c0000000000000000000000000000000000000000000000000000000000000003000000000000000000000000000000000000000000000000000000000000006400000000000000000000000000000000000000000000000000000000000000320000000000000000000000000000000000000000000000000000000000000019