0x60a0604052306080523480156200001557600080fd5b506200002062000026565b620000e8565b600054610100900460ff1615620000935760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff9081161015620000e6576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b608051615f3762000120600039600081816117460152818161178601528181611b5e01528181611b9e0152611c160152615f376000f3fe6080604052600436106103385760003560e01c80637b0cb839116101b2578063b0ccc31e116100ed578063ce4c61aa11610090578063ce4c61aa14610a0d578063d539139314610a22578063d547741f14610a56578063dedd76e714610a76578063e985e9c514610b02578063ec44d61514610b22578063f2fde38b14610b42578063f86a352914610b6257600080fd5b8063b0ccc31e14610928578063b0fde7fb1461094d578063b3cc59db14610967578063b88d4fde1461097c578063bc20a04a1461099c578063bdc769eb146109c0578063c0dad79b146109d3578063c87b56dd146109ed57600080fd5b806390411aca1161015557806390411aca1461085357806391d148541461086857806394b08a4b1461088857806395d89b41146108a857806397f5cdcf146108bd578063a07c7ce4146108d3578063a217fddf146108f3578063a22cb4651461090857600080fd5b80637b0cb839146107365780637f1fea591461074b578063804207361461076b57806385df4dad14610780578063869d3bde146107a05780638c8ea8e6146107b55780638cd90c32146107fb5780638da5cb5b1461083457600080fd5b80633f52af3c11610282578063548e768211610225578063548e768214610625578063577199fd1461064557806360659a92146106655780636352211e146106b1578063659b8b2a146106d157806370a08231146106ec578063715018a61461070c57806372c06f5a1461072157600080fd5b80633f52af3c14610553578063408d3ca91461057357806341dfed3a1461058857806342842e0e1461059d57806342966c68146105bd5780634e0b9df2146105dd5780634f1ef286146105fd57806352d1902d1461061057600080fd5b8063248a9ca3116102ea578063248a9ca3146104465780632955a21d146104775780632a55205a1461048a5780632f2ff15d146104c95780633540558a146104e957806336568abe1461050b5780633659cfe61461052b5780633ccfd60b1461054b57600080fd5b806301ffc9a71461033d57806306fdde0314610372578063081812fc14610394578063095ea7b3146103c157806318160ddd146103e357806319315d011461040657806323b872dd14610426575b600080fd5b34801561034957600080fd5b5061035d610358366004614ca4565b610b79565b60405190151581526020015b60405180910390f35b34801561037e57600080fd5b50610387610b8a565b6040516103699190614d11565b3480156103a057600080fd5b506103b46103af366004614d24565b610c1c565b6040516103699190614d3d565b3480156103cd57600080fd5b506103e16103dc366004614d6d565b610ca9565b005b3480156103ef57600080fd5b506103f8610e7a565b604051908152602001610369565b34801561041257600080fd5b506103e1610421366004614f6c565b610e91565b34801561043257600080fd5b506103e161044136600461509f565b6110e5565b34801561045257600080fd5b506103f8610461366004614d24565b6000908152610100602052604090206001015490565b6103e16104853660046150db565b61121c565b34801561049657600080fd5b506104aa6104a5366004615145565b6115e5565b604080516001600160a01b039093168352602083019190915201610369565b3480156104d557600080fd5b506103e16104e4366004615167565b611693565b3480156104f557600080fd5b506103f8600080516020615ee283398151915281565b34801561051757600080fd5b506103e1610526366004615167565b6116be565b34801561053757600080fd5b506103e1610546366004615193565b61173c565b6103e1611804565b34801561055f57600080fd5b506103e161056e3660046151ae565b61188a565b34801561057f57600080fd5b506103e161190a565b34801561059457600080fd5b506103f8611926565b3480156105a957600080fd5b506103e16105b836600461509f565b611968565b3480156105c957600080fd5b506103f86105d8366004614d24565b611a6e565b3480156105e957600080fd5b506103e16105f83660046151d8565b611b14565b6103e161060b366004615223565b611b54565b34801561061c57600080fd5b506103f8611c09565b34801561063157600080fd5b506103e1610640366004615270565b611cb7565b34801561065157600080fd5b506103e161066036600461528b565b611d42565b34801561067157600080fd5b506101fa54610691906001600160801b0380821691600160801b90041682565b604080516001600160801b03938416815292909116602083015201610369565b3480156106bd57600080fd5b506103b46106cc366004614d24565b611e3d565b3480156106dd57600080fd5b506101fc5461035d9060ff1681565b3480156106f857600080fd5b506103f8610707366004615193565b611efd565b34801561071857600080fd5b506103e1611f8d565b34801561072d57600080fd5b5061035d611fa1565b34801561074257600080fd5b506103e1612015565b34801561075757600080fd5b506103e1610766366004615193565b61206d565b34801561077757600080fd5b506103e161211b565b34801561078c57600080fd5b506103e161079b3660046152d2565b61218d565b3480156107ac57600080fd5b506103f86121a3565b3480156107c157600080fd5b506103f86107d0366004615193565b6001600160a01b0316600090815260d36020526040902054600160601b90046001600160601b031690565b34801561080757600080fd5b506103f8610816366004615167565b6101fe60209081526000928352604080842090915290825290205481565b34801561084057600080fd5b50610164546001600160a01b03166103b4565b34801561085f57600080fd5b5060cc546103f8565b34801561087457600080fd5b5061035d610883366004615167565b612221565b34801561089457600080fd5b506103e16108a336600461530c565b61224d565b3480156108b457600080fd5b50610387612325565b3480156108c957600080fd5b506103f860cc5481565b3480156108df57600080fd5b506101fc5461035d90610100900460ff1681565b3480156108ff57600080fd5b506103f8600081565b34801561091457600080fd5b506103e161092336600461533a565b612334565b34801561093457600080fd5b506097546103b49061010090046001600160a01b031681565b34801561095957600080fd5b5060d45461035d9060ff1681565b34801561097357600080fd5b506103e16123ff565b34801561098857600080fd5b506103e1610997366004615371565b61248d565b3480156109a857600080fd5b506109b16125cd565b604051610369939291906153d8565b6103e16109ce366004615411565b61277c565b3480156109df57600080fd5b5060975461035d9060ff1681565b3480156109f957600080fd5b50610387610a08366004614d24565b61290b565b348015610a1957600080fd5b506103f8612a26565b348015610a2e57600080fd5b506103f87ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc981565b348015610a6257600080fd5b506103e1610a71366004615167565b612a7b565b348015610a8257600080fd5b50610a96610a91366004614d24565b612aa1565b6040516103699190600060c08201905064ffffffffff80845116835280602085015116602084015250604083015163ffffffff808216604085015280606086015116606085015250506001600160701b03608084015116608083015260a083015160a083015292915050565b348015610b0e57600080fd5b5061035d610b1d36600461549a565b612b75565b348015610b2e57600080fd5b506103e1610b3d3660046154c4565b612ba3565b348015610b4e57600080fd5b506103e1610b5d366004615193565b612d4b565b348015610b6e57600080fd5b506103f86101ff5481565b6000610b8482612dc1565b92915050565b606060ca8054610b999061558c565b80601f0160208091040260200160405190810160405280929190818152602001828054610bc59061558c565b8015610c125780601f10610be757610100808354040283529160200191610c12565b820191906000526020600020905b815481529060010190602001808311610bf557829003601f168201915b5050505050905090565b6000610c2782612de6565b610c8d5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b50600090815260d160205260409020546001600160a01b031690565b609754829060ff16158015610cce575060975461010090046001600160a01b03163b15155b15610d6957609754604051633185c44d60e21b81526101009091046001600160a01b03169063c617113490610d0990309085906004016155c6565b602060405180830381865afa158015610d26573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d4a91906155e0565b610d695780604051633b79c77360e21b8152600401610c849190614d3d565b6000610d7483611e3d565b9050806001600160a01b0316846001600160a01b031603610de15760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610c84565b336001600160a01b0382161480610dfd5750610dfd8133612b75565b610e6a5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f776044820152771b995c881b9bdc88185c1c1c9bdd995908199bdc88185b1b60421b6064820152608401610c84565b610e748484612e19565b50505050565b600060cd5460cc54610e8c9190615613565b905090565b600054610100900460ff1615808015610eb15750600054600160ff909116105b80610ecb5750303b158015610ecb575060005460ff166001145b610f2e5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610c84565b6000805460ff191660011790558015610f51576000805461ff0019166101001790555b8551600214610f5f57600080fd5b610f698b8b612eab565b610f71612edc565b610f9f6daaeb6d7670e522a718067333cd4e733cc6cdda760b79bafa08df41ecfa224f810dceb66001612f03565b610fa885612f46565b604080518082019091526001600160801b03808e168083529089166020909201829052600160801b909102176101fa556101fb610fe58a82615689565b5060d4805460ff19168315151790558551869060009061100757611007615742565b60200260200101516101fc60026101000a8154816001600160a01b0302191690836001600160a01b0316021790555061105a8660018151811061104c5761104c615742565b602002602001015189612f99565b611065600086613096565b61107d600080516020615ee283398151915286613096565b82156110915761108f8484600061311d565b505b80156110d7576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b505050505050505050505050565b609754839060ff1615801561110a575060975461010090046001600160a01b03163b15155b156111ec57336001600160a01b038216036111565761112a335b836135ac565b6111465760405162461bcd60e51b8152600401610c8490615758565b611151848484613676565b610e74565b609754604051633185c44d60e21b81526101009091046001600160a01b03169063c61711349061118c90309033906004016155c6565b602060405180830381865afa1580156111a9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111cd91906155e0565b6111ec5733604051633b79c77360e21b8152600401610c849190614d3d565b6111f533611124565b6112115760405162461bcd60e51b8152600401610c8490615758565b610e74848484613676565b82600010801561122d575060148311155b61124a576040516332b4cb2160e21b815260040160405180910390fd5b60006112546121a3565b60008181526101fd60209081526040808320815160c081018352815464ffffffffff8082168352600160281b82041694820194909452600160501b840463ffffffff90811693820193909352600160701b84049092166060830152600160901b9092046001600160701b03166080820181905260019092015460a08201529293506112e79066031742a8f46000906157a9565b90506112f386826157bc565b341461131257604051632c1d501360e11b815260040160405180910390fd5b8660000361133357604051633ab3447f60e11b815260040160405180910390fd5b60cc54606083015163ffffffff16811061135f5760405162491a1760e81b815260040160405180910390fd5b60a08301511561138257604051630268975d60e51b815260040160405180910390fd5b6101fc5460ff1661145857600061139b86898b8a61380a565b9050737a6f5866f97034bb7153829bdaac1ffcb8facb716113bc828c61388b565b6001600160a01b0316146113e3576040516332c3ce2560e11b815260040160405180910390fd5b6001600160a01b038616600090815260d36020526040902054600160c01b90046001600160401b0316891161142b5760405163dc5a682560e01b815260040160405180910390fd5b6114368960286157a9565b43111561145657604051639e8c142f60e01b815260040160405180910390fd5b505b600061146886868a85888c6138af565b905061147586828b613a3f565b600073c5a2f45ff2d4ca27e167600b5225c7e6e187d8c061149d8366031742a8f460006157bc565b604051600081818185875af1925050503d80600081146114d9576040519150601f19603f3d011682016040523d82523d6000602084013e6114de565b606091505b505090508061150057604051635579a42f60e11b815260040160405180910390fd5b8882101561158e57600084611515848c615613565b61151f91906157bc565b604051909150600090339083908381818185875af1925050503d8060008114611564576040519150601f19603f3d011682016040523d82523d6000602084013e611569565b606091505b505090508061158b57604051635579a42f60e11b815260040160405180910390fd5b50505b604080516001600160a01b0389168152602081018890529081018390527f4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4f9060600160405180910390a15050505050505050505050565b60008281526066602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046001600160601b031692820192909252829161165a5750604080518082019091526065546001600160a01b0381168252600160a01b90046001600160601b031660208201525b602081015160009061271090611679906001600160601b0316876157bc565b61168391906157d3565b91519350909150505b9250929050565b600082815261010060205260409020600101546116af81613a5a565b6116b98383613096565b505050565b6001600160a01b038116331461172e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b6064820152608401610c84565b6117388282613a64565b5050565b6001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001630036117845760405162461bcd60e51b8152600401610c84906157f5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b03166117b6613acc565b6001600160a01b0316146117dc5760405162461bcd60e51b8152600401610c8490615841565b6117e581613ae8565b6040805160008082526020820190925261180191839190613af0565b50565b600061180f81613a5a565b6101fc546040516000916201000090046001600160a01b03169047908381818185875af1925050503d8060008114611863576040519150601f19603f3d011682016040523d82523d6000602084013e611868565b606091505b505090508061173857604051635579a42f60e11b815260040160405180910390fd5b611895600033612221565b6118b257604051634e8df0bf60e01b815260040160405180910390fd5b6118bc8282612f99565b604080516001600160a01b03841681526001600160601b03831660208201527fef5955f7902e6696c028804c62be1c24a0f98d9d30de5c31c83fa7f8b5c15c6f910160405180910390a15050565b611912613c5b565b60d4805460ff19811660ff90911615179055565b600066031742a8f460006101fd600061193d6121a3565b8152602081019190915260400160002054610e8c9190600160901b90046001600160701b03166157a9565b609754839060ff1615801561198d575060975461010090046001600160a01b03163b15155b15611a5357336001600160a01b038216036119bd576111518484846040518060200160405280600081525061248d565b609754604051633185c44d60e21b81526101009091046001600160a01b03169063c6171134906119f390309033906004016155c6565b602060405180830381865afa158015611a10573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a3491906155e0565b611a535733604051633b79c77360e21b8152600401610c849190614d3d565b610e748484846040518060200160405280600081525061248d565b6101fc54600090610100900460ff16611a9a5760405163c7c39e4f60e01b815260040160405180910390fd5b611aac611aa683611e3d565b33612b75565b80611ad05750611abb82611e3d565b6001600160a01b0316336001600160a01b0316145b80611aeb575033611ae083610c1c565b6001600160a01b0316145b611b075760405162ccfedb60e31b815260040160405180910390fd5b611b1082613cb6565b5090565b611b2c600080516020615ee283398151915233612221565b611b4957604051634e8df0bf60e01b815260040160405180910390fd5b610e7483838361311d565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163003611b9c5760405162461bcd60e51b8152600401610c84906157f5565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316611bce613acc565b6001600160a01b031614611bf45760405162461bcd60e51b8152600401610c8490615841565b611bfd82613ae8565b61173882826001613af0565b6000306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614611ca45760405162461bcd60e51b815260206004820152603860248201527f555550535570677261646561626c653a206d757374206e6f742062652063616c6044820152771b1959081d1a1c9bdd59da0819195b1959d85d1958d85b1b60421b6064820152608401610c84565b50600080516020615e9b83398151915290565b611ccf600080516020615ee283398151915233612221565b611cec57604051634e8df0bf60e01b815260040160405180910390fd5b6101fa80546001600160801b03908116600160801b918416918202179091556040519081527f8c8298dd23c82a4aa45d27f480c6ce0aa2588e13df0b2fe2c827ca4a6836a5f8906020015b60405180910390a150565b611d4b33613dcb565b611d6857604051634755657960e01b815260040160405180910390fd5b826001600160a01b0381163b600003611d9457604051630458607f60e41b815260040160405180910390fd5b60405163c3c5a54760e01b81526001600160a01b0382169063c3c5a54790611dc0903090600401614d3d565b6020604051808303816000875af1158015611ddf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e0391906155e0565b611e1257611e12818484613dd7565b609780546001600160a01b0390921661010002610100600160a81b0319909216919091179055505050565b6000611e4882612de6565b611ea55760405162461bcd60e51b815260206004820152602860248201527f45524337323178797a3a20517565727920666f72206e6f6e206578697374656e6044820152677420746f6b656e2160c01b6064820152608401610c84565b600082815260ce602052604090205482906001600160a01b031680611ef6575b50600081815260cf60205260409020546001600160a01b03168015611eeb579392505050565b816001019150611ec5565b9392505050565b60006001600160a01b038216611f685760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610c84565b506001600160a01b0316600090815260d360205260409020546001600160601b031690565b611f95613c5b565b611f9f6000612f46565b565b6000611fac33613dcb565b611fc957604051634755657960e01b815260040160405180910390fd5b6097805460ff81161560ff1990911681179091556040518181527fd8c469bcb7a4be6d69103a5fdb65991249a95423350dc583495ccf5e7c28a88d9060200160405180910390a1905090565b61201d613c5b565b7f62e4ed1ae964bf13ab15b4efee5e0889bdf5d1b1cd6d33d036546dc478773c6030612052610164546001600160a01b031690565b60cb6040516120639392919061588d565b60405180910390a1565b612078600033612221565b61209557604051634e8df0bf60e01b815260040160405180910390fd5b6001600160a01b0381166120bc5760405163d92e233d60e01b815260040160405180910390fd5b6101fc805462010000600160b01b031916620100006001600160a01b03848116820292909217928390556040517fd45e158b56e768c1167267f8516bcf96348071775faded3c9216b60855d873de93611d379392900490911690614d3d565b612126600033612221565b61214357604051634e8df0bf60e01b815260040160405180910390fd5b6101fc5460ff161561215457600080fd5b6101fc805460ff191660011790556040517ffbbcc58867e8fad1d9f72f1b991660f5ec5e4e068374aa442b8604eef182b63990600090a1565b612195613c5b565b806102006116b98282615a35565b6101ff546000905b8015612207576000190160008181526101fd602052604090205464ffffffffff1642108015906121f8575060008181526101fd6020526040902054600160281b900464ffffffffff164211155b1561220257919050565b6121ab565b5060405163b7b2409760e01b815260040160405180910390fd5b6000918252610100602090815260408084206001600160a01b0393909316845291905290205460ff1690565b61225633613dcb565b61227357604051634755657960e01b815260040160405180910390fd5b60975461010090046001600160a01b0316803b6000036122a657604051630458607f60e41b815260040160405180910390fd5b6001600160a01b03841661231a5760405163034a0dc160e41b815230600482015282151560248201526001600160a01b038216906334a0dc1090604401600060405180830381600087803b1580156122fd57600080fd5b505af1158015612311573d6000803e3d6000fd5b50505050610e74565b610e74818585613dd7565b606060cb8054610b999061558c565b609754829060ff16158015612359575060975461010090046001600160a01b03163b15155b156123f457609754604051633185c44d60e21b81526101009091046001600160a01b03169063c61711349061239490309085906004016155c6565b602060405180830381865afa1580156123b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123d591906155e0565b6123f45780604051633b79c77360e21b8152600401610c849190614d3d565b6116b9338484613f81565b612417600080516020615ee283398151915233612221565b61243457604051634e8df0bf60e01b815260040160405180910390fd5b6101fc805460ff610100808304821615810261ff001990931692909217928390556040517f6ae3331a8bd1998bb8fd9d3d02b720f4862fb43e7586d302ba44e3923cea922d936120639390049091161515815260200190565b609754849060ff161580156124b2575060975461010090046001600160a01b03163b15155b1561259557336001600160a01b038216036124ff576124d2335b846135ac565b6124ee5760405162461bcd60e51b8152600401610c8490615758565b6124fa8585858561404f565b6125c6565b609754604051633185c44d60e21b81526101009091046001600160a01b03169063c61711349061253590309033906004016155c6565b602060405180830381865afa158015612552573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061257691906155e0565b6125955733604051633b79c77360e21b8152600401610c849190614d3d565b61259e336124cc565b6125ba5760405162461bcd60e51b8152600401610c8490615758565b6125c68585858561404f565b5050505050565b610200805481906125dd9061558c565b80601f01602080910402602001604051908101604052809291908181526020018280546126099061558c565b80156126565780601f1061262b57610100808354040283529160200191612656565b820191906000526020600020905b81548152906001019060200180831161263957829003601f168201915b50505050509080600101805461266b9061558c565b80601f01602080910402602001604051908101604052809291908181526020018280546126979061558c565b80156126e45780601f106126b9576101008083540402835291602001916126e4565b820191906000526020600020905b8154815290600101906020018083116126c757829003601f168201915b5050505050908060020180546126f99061558c565b80601f01602080910402602001604051908101604052809291908181526020018280546127259061558c565b80156127725780601f1061274757610100808354040283529160200191612772565b820191906000526020600020905b81548152906001019060200180831161275557829003601f168201915b5050505050905083565b82600010801561278d575060148311155b6127aa576040516332b4cb2160e21b815260040160405180910390fd5b60006127b46121a3565b60008181526101fd60209081526040808320815160c081018352815464ffffffffff8082168352600160281b82041694820194909452600160501b840463ffffffff90811693820193909352600160701b84049092166060830152600160901b9092046001600160701b03166080820181905260019092015460a08201529293506128479066031742a8f46000906157a9565b905061285386826157bc565b341461287257604051632c1d501360e11b815260040160405180910390fd5b60a082015161289457604051637904b60360e11b815260040160405180910390fd5b60cc54606083015163ffffffff1681106128c05760405162491a1760e81b815260040160405180910390fd5b6128d189898560a00151888a614082565b6128ee576040516334ce9a3d60e11b815260040160405180910390fd5b60006128fe86868a85888c6138af565b9050611475868243613a3f565b606061291682612de6565b6129625760405162461bcd60e51b815260206004820152601a60248201527f546f6b656e20686173206e6f74206265656e206d696e746564210000000000006044820152606401610c84565b62013880821115612a0057610200805461297b9061558c565b80601f01602080910402602001604051908101604052809291908181526020018280546129a79061558c565b80156129f45780601f106129c9576101008083540402835291602001916129f4565b820191906000526020600020905b8154815290600101906020018083116129d757829003601f168201915b50505050509050919050565b614e20821115612a1857610201805461297b9061558c565b610202805461297b9061558c565b6101ff546000905b8015612a73576000190160008181526101fd6020526040902054600160281b900464ffffffffff16421115612a6e57612a688160016157a9565b91505090565b612a2e565b506000905090565b60008281526101006020526040902060010154612a9781613a5a565b6116b98383613a64565b6040805160c081018252600080825260208201819052918101829052606081018290526080810182905260a08101919091526101ff548210612af6576040516327e7ab7d60e11b815260040160405180910390fd5b5060009081526101fd6020908152604091829020825160c081018452815464ffffffffff8082168352600160281b82041693820193909352600160501b830463ffffffff90811694820194909452600160701b83049093166060840152600160901b9091046001600160701b031660808301526001015460a082015290565b6001600160a01b03918216600090815260d26020908152604080832093909416825291909152205460ff1690565b606484511115612bc6576040516349a3ec1560e11b815260040160405180910390fd5b8251845114612c0c5760405162461bcd60e51b81526020600482015260126024820152710aee4dedcce40c2e4e4c2f240d8cadccee8d60731b6044820152606401610c84565b8160cc5414612c4e5760405162461bcd60e51b815260206004820152600e60248201526d15dc9bdb99c81cdd185c9d08125160921b6044820152606401610c84565b612c66600080516020615ee283398151915233612221565b158015612c9a5750612c987ff0887ba65ee2024ea881d91b74c2450ef19e1557f03bed3ea9f16b037cbe2dc933612221565b155b15612cb857604051634e8df0bf60e01b815260040160405180910390fd5b60005b8451811015612d0a57612d02858281518110612cd957612cd9615742565b6020026020010151858381518110612cf357612cf3615742565b602002602001015160006140f9565b600101612cbb565b508060cc5414610e745760405162461bcd60e51b815260206004820152600c60248201526b15dc9bdb99c8195b9908125160a21b6044820152606401610c84565b612d53613c5b565b6001600160a01b038116612db85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c84565b61180181612f46565b60006001600160e01b03198216637965db0b60e01b1480610b845750610b8482614279565b600081815260d0602052604081205460ff1615612e0557506000919050565b816000108015610b8457505060cc54101590565b600081815260d160205260409020546001600160a01b0390811690831681146116b957600082815260d16020526040902080546001600160a01b0319166001600160a01b0385169081179091558290612e7182611e3d565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a4505050565b600054610100900460ff16612ed25760405162461bcd60e51b8152600401610c8490615b2e565b61173882826142d4565b600054610100900460ff16611f9f5760405162461bcd60e51b8152600401610c8490615b2e565b600054610100900460ff16612f2a5760405162461bcd60e51b8152600401610c8490615b2e565b6001600160a01b0383163b156116b95782611e12818484613dd7565b61016480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b6127106001600160601b03821611156130075760405162461bcd60e51b815260206004820152602a60248201527f455243323938313a20726f79616c7479206665652077696c6c206578636565646044820152692073616c65507269636560b01b6064820152608401610c84565b6001600160a01b03821661305d5760405162461bcd60e51b815260206004820152601960248201527f455243323938313a20696e76616c6964207265636569766572000000000000006044820152606401610c84565b604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217606555565b6130a08282612221565b611738576000828152610100602090815260408083206001600160a01b03851684529091529020805460ff191660011790556130d93390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b60008281613129612a26565b9050601482111561314d576040516373c2b52560e11b815260040160405180910390fd5b6101ff54801580159061315f57508185105b1561317d576040516344ca163560e11b815260040160405180910390fd5b8085111561319e576040516307cc4d8f60e01b815260040160405180910390fd5b6131a96014836157a9565b6131b384876157a9565b11156131d25760405163c1eae7bb60e01b815260040160405180910390fd5b60008581526101fd602052604081205464ffffffffff169084900361325f574281116132115760405163bf4a806960e01b815260040160405180910390fd5b6101ff8690556040517f842cd1905522b3731a39e0d2fb9d3757bc29b4e57e9253b230d437bf10505e9b9061324b908a908a908a90615bb9565b60405180910390a185945050505050611ef6565b60008888600081811061327457613274615742565b905060c0020180360381019061328a9190615c74565b905060cc54816060015163ffffffff1610156132b957604051630e93fda160e21b815260040160405180910390fd5b4282111580156132c857508115155b80156132d657506101ff5487105b1561333357805164ffffffffff16821461330357604051632ca4094f60e21b815260040160405180910390fd5b42816020015164ffffffffff161161332e5760405163804491f960e01b815260040160405180910390fd5b61335e565b42816000015164ffffffffff161161335e5760405163667e606760e11b815260040160405180910390fd5b868581015b888214613397578a8a8a840381811061337e5761337e615742565b905060c002018036038101906133949190615c74565b92505b6101fa5460608401516001600160801b0390911663ffffffff90911611156133d25760405163bccc7e2360e01b815260040160405180910390fd5b826000015164ffffffffff16836020015164ffffffffff161161340857604051631131dc6b60e11b815260040160405180910390fd5b811561349857600019820160009081526101fd6020526040902054606084015164ffffffffff600160281b8304169163ffffffff600160701b90910481169116101561346e5742811061346e576040516357be1d0d60e01b815260040160405180910390fd5b835164ffffffffff1681106134965760405163064f2b0760e31b815260040160405180910390fd5b505b60008281526101fd60209081526040918290208551815492870151938701516060880151608089015164ffffffffff93841669ffffffffffffffffffff1990961695909517600160281b93909616929092029490941767ffffffffffffffff60501b1916600160501b63ffffffff9586160263ffffffff60701b191617600160701b9490911693909302929092176001600160901b0316600160901b6001600160701b039092169190910217815560a084015160019182015590910190808210613363576101ff8190556040517f842cd1905522b3731a39e0d2fb9d3757bc29b4e57e9253b230d437bf10505e9b90613596908d908d908d90615bb9565b60405180910390a19a9950505050505050505050565b60006135b782612de6565b6136185760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610c84565b600061362383611e3d565b9050806001600160a01b0316846001600160a01b0316148061365e5750836001600160a01b031661365384610c1c565b6001600160a01b0316145b8061366e575061366e8185612b75565b949350505050565b826001600160a01b031661368982611e3d565b6001600160a01b0316146136ed5760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b6064820152608401610c84565b6001600160a01b03821661374f5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610c84565b61375a838383614314565b613765600082612e19565b6001600160a01b03838116600081815260d36020908152604080832080546001600160601b03198082166001600160601b039283166000190183161790925595881680855282852080549283169288166001019097169190911790955585835260ce90915280822080546001600160a01b0319168517905551849392917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b604080517f5b174e00b853ebb074ee5cb5d23ca67a264896e5670f923ac103fccad5232b5560208201526001600160a01b03861691810191909152606081018490526080810183905260a0810182905260009081906138819060c0016040516020818303038152906040528051906020012061435d565b9695505050505050565b600080600061389a8585614438565b915091506138a78161447a565b509392505050565b6001600160a01b038616600081815260d360209081526040808320548984526101fe83528184209484529390915280822054908501519192600160601b90046001600160601b03169163ffffffff161561395157846040015163ffffffff16811061392d57604051632f18066d60e01b815260040160405180910390fd5b846040015163ffffffff1687820111156139515780856040015163ffffffff160396505b6101fa54600160801b90046001600160801b0316801561399b5780831061398b57604051632f18066d60e01b815260040160405180910390fd5b80888401111561399b5782810397505b856060015163ffffffff1688880111156139bf5786866060015163ffffffff160397505b6000851180156139d357506101fc5460ff16155b15613a08578482106139f857604051632f18066d60e01b815260040160405180910390fd5b848883011115613a085781850397505b5060008881526101fe602090815260408083206001600160a01b038d16845290915290209087019055508490509695505050505050565b6116b9838360405180602001604052806000815250846145bf565b61180181336145d9565b613a6e8282612221565b15611738576000828152610100602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b600080516020615e9b833981519152546001600160a01b031690565b611801613c5b565b7f4910fdfa16fed3260ed0e7147f7cc6da11a60208b5b9406d12a635614ffd91435460ff1615613b23576116b983614632565b826001600160a01b03166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613b7d575060408051601f3d908101601f19168201909252613b7a91810190615d0e565b60015b613be05760405162461bcd60e51b815260206004820152602e60248201527f45524331393637557067726164653a206e657720696d706c656d656e7461746960448201526d6f6e206973206e6f74205555505360901b6064820152608401610c84565b600080516020615e9b8339815191528114613c4f5760405162461bcd60e51b815260206004820152602960248201527f45524331393637557067726164653a20756e737570706f727465642070726f786044820152681a58589b195555525160ba1b6064820152608401610c84565b506116b98383836146ce565b610164546001600160a01b03163314611f9f5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c84565b613cbf81612de6565b613d1b5760405162461bcd60e51b815260206004820152602760248201527f45524337323178797a3a20517565727920666f72206e6f6e6578697374656e7460448201526620746f6b656e2160c81b6064820152608401610c84565b6000613d2682611e3d565b9050613d3481600084614314565b613d3f600083612e19565b6001600160a01b038116600081815260d36020908152604080832080546001600160601b031981166001600160601b039182166000190190911617905585835260d0909152808220805460ff1916600190811790915560cd80549091019055518492907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b6000610b848183612221565b60405163c3c5a54760e01b81526001600160a01b0384169063c3c5a54790613e03903090600401614d3d565b6020604051808303816000875af1158015613e22573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e4691906155e0565b15613ee4578015613eb657604051632cc5350560e21b81526001600160a01b0384169063b314d41490613e7f90309086906004016155c6565b600060405180830381600087803b158015613e9957600080fd5b505af1158015613ead573d6000803e3d6000fd5b50505050505050565b604051630781ad2d60e21b81526001600160a01b03841690631e06b4b490613e7f90309086906004016155c6565b8015613f1857604051633e9f1edf60e11b81526001600160a01b03841690637d3e3dbe90613e7f90309086906004016155c6565b6001600160a01b03821615613f555760405163a0af290360e01b81526001600160a01b0384169063a0af290390613e7f90309086906004016155c6565b604051632210724360e11b81526001600160a01b03841690634420e48690613e7f903090600401614d3d565b816001600160a01b0316836001600160a01b031603613fe25760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610c84565b6001600160a01b03838116600081815260d26020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b61405a848484613676565b614066848484846146f3565b610e745760405162461bcd60e51b8152600401610c8490615d27565b6000613881868680806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250506040516001600160601b0319606089901b166020820152603481018790528892506054019050604051602081830303815290604052805190602001206147f1565b6001600160a01b03831661414f5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610c84565b61415d60008460cc54614314565b60cc8054838101918290556001600160a01b038516600090815260d36020526040902080546001600160601b038082168701166001600160601b03199091161790559082156141fc576001600160a01b038516600090815260d36020526040902080546001600160601b03808216600160601b92839004821688019091169091026001600160c01b031617600160c01b6001600160401b038616021790555b600081815260cf6020526040902080546001600160a01b0319166001600160a01b03871617905560018281019082015b60405182906001600160a01b038916906000907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a481600101915080821061422c57505050610e74565b60006001600160e01b0319821663152a902d60e11b14806142aa57506001600160e01b031982166380ac58cd60e01b145b806142c557506001600160e01b03198216635b5e139f60e01b145b80610b845750610b8482614807565b600054610100900460ff166142fb5760405162461bcd60e51b8152600401610c8490615b2e565b60ca6143078382615689565b5060cb6116b98282615689565b6001600160a01b0383161580159061433457506001600160a01b03821615155b156116b95760d45460ff16156116b9576040516328f11eb160e21b815260040160405180910390fd5b604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f6020808301919091527f36cb08f6aafe2399767bf40e9642429d7535f40e61bd81428cad09095c5d337d828401527f06c015bd22b4c69690933c1058878ebdfef31f9aaae40bbe86d8a09fe1b2972c60608301524660808301523060a0808401919091528351808403909101815260c08301845280519082012061190160f01b60e084015260e2830181905261010280840186905284518085039091018152610122909301909352815191012060009190611ef6565b600080825160410361446e5760208301516040840151606085015160001a6144628782858561483c565b9450945050505061168c565b5060009050600261168c565b600081600481111561448e5761448e615d79565b036144965750565b60018160048111156144aa576144aa615d79565b036144f25760405162461bcd60e51b815260206004820152601860248201527745434453413a20696e76616c6964207369676e617475726560401b6044820152606401610c84565b600281600481111561450657614506615d79565b036145535760405162461bcd60e51b815260206004820152601f60248201527f45434453413a20696e76616c6964207369676e6174757265206c656e677468006044820152606401610c84565b600381600481111561456757614567615d79565b036118015760405162461bcd60e51b815260206004820152602260248201527f45434453413a20696e76616c6964207369676e6174757265202773272076616c604482015261756560f01b6064820152608401610c84565b6145ca8484836140f9565b61406660008560cc54856146f3565b6145e38282612221565b611738576145f0816148f6565b6145fb836020614908565b60405160200161460c929190615d8f565b60408051601f198184030181529082905262461bcd60e51b8252610c8491600401614d11565b6001600160a01b0381163b61469f5760405162461bcd60e51b815260206004820152602d60248201527f455243313936373a206e657720696d706c656d656e746174696f6e206973206e60448201526c1bdd08184818dbdb9d1c9858dd609a1b6064820152608401610c84565b600080516020615e9b83398151915280546001600160a01b0319166001600160a01b0392909216919091179055565b6146d783614aa3565b6000825111806146e45750805b156116b957610e748383614ae3565b60006001600160a01b0384163b156147e957604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290614737903390899088908890600401615dfe565b6020604051808303816000875af1925050508015614772575060408051601f3d908101601f1916820190925261476f91810190615e31565b60015b6147cf573d8080156147a0576040519150601f19603f3d011682016040523d82523d6000602084013e6147a5565b606091505b5080516000036147c75760405162461bcd60e51b8152600401610c8490615d27565b805181602001fd5b6001600160e01b031916630a85bd0160e11b14905061366e565b50600161366e565b6000826147fe8584614bd7565b14949350505050565b60006001600160e01b0319821663152a902d60e11b1480610b8457506301ffc9a760e01b6001600160e01b0319831614610b84565b6000806fa2a8918ca85bafe22016d0b997e4df60600160ff1b0383111561486957506000905060036148ed565b6040805160008082526020820180845289905260ff881692820192909252606081018690526080810185905260019060a0016020604051602081039080840390855afa1580156148bd573d6000803e3d6000fd5b5050604051601f1901519150506001600160a01b0381166148e6576000600192509250506148ed565b9150600090505b94509492505050565b6060610b846001600160a01b03831660145b606060006149178360026157bc565b6149229060026157a9565b6001600160401b0381111561493957614939614dae565b6040519080825280601f01601f191660200182016040528015614963576020820181803683370190505b509050600360fc1b8160008151811061497e5761497e615742565b60200101906001600160f81b031916908160001a905350600f60fb1b816001815181106149ad576149ad615742565b60200101906001600160f81b031916908160001a90535060006149d18460026157bc565b6149dc9060016157a9565b90505b6001811115614a54576f181899199a1a9b1b9c1cb0b131b232b360811b85600f1660108110614a1057614a10615742565b1a60f81b828281518110614a2657614a26615742565b60200101906001600160f81b031916908160001a90535060049490941c93614a4d81615e4e565b90506149df565b508315611ef65760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e746044820152606401610c84565b614aac81614632565b6040516001600160a01b038216907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b90600090a250565b60606001600160a01b0383163b614b4b5760405162461bcd60e51b815260206004820152602660248201527f416464726573733a2064656c65676174652063616c6c20746f206e6f6e2d636f6044820152651b9d1c9858dd60d21b6064820152608401610c84565b600080846001600160a01b031684604051614b669190615e65565b600060405180830381855af49150503d8060008114614ba1576040519150601f19603f3d011682016040523d82523d6000602084013e614ba6565b606091505b5091509150614bce8282604051806060016040528060278152602001615ebb60279139614c1c565b95945050505050565b600081815b84518110156138a757614c0882868381518110614bfb57614bfb615742565b6020026020010151614c35565b915080614c1481615e81565b915050614bdc565b60608315614c2b575081611ef6565b611ef68383614c64565b6000818310614c51576000828152602084905260409020611ef6565b6000838152602083905260409020611ef6565b815115614c745781518083602001fd5b8060405162461bcd60e51b8152600401610c849190614d11565b6001600160e01b03198116811461180157600080fd5b600060208284031215614cb657600080fd5b8135611ef681614c8e565b60005b83811015614cdc578181015183820152602001614cc4565b50506000910152565b60008151808452614cfd816020860160208601614cc1565b601f01601f19169290920160200192915050565b602081526000611ef66020830184614ce5565b600060208284031215614d3657600080fd5b5035919050565b6001600160a01b0391909116815260200190565b80356001600160a01b0381168114614d6857600080fd5b919050565b60008060408385031215614d8057600080fd5b614d8983614d51565b946020939093013593505050565b80356001600160801b0381168114614d6857600080fd5b634e487b7160e01b600052604160045260246000fd5b604051601f8201601f191681016001600160401b0381118282101715614dec57614dec614dae565b604052919050565b600082601f830112614e0557600080fd5b81356001600160401b03811115614e1e57614e1e614dae565b614e31601f8201601f1916602001614dc4565b818152846020838601011115614e4657600080fd5b816020850160208301376000918101602001919091529392505050565b80356001600160601b0381168114614d6857600080fd5b60006001600160401b03821115614e9357614e93614dae565b5060051b60200190565b600082601f830112614eae57600080fd5b81356020614ec3614ebe83614e7a565b614dc4565b82815260059290921b84018101918181019086841115614ee257600080fd5b8286015b84811015614f0457614ef781614d51565b8352918301918301614ee6565b509695505050505050565b60008083601f840112614f2157600080fd5b5081356001600160401b03811115614f3857600080fd5b60208301915083602060c08302850101111561168c57600080fd5b801515811461180157600080fd5b8035614d6881614f53565b60008060008060008060008060008060006101408c8e031215614f8e57600080fd5b614f978c614d97565b9a506001600160401b038060208e01351115614fb257600080fd5b614fc28e60208f01358f01614df4565b9a508060408e01351115614fd557600080fd5b614fe58e60408f01358f01614df4565b99508060608e01351115614ff857600080fd5b6150088e60608f01358f01614df4565b985061501660808e01614e63565b975061502460a08e01614d97565b96508060c08e0135111561503757600080fd5b6150478e60c08f01358f01614e9d565b955061505560e08e01614d51565b9450806101008e0135111561506957600080fd5b5061507b8d6101008e01358e01614f0f565b909350915061508d6101208d01614f61565b90509295989b509295989b9093969950565b6000806000606084860312156150b457600080fd5b6150bd84614d51565b92506150cb60208501614d51565b9150604084013590509250925092565b600080600080600060a086880312156150f357600080fd5b85356001600160401b0381111561510957600080fd5b61511588828901614df4565b95505060208601359350604086013592506060860135915061513960808701614d51565b90509295509295909350565b6000806040838503121561515857600080fd5b50508035926020909101359150565b6000806040838503121561517a57600080fd5b8235915061518a60208401614d51565b90509250929050565b6000602082840312156151a557600080fd5b611ef682614d51565b600080604083850312156151c157600080fd5b6151ca83614d51565b915061518a60208401614e63565b6000806000604084860312156151ed57600080fd5b83356001600160401b0381111561520357600080fd5b61520f86828701614f0f565b909790965060209590950135949350505050565b6000806040838503121561523657600080fd5b61523f83614d51565b915060208301356001600160401b0381111561525a57600080fd5b61526685828601614df4565b9150509250929050565b60006020828403121561528257600080fd5b611ef682614d97565b6000806000606084860312156152a057600080fd5b6152a984614d51565b92506152b760208501614d51565b915060408401356152c781614f53565b809150509250925092565b6000602082840312156152e457600080fd5b81356001600160401b038111156152fa57600080fd5b820160608185031215611ef657600080fd5b60008060006060848603121561532157600080fd5b61532a84614d51565b925060208401356152b781614f53565b6000806040838503121561534d57600080fd5b61535683614d51565b9150602083013561536681614f53565b809150509250929050565b6000806000806080858703121561538757600080fd5b61539085614d51565b935061539e60208601614d51565b92506040850135915060608501356001600160401b038111156153c057600080fd5b6153cc87828801614df4565b91505092959194509250565b6060815260006153eb6060830186614ce5565b82810360208401526153fd8186614ce5565b905082810360408401526138818185614ce5565b60008060008060006080868803121561542957600080fd5b85356001600160401b038082111561544057600080fd5b818801915088601f83011261545457600080fd5b81358181111561546357600080fd5b8960208260051b850101111561547857600080fd5b6020928301975095505086013592506040860135915061513960608701614d51565b600080604083850312156154ad57600080fd5b6154b683614d51565b915061518a60208401614d51565b600080600080608085870312156154da57600080fd5b84356001600160401b03808211156154f157600080fd5b6154fd88838901614e9d565b955060209150818701358181111561551457600080fd5b87019050601f8101881361552757600080fd5b8035615535614ebe82614e7a565b81815260059190911b8201830190838101908a83111561555457600080fd5b928401925b8284101561557257833582529284019290840190615559565b979a97995050505060408601359560600135949350505050565b600181811c908216806155a057607f821691505b6020821081036155c057634e487b7160e01b600052602260045260246000fd5b50919050565b6001600160a01b0392831681529116602082015260400190565b6000602082840312156155f257600080fd5b8151611ef681614f53565b634e487b7160e01b600052601160045260246000fd5b81810381811115610b8457610b846155fd565b601f8211156116b957600081815260208120601f850160051c8101602086101561564d5750805b601f850160051c820191505b8181101561566c57828155600101615659565b505050505050565b600019600383901b1c191660019190911b1790565b81516001600160401b038111156156a2576156a2614dae565b6156b6816156b0845461558c565b84615626565b602080601f8311600181146156e557600084156156d35750858301515b6156dd8582615674565b86555061566c565b600085815260208120601f198616915b82811015615714578886015182559484019460019091019084016156f5565b50858210156157325787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b600052603260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b80820180821115610b8457610b846155fd565b8082028115828204841417610b8457610b846155fd565b6000826157f057634e487b7160e01b600052601260045260246000fd5b500490565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b19195b1959d85d1958d85b1b60a21b606082015260800190565b6020808252602c908201527f46756e6374696f6e206d7573742062652063616c6c6564207468726f7567682060408201526b6163746976652070726f787960a01b606082015260800190565b6001600160a01b038481168252831660208083019190915260606040830152825460009182916158bc8161558c565b80606087015260806001808416600081146158de57600181146158f857615926565b60ff1985168984015283151560051b890183019650615926565b896000528560002060005b8581101561591e5781548b8201860152908301908701615903565b8a0184019750505b50949a9950505050505050505050565b6000808335601e1984360301811261594d57600080fd5b8301803591506001600160401b0382111561596757600080fd5b60200191503681900382131561168c57600080fd5b6001600160401b0383111561599357615993614dae565b6159a7836159a1835461558c565b83615626565b6000601f8411600181146159d557600085156159c35750838201355b6159cd8682615674565b8455506125c6565b600083815260209020601f19861690835b82811015615a0657868501358255602094850194600190920191016159e6565b5086821015615a235760001960f88860031b161c19848701351681555b505060018560011b0183555050505050565b615a3f8283615936565b6001600160401b03811115615a5657615a56614dae565b615a6a81615a64855461558c565b85615626565b6000601f821160018114615a985760008315615a865750838201355b615a908482615674565b865550615af2565b600085815260209020601f19841690835b82811015615ac95786850135825560209485019460019092019101615aa9565b5084821015615ae65760001960f88660031b161c19848701351681555b505060018360011b0185555b50505050615b036020830183615936565b615b1181836001860161597c565b5050615b206040830183615936565b610e7481836002860161597c565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b606082015260800190565b803564ffffffffff81168114614d6857600080fd5b803563ffffffff81168114614d6857600080fd5b80356001600160701b0381168114614d6857600080fd5b6040808252818101849052600090606080840187845b88811015615c5e5764ffffffffff80615be784615b79565b168452602081615bf8828601615b79565b169085015250615c09828601615b8e565b63ffffffff8082168786015280615c21878601615b8e565b1686860152505060806001600160701b03615c3d828501615ba2565b169084015260a0828101359084015260c09283019290910190600101615bcf565b5050809350505050826020830152949350505050565b600060c08284031215615c8657600080fd5b60405160c081018181106001600160401b0382111715615ca857615ca8614dae565b604052615cb483615b79565b8152615cc260208401615b79565b6020820152615cd360408401615b8e565b6040820152615ce460608401615b8e565b6060820152615cf560808401615ba2565b608082015260a083013560a08201528091505092915050565b600060208284031215615d2057600080fd5b5051919050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b634e487b7160e01b600052602160045260246000fd5b76020b1b1b2b9b9a1b7b73a3937b61d1030b1b1b7bab73a1604d1b815260008351615dc1816017850160208801614cc1565b7001034b99036b4b9b9b4b733903937b6329607d1b6017918401918201528351615df2816028840160208801614cc1565b01602801949350505050565b6001600160a01b038581168252841660208201526040810183905260806060820181905260009061388190830184614ce5565b600060208284031215615e4357600080fd5b8151611ef681614c8e565b600081615e5d57615e5d6155fd565b506000190190565b60008251615e77818460208701614cc1565b9190910192915050565b600060018201615e9357615e936155fd565b506001019056fe360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc416464726573733a206c6f772d6c6576656c2064656c65676174652063616c6c206661696c6564fd63b67fde00b77f1f54f050135a475665b815acd10a8e7fd785ba074846734aa2646970667358221220d79caa554170f10ed5aa8b9542bf670eafd052dd44ff392645406daf6a55461264736f6c63430008110033