0x6080604052600436106103a65760003560e01c80638a42cef3116101e7578063ba3b50a61161010d578063ddd5e1b2116100a0578063e63a391f1161006f578063e63a391f14610bdb578063f2fde38b14610bf1578063f395125c14610568578063f70e663d14610c1157600080fd5b8063ddd5e1b214610b5b578063e0dd7d4914610b7b578063e4e0981814610b9b578063e57abbab14610bbb57600080fd5b8063c7c48a85116100dc578063c7c48a8514610ab2578063d2ecf94314610ad2578063d659755714610b1b578063d846612114610b3b57600080fd5b8063ba3b50a614610a25578063bbc2611314610a45578063c350a1b514610a72578063c5c91c6a14610a9257600080fd5b80639e06499311610185578063a91ee0dc11610154578063a91ee0dc1461098f578063aef92d66146109af578063b0d50e01146109cf578063b2eafd57146109ef57600080fd5b80639e0649931461090f578063a38dcbd01461092f578063a5b773251461094f578063a83207df1461096f57600080fd5b806390263e42116101c157806390263e421461088257806395a12a77146108a2578063979d25a2146108c257806398969e82146108ef57600080fd5b80638a42cef31461080f5780638da5cb5b146108245780638e478cab1461084257600080fd5b80634023a640116102cc5780636366ebe31161026a5780637d3824d9116102395780637d3824d91461079a57806383453945146107ba578063853828b6146107da578063853a65f9146107ef57600080fd5b80636366ebe3146106f9578063715018a61461070c5780637af01d47146107215780637b1039991461077a57600080fd5b806357a5b58c116102a657806357a5b58c1461068357806357ae1cec146106a35780635aa6e675146106b95780636365530e146106d957600080fd5b80634023a6401461063b57806351eb05a61461064e57806354fd4d501461066e57600080fd5b8063126082cf116103445780633625bb2d116103135780633625bb2d146105ad5780633b366f13146105e55780633bfae9fe146106055780633c49b5271461061b57600080fd5b8063126082cf1461053c5780631a740e52146105525780632540d52e146105685780632f380b351461058057600080fd5b80630ad58d2f116103805780630ad58d2f1461040b5780630d37afb61461042b5780631069f3b51461046657806310a4f05e146104c857600080fd5b806303ba14bc146103b257806306aa67f9146103d4578063081e3eda146103e757600080fd5b366103ad57005b600080fd5b3480156103be57600080fd5b506103d26103cd36600461836a565b610c31565b005b6103d26103e236600461841f565b6112ab565b3480156103f357600080fd5b506099545b6040519081526020015b60405180910390f35b34801561041757600080fd5b506103d261042636600461844f565b61198c565b34801561043757600080fd5b5061044b61044636600461841f565b611e45565b60408051938452602084019290925290820152606001610402565b34801561047257600080fd5b5061048661048136600461841f565b611f17565b6040516104029190600060a082019050825182526020830151602083015260408301516040830152606083015160608301526080830151608083015292915050565b3480156104d457600080fd5b5061052f6104e336600461841f565b60408051808201825260008082526020918201819052938452609d81528184206001600160a01b0393909316845291825291829020825180840190935280548352600101549082015290565b6040516104029190618488565b34801561054857600080fd5b506103f86103e881565b34801561055e57600080fd5b506103f8609e5481565b34801561057457600080fd5b506103f86301e1338081565b34801561058c57600080fd5b506105a061059b36600461849f565b611ffc565b6040516104029190618510565b3480156105b957600080fd5b5060a0546105cd906001600160a01b031681565b6040516001600160a01b039091168152602001610402565b3480156105f157600080fd5b506103f8610600366004618638565b61217a565b34801561061157600080fd5b506103f860a65481565b34801561062757600080fd5b506103d261063636600461849f565b6121ba565b6103d261064936600461841f565b612358565b34801561065a57600080fd5b506105a061066936600461849f565b61250c565b34801561067a57600080fd5b506097546103f8565b34801561068f57600080fd5b506103d261069e366004618664565b6129e5565b3480156106af57600080fd5b506103f860a45481565b3480156106c557600080fd5b50609f546105cd906001600160a01b031681565b3480156106e557600080fd5b506103d26106f436600461841f565b612a29565b6103d26107073660046186d9565b612b9a565b34801561071857600080fd5b506103d2612dc1565b34801561072d57600080fd5b5061052f61073c36600461849f565b604080518082019091526000808252602082015250600090815260a36020908152604091829020825180840190935280548352600101549082015290565b34801561078657600080fd5b5060a9546105cd906001600160a01b031681565b3480156107a657600080fd5b506103d26107b536600461841f565b612dd5565b3480156107c657600080fd5b5060a1546105cd906001600160a01b031681565b3480156107e657600080fd5b506103d2612f44565b3480156107fb57600080fd5b5060a5546105cd906001600160a01b031681565b34801561081b57600080fd5b5060a4546103f8565b34801561083057600080fd5b506033546001600160a01b03166105cd565b34801561084e57600080fd5b5061087261085d366004618738565b60a76020526000908152604090205460ff1681565b6040519015158152602001610402565b34801561088e57600080fd5b506103d261089d36600461849f565b613434565b3480156108ae57600080fd5b506103d26108bd36600461849f565b61347d565b3480156108ce57600080fd5b506103f86108dd36600461849f565b60a86020526000908152604090205481565b3480156108fb57600080fd5b506103f861090a36600461841f565b613976565b34801561091b57600080fd5b506103d261092a36600461849f565b613cd6565b34801561093b57600080fd5b506103d261094a36600461849f565b613e44565b34801561095b57600080fd5b506103d261096a36600461849f565b614103565b34801561097b57600080fd5b506103d261098a36600461849f565b614420565b34801561099b57600080fd5b506103d26109aa366004618738565b61446d565b3480156109bb57600080fd5b506103f86109ca36600461841f565b6144ed565b3480156109db57600080fd5b506103d26109ea366004618755565b6148b4565b3480156109fb57600080fd5b506105cd610a0a36600461849f565b6000908152609a60205260409020546001600160a01b031690565b348015610a3157600080fd5b506103d2610a40366004618755565b61495e565b348015610a5157600080fd5b506103f8610a60366004618738565b60a26020526000908152604090205481565b348015610a7e57600080fd5b506103d2610a8d366004618777565b614bfe565b348015610a9e57600080fd5b506103d2610aad3660046187ae565b614e36565b348015610abe57600080fd5b506103f8610acd36600461841f565b61558b565b348015610ade57600080fd5b50610b06610aed36600461849f565b60a3602052600090815260409020805460019091015482565b60408051928352602083019190915201610402565b348015610b2757600080fd5b506103d2610b3636600461841f565b61566a565b348015610b4757600080fd5b506103d2610b5636600461841f565b6158b1565b348015610b6757600080fd5b506103d2610b7636600461841f565b615a1c565b348015610b8757600080fd5b506103d2610b9636600461849f565b615ce4565b348015610ba757600080fd5b506103f8610bb63660046187ae565b615e5e565b348015610bc757600080fd5b506103d2610bd6366004618738565b616be7565b348015610be757600080fd5b506103f861271081565b348015610bfd57600080fd5b506103d2610c0c366004618738565b616c58565b348015610c1d57600080fd5b506103d2610c2c36600461849f565b616cce565b610c39616d68565b60c08101516001600160a01b038116610c6d5760405162461bcd60e51b8152600401610c6490618815565b60405180910390fd5b60e08201516001600160a01b038116610c985760405162461bcd60e51b8152600401610c6490618815565b82516001600160a01b031615801590610cbd575060608301516001600160a01b031615155b610d095760405162461bcd60e51b815260206004820152601e60248201527f5374616b696e673a3a6164643a20494e56414c49445f414444524553532e00006044820152606401610c64565b60608301516001600160a01b0316600090815260a7602052604090205460ff1615610d765760405162461bcd60e51b815260206004820152601f60248201527f52657761726465722061646472657373206973206475706c6963617465642e006044820152606401610c64565b6000610d8f60008051602061913d833981519152616dc2565b845160405163ce6a54ff60e01b81526001600160a01b03918216600482015291169063ce6a54ff9060240160206040518083038186803b158015610dd257600080fd5b505afa158015610de6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e0a919061884c565b90508360200151600014158015610e3c57506020808501516000908152609890915260409020546001600160a01b0316155b610e885760405162461bcd60e51b815260206004820181905260248201527f5374616b696e673a3a6164643a20494e56414c49445f4e435020696e6465782e6044820152606401610c64565b80610ed55760405162461bcd60e51b815260206004820152601a60248201527f5374616b696e673a3a6164643a20494e56414c49445f4e43502e0000000000006044820152606401610c64565b6060840180516020808701516000908152609a8252604080822080546001600160a01b0319166001600160a01b039586161790559351909216825260a79052908120805460ff19166001179055609b805491610f308361887b565b91905055506000610f4e60008051602061913d833981519152616dc2565b6001600160a01b0316634f0f4aa9836040518263ffffffff1660e01b8152600401610f7b91815260200190565b60006040518083038186803b158015610f9357600080fd5b505afa158015610fa7573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052610fcf9190810190618902565b505050905060405180610200016040528086600001516001600160a01b031681526020018281526020016000815260200160008152602001438152602001600081526020016000815260200162093a8081526020016000815260200186610100015181526020018660800151151581526020018660a00151151581526020018660c001516001600160a01b031681526020018660e001516001600160a01b0316815260200186604001516001600160a01b031681526020016000815250609860008760200151815260200190815260200160002060008201518160000160006101000a8154816001600160a01b0302191690836001600160a01b0316021790555060208201518160010190805190602001906110ec929190618182565b5060408201516002820155606082015160038201556080820151600482015560a0820151600582015560c0820151600682015560e082015160078201556101008083015160088301556101208301516009830155610140830151600a8301805461016086015161018087015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0830151600b830180546001600160a01b03199081169284169290921790556101c0840151600c8401805490921692169190911790556101e090910151600d90910155609980549060006111e98361887b565b90915550506020808601805187516001600160a01b0316600090815260a2909352604083205551610120870151875161122193616e3f565b84606001516001600160a01b031685602001517f620c3a9f0ff3718d90a4f29cd03370a5ab00d1296f1abf1ff822772fbc898ae38760a001518860c001518960e001518a610100015160405161129c949392919093151584526001600160a01b03928316602085015291166040830152606082015260800190565b60405180910390a35050505050565b6112b36172b5565b6112c6665374616b696e6760c81b616dc2565b6001600160a01b0316336001600160a01b0316146112f65760405162461bcd60e51b8152600401610c6490618992565b6001600160a01b038116600090815260a2602052604090205460258114801590611321575080602814155b61133d5760405162461bcd60e51b8152600401610c64906189ef565b60008181526098602052604090205481906001600160a01b03166113735760405162461bcd60e51b8152600401610c6490618a26565b61138a60008051602061913d833981519152616dc2565b60008381526098602052604090819020549051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b1580156113db57600080fd5b505afa1580156113ef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906114139190618a5d565b61145a5760405162461bcd60e51b815260206004820152601860248201527705354414b494e473a20506f6f6c206973206e6f74204e43560441b6044820152606401610c64565b600082815260aa602052604090205460ff16156114895760405162461bcd60e51b8152600401610c6490618a7a565b60006114948361250c565b6000848152609c602090815260408083206001600160a01b038916808552908352818420888552609d845282852091855290835281842082518084019093528054835260010154928201929092528154939450909290919015611577576115008688896000600161730f565b905061150c8688617633565b84548151929650909350600091611524908b90618aa3565b61152e9190618ac2565b905080836000018181516115429190618ae4565b90525060c085018051829190611559908390618ae4565b905250835489908590600090611570908490618ae4565b9091555050505b8254611592576101e0840180519061158e82618afb565b9052505b6115a960008051602061913d833981519152616dc2565b604051636f1e853360e01b81523360048201526001600160a01b039190911690636f1e85339060240160206040518083038186803b1580156115ea57600080fd5b505afa1580156115fe573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116229190618a5d565b156116ce5761163e60008051602061913d833981519152616dc2565b6001600160a01b031663af6af2ff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561167657600080fd5b505afa15801561168a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906116ae919061884c565b835410156116ce5760405162461bcd60e51b8152600401610c6490618b12565b604084015182518454670de0b6b3a764000092916116eb91618b5a565b6116f59190618aa3565b6116ff9190618ac2565b600184015560a15460e0850151604051637c9441d160e11b81526001600160a01b038a81166004830152602482018a905260448201899052606482018c9052608482019290925291169063f92883a29060a401602060405180830381600087803b15801561176c57600080fd5b505af1158015611780573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117a4919061884c565b50878460a0018181516117b79190618ae4565b905250610100840180518991906117cf908390618b5a565b9052506000868152609860209081526040909120855181546001600160a01b0319166001600160a01b039091161781558582015180518793611818926001850192910190618182565b506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0830151600683015560e083015160078301556101008084015160088401556101208401516009840155610140840151600a8401805461016087015161018088015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0840151600b840180546001600160a01b03199081169284169290921790556101c0850151600c850180549092169083161790556101e090930151600d909201919091556000888152609d60209081528282208b851683528152908290208551815585820151600191909101558651908701519151921691889133917f1e7e9b1aed614b43859a77289e0409903cc1e561699c1720b52e5159c775bf1c91611970918e908e908990618b72565b60405180910390a45050505050506119886001606555565b5050565b6119946172b5565b6000838152609860205260409020600a01548390610100900460ff16156119cd5760405162461bcd60e51b8152600401610c6490618baa565b836025141580156119df575083602814155b6119fb5760405162461bcd60e51b8152600401610c64906189ef565b6000611a068561250c565b905083611a945760a15460405163366b8e7760e01b8152600481018790526001600160a01b0385811660248301529091169063366b8e779060440160206040518083038186803b158015611a5957600080fd5b505afa158015611a6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611a91919061884c565b93505b60a1546040516399a904b560e01b8152600481018690526000916001600160a01b0316906399a904b59060240160e06040518083038186803b158015611ad957600080fd5b505afa158015611aed573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b119190618bd7565b9050858160200151148015611b295750858160400151145b611b715760405162461bcd60e51b815260206004820152601960248201527814d51052d25391ce88125b9d985b1a59081d1bdad95b881a59603a1b6044820152606401610c64565b60a154604051632770a7eb60e21b81526001600160a01b0386811660048301526024820188905290911690639dc29fac90604401600060405180830381600087803b158015611bbf57600080fd5b505af1158015611bd3573d6000803e3d6000fd5b5050506060820151611bf091506001600160a01b03861690617aa9565b80606001518261010001818151611c079190618ae4565b9052506000868152609860209081526040909120835181546001600160a01b0319166001600160a01b039091161781558382015180518593611c50926001850192910190618182565b50604082810151600283015560608084015160038401556080840151600484015560a0840151600584015560c0840151600684015560e084015160078401556101008085015160088501556101208501516009850155610140850151600a8501805461016088015161018089015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0850151600b850180546001600160a01b03199081169284169290921790556101c0860151600c860180549092169083161790556101e090940151600d9093019290925590830151905190815290851690879033907f8166bf25f8a2b7ed3c85049207da4358d16edbed977d23fa2ee6f0dde3ec21329060200160405180910390a481600001516001600160a01b031686336001600160a01b03167fa15948d1d14e69bbd64dbf5b876e5207a0f97ef5d030ecb24706c4b6cfbd76d68560200151856060015189604051611dd293929190618c61565b60405180910390a4815160c0820151602084015160608401516040516001600160a01b03909416938a9333937fef587cef10792e7797a3168a3ab689404f987e9c970f1721af08257396ff316b93611e2b938c90618c94565b60405180910390a4505050611e406001606555565b505050565b6000828152609c602090815260408083206001600160a01b038516808552908352818420825160a0810184528154815260018083015482870152600283015482860152600383015460608301526004909201546080820152878652609d855283862092865291845282852083518085019094528054845201549282019290925282918291611ed38787613976565b9450611ef1826040015186611ee89190618ae4565b8351835161217a565b8260600151611f009190618b5a565b9350611f0c8486618ae4565b925050509250925092565b611f496040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b6000838152609860205260409020546001600160a01b0316611f98576040518060a001604052806000815260200160008152602001600081526020016000815260200160008152509050611ff6565b506000828152609c602090815260408083206001600160a01b0385168452825291829020825160a081018452815481526001820154928101929092526002810154928201929092526003820154606082015260049091015460808201525b92915050565b612004618206565b6000828152609860209081526040918290208251610200810190935280546001600160a01b03168352600181018054919284019161204190618ccf565b80601f016020809104026020016040519081016040528092919081815260200182805461206d90618ccf565b80156120ba5780601f1061208f576101008083540402835291602001916120ba565b820191906000526020600020905b81548152906001019060200180831161209d57829003601f168201915b505050918352505060028201546020820152600382015460408201526004820154606082015260058201546080820152600682015460a0820152600782015460c0820152600882015460e0820152600982015461010080830191909152600a83015460ff808216151561012085015291810490911615156101408301526001600160a01b03620100009091048116610160830152600b8301548116610180830152600c830154166101a0820152600d909101546101c09091015292915050565b60006121868284618b5a565b612192575060006121b3565b61219c8284618b5a565b6121a68486618aa3565b6121b09190618ac2565b90505b9392505050565b6121c26172b5565b600081815260aa602052604090205460ff16156121f15760405162461bcd60e51b8152600401610c6490618a7a565b60006121fc8261250c565b6000838152609c6020908152604080832033808552908352818420878552609d845282852091855290835292819020815180830190925280548252600101549181019190915281549293509091156122df576000670de0b6b3a76400008460400151836000015185600001546122729190618b5a565b61227c9190618aa3565b6122869190618ac2565b9050600083600101548261229a9190618ae4565b9050808460020160008282546122b09190618b5a565b9091555050835483516122c491839161217a565b8460030160008282546122d79190618b5a565b909155505050505b6122e98433617633565b604082015181518554939650919350670de0b6b3a764000092909161230d91618b5a565b6123179190618aa3565b6123219190618ac2565b6001928301556000848152609d60209081526040808320338452825290912082518155910151910155506123556001606555565b50565b6123606172b5565b612373665374616b696e6760c81b616dc2565b6001600160a01b0316336001600160a01b0316146123a35760405162461bcd60e51b8152600401610c6490618992565b6001600160a01b038116600090815260a26020526040902054602581148015906123ce575080602814155b6123ea5760405162461bcd60e51b8152600401610c64906189ef565b600081815260aa602052604090205460ff16156124195760405162461bcd60e51b8152600401610c6490618a7a565b6124268184846000616e3f565b6000818152609c602090815260408083206001600160a01b0386168085529083529281902060020154815187815292830152839183917eab9ea1934a18c419ebd648dfd54350d24ab746230b97428774bd8d923f4eaf910160405180910390a460008181526098602090815260408083208054609c84528285206001600160a01b038881168088529190955294839020600201549251931693859390927f6e6990fc966a7a3cb4933945cb1d7376a33191887e10e2c730772a919a642df3926124f9926001909101918a918a9190618daa565b60405180910390a4506119886001606555565b612514618206565b6000828152609860209081526040918290208251610200810190935280546001600160a01b03168352600181018054919284019161255190618ccf565b80601f016020809104026020016040519081016040528092919081815260200182805461257d90618ccf565b80156125ca5780601f1061259f576101008083540402835291602001916125ca565b820191906000526020600020905b8154815290600101906020018083116125ad57829003601f168201915b50505091835250506002820154602082015260038201546040820152600482015460608201526005820154608080830191909152600683015460a0830152600783015460c0830152600883015460e0830152600983015461010080840191909152600a84015460ff808216151561012086015291810490911615156101408401526001600160a01b03620100009091048116610160840152600b8401548116610180840152600c840154166101a0830152600d909201546101c0909101528101519091506126da5760405162461bcd60e51b815260206004820152601c60248201527f5354414b494e473a20506f6f6c20646f6573206e6f74206578697374000000006044820152606401610c64565b80608001514311156129e05760a08101516000838152609a60209081526040808320548151636b303b1160e11b815291516001600160a01b039091169263d66076229260048082019391829003018186803b15801561273857600080fd5b505afa15801561274c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612770919061884c565b6000858152609a6020908152604080832054815163a2e6204560e01b8152915194955092936001600160a01b039093169263a2e620459260048084019391929182900301818787803b1580156127c557600080fd5b505af11580156127d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127fd919061884c565b905082156128555760006128118383618ae4565b90508460c00151846128239190618b5a565b612835670de0b6b3a764000083618aa3565b61283f9190618ac2565b856040015161284e9190618b5a565b6040860152505b4360808501526000858152609860209081526040909120855181546001600160a01b0319166001600160a01b0390911617815581860151805187936128a1926001850192910190618182565b5060408281015160028301556060808401516003840155608080850151600485015560a0850151600585015560c0850151600685015560e085015160078501556101008086015160088601556101208601516009860155610140860151600a860180546101608901516101808a015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0860151600b860180546001600160a01b03199081169284169290921790556101c0870151600c8701805490921692169190911790556101e090940151600d9093019290925591860151868301518351918252602082018790529281019290925286917fcb7325664a4a3b7c7223eefc492a97ca4fdf94d46884621e5a8fae5a04b2b9d2910160405180910390a25050505b919050565b8060005b81811015612a2357612a12848483818110612a0657612a06618dbd565b9050602002013561250c565b50612a1c8161887b565b90506129e9565b50505050565b806001600160a01b038116612a505760405162461bcd60e51b8152600401610c6490618815565b6000838152609860209081526040808320546001600160a01b0316835260a2909152902054839015801590612aa857506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b612ac45760405162461bcd60e51b8152600401610c6490618dd3565b6000848152609860205260409020600a01548490610100900460ff1615612afd5760405162461bcd60e51b8152600401610c6490618baa565b6000858152609860205260409020600b8101546001600160a01b03163314612b375760405162461bcd60e51b8152600401610c6490618e0a565b600b810180546001600160a01b0319166001600160a01b0387169081179091556040805188815260208101929092527f7fc7b82c46c9f322f2a9c3ab999a39ba8230b89e3173adfde268967405ebb2df91015b60405180910390a1505050505050565b612ba26172b5565b6000858152609860205260409020600a01548590610100900460ff1615612bdb5760405162461bcd60e51b8152600401610c6490618baa565b85602514158015612bed575085602814155b612c095760405162461bcd60e51b8152600401610c64906189ef565b843414612c505760405162461bcd60e51b815260206004820152601560248201527414d51052d25391ce8815dc9bdb99c8185b5bdd5b9d605a1b6044820152606401610c64565b33600081815260a26020908152604080832054835260989091529020546001600160a01b03161415612cc45760405162461bcd60e51b815260206004820152601b60248201527f5354414b494e473a204e43502063616e6e6f74206465706f73697400000000006044820152606401610c64565b600086815260aa602052604090205460ff1615612cf35760405162461bcd60e51b8152600401610c6490618a7a565b612cff86868686616e3f565b612d12665374616b696e6760c81b616dc2565b600087815260986020526040908190205490516317589e6760e31b81526001600160a01b03918216600482015291169063bac4f3389087906024016000604051808303818588803b158015612d6657600080fd5b505af1158015612d7a573d6000803e3d6000fd5b50505050508115612daf578215612da35760405162461bcd60e51b8152600401610c6490618e4f565b612daf33878887617bc2565b50612dba6001606555565b5050505050565b612dc9616d68565b612dd3600061807b565b565b806001600160a01b038116612dfc5760405162461bcd60e51b8152600401610c6490618815565b6000838152609860209081526040808320546001600160a01b0316835260a2909152902054839015801590612e5457506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b612e705760405162461bcd60e51b8152600401610c6490618dd3565b6000848152609860205260409020600a01548490610100900460ff1615612ea95760405162461bcd60e51b8152600401610c6490618baa565b6000858152609860205260409020600b8101546001600160a01b03163314612ee35760405162461bcd60e51b8152600401610c6490618e0a565b600a8101805462010000600160b01b031916620100006001600160a01b038816908102919091179091556040805188815260208101929092527f70d216e53bba32c29a3424ecf8aa15aad290eb6525997dd33ea324dfd9cd53399101612b8a565b612f4c6172b5565b60a15460405163040bfbcf60e01b81523360048201526000916001600160a01b03169063040bfbcf9060240160006040518083038186803b158015612f9057600080fd5b505afa158015612fa4573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f19168201604052612fcc9190810190618e99565b905060005b81518110156134285760a15482516000916001600160a01b0316906399a904b59085908590811061300457613004618dbd565b60200260200101516040518263ffffffff1660e01b815260040161302a91815260200190565b60e06040518083038186803b15801561304257600080fd5b505afa158015613056573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061307a9190618bd7565b6020818101516000908152609890915260409020600a0154909150610100900460ff16156130ba5760405162461bcd60e51b8152600401610c6490618baa565b60a15483516001600160a01b0390911690639dc29fac9033908690869081106130e5576130e5618dbd565b60200260200101516040518363ffffffff1660e01b815260040161311e9291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b15801561313857600080fd5b505af115801561314c573d6000803e3d6000fd5b505050606082015161316091503390617aa9565b602081015160258114801590613177575080602814155b6131935760405162461bcd60e51b8152600401610c64906189ef565b600081815260aa602052604090205460ff16156131c25760405162461bcd60e51b8152600401610c6490618a7a565b60006131cd8261250c565b9050826060015181610100018181516131e69190618ae4565b9052506000828152609860209081526040909120825181546001600160a01b0319166001600160a01b03909116178155828201518051849361322f926001850192910190618182565b50604082810151600283015560608084015160038401556080840151600484015560a0840151600584015560c0840151600684015560e084015160078401556101008085015160088501556101208501516009850155610140850151600a8501805461016088015161018089015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0850151600b850180546001600160a01b03199081169284169290921790556101c0860151600c8601805490921692169190911790556101e090930151600d909201919091559084015190519081523390839082907f8166bf25f8a2b7ed3c85049207da4358d16edbed977d23fa2ee6f0dde3ec21329060200160405180910390a480600001516001600160a01b031682336001600160a01b03167fa15948d1d14e69bbd64dbf5b876e5207a0f97ef5d030ecb24706c4b6cfbd76d684602001518760600151336040516133b193929190618c61565b60405180910390a4805160c0840151602083015160608601516040516001600160a01b0390941693869333937fef587cef10792e7797a3168a3ab689404f987e9c970f1721af08257396ff316b9361340a938690618c94565b60405180910390a450505080806134209061887b565b915050612fd1565b5050612dd36001606555565b61343c616d68565b60a65460408051918252602082018390527f79ac1c30b8fac7d1ec8b1c521f584ad796f19f7e754a49829f5eb1fa933997d9910160405180910390a160a655565b6134856172b5565b6000818152609860205260409020600a01548190610100900460ff16156134be5760405162461bcd60e51b8152600401610c6490618baa565b816025141580156134d0575081602814155b6134ec5760405162461bcd60e51b8152600401610c64906189ef565b600082815260aa602052604090205460ff161561351b5760405162461bcd60e51b8152600401610c6490618a7a565b60006135268361250c565b60a15460405163ac261e0360e01b8152600481018690523360248201529192506000916001600160a01b039091169063ac261e039060440160006040518083038186803b15801561357657600080fd5b505afa15801561358a573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f191682016040526135b29190810190618e99565b90506000805b825181101561378e5760a15483516000916001600160a01b0316906399a904b5908690859081106135eb576135eb618dbd565b60200260200101516040518263ffffffff1660e01b815260040161361191815260200190565b60e06040518083038186803b15801561362957600080fd5b505afa15801561363d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136619190618bd7565b60a15485519192506001600160a01b031690639dc29fac90339087908690811061368d5761368d618dbd565b60200260200101516040518363ffffffff1660e01b81526004016136c69291906001600160a01b03929092168252602082015260400190565b600060405180830381600087803b1580156136e057600080fd5b505af11580156136f4573d6000803e3d6000fd5b505050606082015161370891503390617aa9565b60608101516137179084618b5a565b925084600001516001600160a01b031687336001600160a01b03167fef587cef10792e7797a3168a3ab689404f987e9c970f1721af08257396ff316b8460c0015189602001518660600151336040516137739493929190618c94565b60405180910390a450806137868161887b565b9150506135b8565b508083610100018181516137a29190618ae4565b9052506000858152609860209081526040909120845181546001600160a01b0319166001600160a01b0390911617815584820151805186936137eb926001850192910190618182565b506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0830151600683015560e083015160078301556101008084015160088401556101208401516009840155610140840151600a8401805461016087015161018088015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0840151600b840180546001600160a01b03199081169284169290921790556101c0850151600c8501805490921692169190911790556101e090920151600d90910155518181523390869082907f8166bf25f8a2b7ed3c85049207da4358d16edbed977d23fa2ee6f0dde3ec21329060200160405180910390a482600001516001600160a01b031685336001600160a01b03167fa15948d1d14e69bbd64dbf5b876e5207a0f97ef5d030ecb24706c4b6cfbd76d68660200151853360405161396093929190618c61565b60405180910390a4505050506123556001606555565b60008281526098602090815260408083208151610200810190925280546001600160a01b031682526001810180548594840191906139b390618ccf565b80601f01602080910402602001604051908101604052809291908181526020018280546139df90618ccf565b8015613a2c5780601f10613a0157610100808354040283529160200191613a2c565b820191906000526020600020905b815481529060010190602001808311613a0f57829003601f168201915b50505091835250506002828101546020808401919091526003808501546040808601919091526004808701546060808801919091526005880154608080890191909152600689015460a0808a019190915260078a015460c08a015260088a015460e08a015260098a0154610100808b0191909152600a8b015460ff80821615156101208d015291810490911615156101408b01526001600160a01b036201000090910481166101608b0152600b8b015481166101808b0152600c8b015481166101a08b0152600d909a01546101c09099019890985260008e8152609c87528481208e8b1680835290885285822086519a8b01875280548b526001818101548c8b0152998101548b88015296870154938a019390935294830154908801528c8452609d85528284209084528452818320825180840184528154815295015485850152878201518c8452609a8552828420548351636b303b1160e11b81529351999a50969895979096939593169363d6607622938383019391929091829003018186803b158015613bba57600080fd5b505afa158015613bce573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613bf2919061884c565b6000898152609a602052604090205460808701519192506001600160a01b0316319043118015613c25575060a086015115155b15613c76576000613c368383618ae4565b90508660c001518760a00151613c4c9190618b5a565b613c5e670de0b6b3a764000083618aa3565b613c689190618ac2565b613c729085618b5a565b9350505b60208501518451865160009291670de0b6b3a7640000918791613c9891618b5a565b613ca29190618aa3565b613cac9190618ac2565b613cb69190618ae4565b9050808660400151613cc89190618b5a565b9a9950505050505050505050565b6000818152609860209081526040808320546001600160a01b0316835260a2909152902054819015801590613d2e57506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b613d4a5760405162461bcd60e51b8152600401610c6490618dd3565b6000828152609860205260409020600a01548290610100900460ff1615613d835760405162461bcd60e51b8152600401610c6490618baa565b6000838152609860205260409020600a8101546201000090046001600160a01b03163314613df35760405162461bcd60e51b815260206004820152601f60248201527f5354414b494e473a2043616c6c6572206973206e6f7420427265616b65722e006044820152606401610c64565b600a8101805461ff0019166101001790556040517fc922c5a8787467d023ec052943d03d56304831aa57e4951bfac4b59f4504b8de90613e369086815260200190565b60405180910390a150505050565b613e4c616d68565b6000818152609860209081526040808320546001600160a01b0316835260a2909152902054819015801590613ea457506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b613ec05760405162461bcd60e51b8152600401610c6490618dd3565b600082815260986020818152604080842080546001600160a01b03908116865260a2845282862086905587865260aa84528286208054600160ff199182168117909255609a8652848820548316885260a786528488208054909116905583516102008101855287815284518087018652888152818701908152948101889052606081018890526080810188905260a0810188905260c0810188905260e08101889052610100810188905261012081018890526101408101889052610160810188905261018081018890526101a081018890526101c081018890526101e0810188905296899052948452855182546001600160a01b0319169116178155905180519193613fd29390850192910190618182565b506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0830151600683015560e083015160078301556101008084015160088401556101208401516009840155610140840151600a8401805461016087015161018088015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0840151600b840180546001600160a01b03199081169284169290921790556101c0850151600c85018054831691909316179091556101e090930151600d909201919091556000848152609a6020529081208054909216909155609b8054916140e583618afb565b9091555050609980549060006140fa83618afb565b91905055505050565b6000818152609a602052604090205481906001600160a01b0316604051633838d9c760e21b81523360048201526001600160a01b03919091169063e0e3671c9060240160206040518083038186803b15801561415e57600080fd5b505afa158015614172573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906141969190618a5d565b6141b25760405162461bcd60e51b8152600401610c6490618f3f565b6000828152609860209081526040808320546001600160a01b0316835260a290915290205482901580159061420a57506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b6142265760405162461bcd60e51b8152600401610c6490618dd3565b6000838152609860205260409020600a01548390610100900460ff161561425f5760405162461bcd60e51b8152600401610c6490618baa565b600084815260a360205260409020600101544310156142d05760405162461bcd60e51b815260206004820152602760248201527f5354414b494e473a20466565526174696f2072657175657374206973206e6f74604482015266103932b0b23c9760c91b6064820152608401610c64565b600084815260a3602052604090206001015461433c5760405162461bcd60e51b815260206004820152602560248201527f5354414b494e473a20466565526174696f2072657175657374206973206e6f746044820152641039b2ba1760d91b6064820152608401610c64565b600084815260a3602052604090205461271010156143935760405162461bcd60e51b81526020600482015260146024820152731999594814985d1a5bc81a5cc81a5b9d985b1a5960621b6044820152606401610c64565b60008481526098602090815260408083206009015460a3835292819020548151888152928301939093528101919091527f296f9f457500ba7dd9bcfdf1e897874a0a611ee73f7a723adce051f964af0af19060600160405180910390a1505050600090815260a3602081815260408084208054609884529185206009019190915591905281815560010155565b614428616d68565b609e80549082905560408051828152602081018490527f91b6e21be1cf0ccbda3d361510e005fdd207fced2dbd50f2cc70d6c868506a8d910160405180910390a15050565b614475616d68565b6001600160a01b0381166144cb5760405162461bcd60e51b815260206004820152601860248201527f496e76616c696420636f6e7472616374206164647265737300000000000000006044820152606401610c64565b60a980546001600160a01b0319166001600160a01b0392909216919091179055565b60008281526098602090815260408083208151610200810190925280546001600160a01b0316825260018101805485948401919061452a90618ccf565b80601f016020809104026020016040519081016040528092919081815260200182805461455690618ccf565b80156145a35780601f10614578576101008083540402835291602001916145a3565b820191906000526020600020905b81548152906001019060200180831161458657829003601f168201915b50505091835250506002828101546020808401919091526003808501546040808601919091526004808701546060808801919091526005880154608080890191909152600689015460a0808a019190915260078a015460c08a015260088a015460e08a015260098a0154610100808b0191909152600a8b015460ff80821615156101208d015291810490911615156101408b01526001600160a01b036201000090910481166101608b0152600b8b015481166101808b0152600c8b015481166101a08b0152600d909a01546101c09099019890985260008e8152609c87528481208e8b1680835290885285822086519a8b01875280548b526001818101548c8b0152998101548b88015296870154938a019390935294830154908801528c8452609d85528284209084528452818320825180840184528154815295015485850152878201518c8452609a8552828420548351636b303b1160e11b81529351999a5096989597939690958795919094169363d6607622938084019390829003018186803b15801561473257600080fd5b505afa158015614746573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061476a919061884c565b60008a8152609a602052604090205460808801519192506001600160a01b031631904311801561479d575060a087015115155b156147ee5760006147ae8383618ae4565b90508760c001518860a001516147c49190618b5a565b6147d6670de0b6b3a764000083618aa3565b6147e09190618ac2565b6147ea9085618b5a565b9350505b60208601518551875160009291670de0b6b3a764000091879161481091618b5a565b61481a9190618aa3565b6148249190618ac2565b61482e9190618ae4565b90508087604001516148409190618b5a565b9450600061271060a454876148559190618aa3565b61485f9190618ac2565b905060006127108a610120015183896148789190618ae4565b6148829190618aa3565b61488c9190618ac2565b9050806148998389618ae4565b6148a39190618ae4565b9d9c50505050505050505050505050565b6148bc616d68565b6301e13380811061490f5760405162461bcd60e51b815260206004820152601760248201527f556e626f6e642074696d6520697320746f6f206c6f6e670000000000000000006044820152606401610c64565b6000828152609860209081526040918290206007810184905591518381527fca069204e7668fb304b94c0151edae97b9dda3684f202e63c7a3be4d5338e82d91015b60405180910390a1505050565b6000828152609a602052604090205482906001600160a01b0316604051633838d9c760e21b81523360048201526001600160a01b03919091169063e0e3671c9060240160206040518083038186803b1580156149b957600080fd5b505afa1580156149cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906149f19190618a5d565b614a0d5760405162461bcd60e51b8152600401610c6490618f3f565b6000838152609860209081526040808320546001600160a01b0316835260a2909152902054839015801590614a6557506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b614a815760405162461bcd60e51b8152600401610c6490618dd3565b6000848152609860205260409020600a01548490610100900460ff1615614aba5760405162461bcd60e51b8152600401610c6490618baa565b60008581526098602052604090206009015415614b2d5761271084108015614b0c57506000858152609860205260409020600901548490606490614aff906096618aa3565b614b099190618ac2565b10155b614b285760405162461bcd60e51b8152600401610c6490618f8a565b614b4e565b6064841115614b4e5760405162461bcd60e51b8152600401610c6490618f8a565b60008581526098602052604090206009015460a6547f23aa461670ce7c526c458c0e659d05218b58182dc9f88f55a7866c776137b5189187918790614b939043618b5a565b60408051948552602085019390935291830152606082015260800160405180910390a1604051806040016040528085815260200160a65443614bd59190618b5a565b9052600095865260a3602090815260409096208151815595015160019095019490945550505050565b600054610100900460ff1615808015614c1e5750600054600160ff909116105b80614c385750303b158015614c38575060005460ff166001145b614c9b5760405162461bcd60e51b815260206004820152602e60248201527f496e697469616c697a61626c653a20636f6e747261637420697320616c72656160448201526d191e481a5b9a5d1a585b1a5e995960921b6064820152608401610c64565b6000805460ff191660011790558015614cbe576000805461ff0019166101001790555b6103e8609e5560016097556001600160a01b038416614d335760405162461bcd60e51b815260206004820152602b60248201527f526567697374727920616464726573732073686f756c64206e6f74206265207a60448201526a65726f206164647265737360a81b6064820152608401610c64565b6001600160a01b038216614daf5760405162461bcd60e51b815260206004820152603860248201527f506c6174666f726d46656520636f6c6c6563746f72206164647265737320736860448201527f6f756c64206e6f74206265207a65726f206164647265737300000000000000006064820152608401610c64565b60a980546001600160a01b038087166001600160a01b03199283161790925560a685905560a5805492851692909116919091179055614dec6180cd565b614df46180fc565b8015612a23576000805461ff0019169055604051600181527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb384740249890602001613e36565b614e3e6172b5565b6000868152609860205260409020600a01548690610100900460ff1615614e775760405162461bcd60e51b8152600401610c6490618baa565b86602514158015614e89575086602814155b614ea55760405162461bcd60e51b8152600401610c64906189ef565b6000868152609860205260409020546001600160a01b0316614ed95760405162461bcd60e51b8152600401610c6490618a26565b600087815260aa602052604090205460ff16158015614f075750600086815260aa602052604090205460ff16155b614f235760405162461bcd60e51b8152600401610c6490618a7a565b614f3a60008051602061913d833981519152616dc2565b60008781526098602052604090819020549051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b158015614f8b57600080fd5b505afa158015614f9f573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190614fc39190618a5d565b614fcc57600191505b6000614fd78861250c565b9050856150635760a15460405163366b8e7760e01b8152600481018a90523360248201526001600160a01b039091169063366b8e779060440160206040518083038186803b15801561502857600080fd5b505afa15801561503c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615060919061884c565b95505b60a1546040516399a904b560e01b8152600481018890526000916001600160a01b0316906399a904b59060240160e06040518083038186803b1580156150a857600080fd5b505afa1580156150bc573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906150e09190618bd7565b90508881602001511480156150f85750878160400151145b6151405760405162461bcd60e51b815260206004820152601960248201527814d51052d25391ce88125b9d985b1a59081d1bdad95b881a59603a1b6044820152606401610c64565b60a154604051632770a7eb60e21b8152336004820152602481018990526001600160a01b0390911690639dc29fac90604401600060405180830381600087803b15801561518c57600080fd5b505af11580156151a0573d6000803e3d6000fd5b50505050806060015182610100018181516151bb9190618ae4565b9052506000898152609860209081526040909120835181546001600160a01b0319166001600160a01b039091161781558382015180518593615204926001850192910190618182565b506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0830151600683015560e083015160078301556101008084015160088401556101208401516009840155610140840151600a8401805461016087015161018088015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0840151600b840180546001600160a01b03199081169284169290921790556101c0850151600c850180549092169083161790556101e090930151600d9092019190915560008a81526098602090815282822083516102008101909452805490941683526001840180549294929184019161532990618ccf565b80601f016020809104026020016040519081016040528092919081815260200182805461535590618ccf565b80156153a25780601f10615377576101008083540402835291602001916153a2565b820191906000526020600020905b81548152906001019060200180831161538557829003601f168201915b505050918352505060028201546020820152600382015460408201526004820154606082015260058201546080820152600682015460a0820152600782015460c0820152600882015460e0820152600982015461010080830191909152600a83015460ff808216151561012085015291810490911615156101408301526001600160a01b03620100009091048116610160830152600b8301548116610180830152600c830154166101a0820152600d909101546101c0909101529050841561548257606082015161547d906001600160a01b03891690617aa9565b615509565b6154928983606001518989616e3f565b6154a5665374616b696e6760c81b616dc2565b606083015182516040516317589e6760e31b81526001600160a01b03918216600482015292169163bac4f33891906024016000604051808303818588803b1580156154ef57600080fd5b505af1158015615503573d6000803e3d6000fd5b50505050505b82600001516001600160a01b03168a336001600160a01b03167fca601466957ac7479a512a78ccdfe5ff30b35a68a0e08739e27eecd305dc250286602001518d8660200151876000015189606001518f8e60405161556d9796959493929190618fdf565b60405180910390a4505050506155836001606555565b505050505050565b6000828152609c602090815260408083206001600160a01b038516808552908352818420825160a0810184528154815260018083015482870152600283015482860152600383015460608301526004909201546080820152878652609d85528386209286529184528285208351808501909452805484520154928201839052914381141561561f5760009350505050611ff6565b609e5483516301e13380916103e8916156388543618ae4565b6156429190618aa3565b61564c9190618aa3565b6156569190618ac2565b6156609190618ac2565b9695505050505050565b6000828152609a602052604090205482906001600160a01b0316604051633838d9c760e21b81523360048201526001600160a01b03919091169063e0e3671c9060240160206040518083038186803b1580156156c557600080fd5b505afa1580156156d9573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906156fd9190618a5d565b6157195760405162461bcd60e51b8152600401610c6490618f3f565b6000838152609860209081526040808320546001600160a01b0316835260a290915290205483901580159061577157506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b61578d5760405162461bcd60e51b8152600401610c6490618dd3565b6001600160a01b038316158015906157c257506000848152609860205260409020600c01546001600160a01b03848116911614155b6158245760405162461bcd60e51b815260206004820152602d60248201527f5374616b696e673a3a736574466565436f6c6c6563746f723a2053414d455f4660448201526c22a2afa1a7a62622a1aa27a91760991b6064820152608401610c64565b600084815260986020908152604091829020600c015482516001600160a01b039182168152908616918101919091527f9ea5568f737dfb292c6112b470f5deda06c5b264cdc5b29687cbf6f27a73964d910160405180910390a15050600091825260986020526040909120600c0180546001600160a01b0319166001600160a01b03909216919091179055565b6158b96172b5565b6000828152609860205260409020600a01548290610100900460ff16156158f25760405162461bcd60e51b8152600401610c6490618baa565b82602514158015615904575082602814155b6159205760405162461bcd60e51b8152600401610c64906189ef565b600083815260aa602052604090205460ff161561594f5760405162461bcd60e51b8152600401610c6490618a7a565b6000838152609a602052604090205433906001600160a01b03166040516341f02c3d60e01b81523360048201526001600160a01b0391909116906341f02c3d9060240160206040518083038186803b1580156159aa57600080fd5b505afa1580156159be573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906159e2919061884c565b15615a0457506000838152609860205260409020546001600160a01b03169150815b615a1081858686617bc2565b50506119886001606555565b615a246172b5565b6000828152609860205260409020600a01548290610100900460ff1615615a5d5760405162461bcd60e51b8152600401610c6490618baa565b82602514158015615a6f575082602814155b615ac55760405162461bcd60e51b815260206004820152602160248201527f333720616e64203430277320636c61696d2069732073746f7020666f72206e6f6044820152607760f81b6064820152608401610c64565b600083815260aa602052604090205460ff1615615af45760405162461bcd60e51b8152600401610c6490618a7a565b336000615b008561250c565b6000868152609a60205260409020549091506001600160a01b03166040516341f02c3d60e01b81523360048201526001600160a01b0391909116906341f02c3d9060240160206040518083038186803b158015615b5c57600080fd5b505afa158015615b70573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190615b94919061884c565b15615ba157805133945091505b6000858152609c602090815260408083206001600160a01b038616808552908352818420898552609d845282852091855290835281842082518084019093528054835260010154928201929092529091615bfb8888617633565b5050825415615c1657615c138886896001600061730f565b90505b604084015182518454670de0b6b3a76400009291615c3391618b5a565b615c3d9190618aa3565b615c479190618ac2565b6001840155604080518281526001600160a01b0389811660208301528a92908816917fb6fe5ce185a3773d47e919f57c7edfd102c91cb7833b2be405c4de89d9980fd7910160405180910390a383600001516001600160a01b031688866001600160a01b03167fe961cb02445c7409dd07ee99c64a4364c3ed8a37a4dd253399a0294940fb0e158760200151858c60405161197093929190618c61565b6000818152609860209081526040808320546001600160a01b0316835260a2909152902054819015801590615d3c57506000818152609860209081526040808320546001600160a01b0316835260a290915290205481145b615d585760405162461bcd60e51b8152600401610c6490618dd3565b6000828152609860205260409020600a8101546201000090046001600160a01b03163314615dc85760405162461bcd60e51b815260206004820152601f60248201527f5354414b494e473a2043616c6c6572206973206e6f7420427265616b65722e006044820152606401610c64565b600a810154610100900460ff16615e215760405162461bcd60e51b815260206004820152601760248201527f5354414b494e473a204e4f5420454d455247454e4359210000000000000000006044820152606401610c64565b600a8101805461ff00191690556040518381527f52613aaecab5fb2266a6af7218485e10b66ff1b0a5042c54ddf21a221951b8fb90602001614951565b6000615e686172b5565b6000878152609860205260409020600a01548790610100900460ff1615615ea15760405162461bcd60e51b8152600401610c6490618baa565b87602514158015615eb3575087602814155b615ecf5760405162461bcd60e51b8152600401610c64906189ef565b86602514158015615ee1575086602814155b615efd5760405162461bcd60e51b8152600401610c64906189ef565b33600081815260a26020908152604080832054835260989091529020546001600160a01b03161415615f7d5760405162461bcd60e51b8152602060048201526024808201527f5354414b494e473a204e43502063616e6e6f74207769746864726177207265716044820152631d595cdd60e21b6064820152608401610c64565b6000615f888961250c565b60008a8152609c60209081526040808320338085529083528184208e8552609d8452828520918552908352928190208151808301909252805482526001015491810191909152825192935090916001600160a01b0316615ffa5760405162461bcd60e51b8152600401610c6490618a26565b81548911156160435760405162461bcd60e51b815260206004820152601560248201527414d51052d25391ce8815dc9bdb99c8185b5bdd5b9d605a1b6044820152606401610c64565b600089116160a45760405162461bcd60e51b815260206004820152602860248201527f5354414b494e473a20416d6f756e742073686f756c6420626520677265617465604482015267072207468616e20360c41b6064820152608401610c64565b6160bb60008051602061913d833981519152616dc2565b8351604051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b1580156160fe57600080fd5b505afa158015616112573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906161369190618a5d565b6161c357815489146161ba5760405162461bcd60e51b815260206004820152604160248201527f5354414b494e473a20576974686472617720616d6f756e742073686f756c642060448201527f626520657175616c20746f20746f74616c2062616c616e6365206f66207573656064820152603960f91b608482015260a401610c64565b6000955061627f565b6161da60008051602061913d833981519152616dc2565b60008b81526098602052604090819020549051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b15801561622b57600080fd5b505afa15801561623f573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906162639190618a5d565b61627f5760405162461bcd60e51b8152600401610c6490619040565b81548914801561628d575085155b1561629757600196505b815460009015616326576162af8c338b8b600161730f565b90506162bb8c33617633565b845481519296509093506000916162d3908d90618aa3565b6162dd9190618ac2565b905080836000018181516162f19190618ae4565b90525060c085018051829190616308908390618ae4565b90525083548b90859060009061631f908490618ae4565b9091555050505b8254616341576101e0840180519061633d82618afb565b9052505b61635860008051602061913d833981519152616dc2565b604051636f1e853360e01b81523360048201526001600160a01b039190911690636f1e85339060240160206040518083038186803b15801561639957600080fd5b505afa1580156163ad573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906163d19190618a5d565b1561647d576163ed60008051602061913d833981519152616dc2565b6001600160a01b031663af6af2ff6040518163ffffffff1660e01b815260040160206040518083038186803b15801561642557600080fd5b505afa158015616439573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061645d919061884c565b8354101561647d5760405162461bcd60e51b8152600401610c6490618b12565b604084015182518454670de0b6b3a7640000929161649a91618b5a565b6164a49190618aa3565b6164ae9190618ac2565b60018401556164ca60008051602061913d833981519152616dc2565b8451604051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b15801561650d57600080fd5b505afa158015616521573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906165459190618a5d565b61681b5761655c661390d4115e1a5d60ca1b616dc2565b845160405163b007a5ad60e01b81526001600160a01b039182166004820152336024820152604481018d905291169063b007a5ad90606401600060405180830381600087803b1580156165ae57600080fd5b505af11580156165c2573d6000803e3d6000fd5b50505050898460a0018181516165d89190618ae4565b905250610100840180518b91906165f0908390618b5a565b90525060008c8152609860209081526040909120855181546001600160a01b0319166001600160a01b039091161781558582015180518793616639926001850192910190618182565b5060408201518160020155606082015181600301556080820151816004015560a0820151816005015560c0820151816006015560e082015181600701556101008201518160080155610120820151816009015561014082015181600a0160006101000a81548160ff02191690831515021790555061016082015181600a0160016101000a81548160ff02191690831515021790555061018082015181600a0160026101000a8154816001600160a01b0302191690836001600160a01b031602179055506101a082015181600b0160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506101c082015181600c0160006101000a8154816001600160a01b0302191690836001600160a01b031602179055506101e082015181600d015590505081609d60008e81526020019081526020016000206000336001600160a01b03166001600160a01b03168152602001908152602001600020600082015181600001556020820151816001015590505083600001516001600160a01b03168c336001600160a01b03167f7fb6d33465c3dd0401464119b0b92c4387ed350c2adec5252e5bf8171e92c64387602001518e8e876040516168069493929190618b72565b60405180910390a46000955050505050616bdc565b61682e665374616b696e6760c81b616dc2565b8451604051637b498c1160e11b81526001600160a01b039182166004820152602481018d905291169063f693182290604401600060405180830381600087803b15801561687a57600080fd5b505af115801561688e573d6000803e3d6000fd5b5050505060a160009054906101000a90046001600160a01b03166001600160a01b031663f92883a2338e8e8e8960e001516040518663ffffffff1660e01b81526004016169089594939291906001600160a01b03959095168552602085019390935260408401919091526060830152608082015260a00190565b602060405180830381600087803b15801561692257600080fd5b505af1158015616936573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061695a919061884c565b9550898460a00181815161696e9190618ae4565b905250610100840180518b9190616986908390618b5a565b90525060008c8152609860209081526040909120855181546001600160a01b0319166001600160a01b0390911617815585820151805187936169cf926001850192910190618182565b506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0830151600683015560e083015160078301556101008084015160088401556101208401516009840155610140840151600a8401805461016087015161018088015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0840151600b840180546001600160a01b03199081169284169290921790556101c0850151600c8501805490921692169190911790556101e090920151600d9091015560008d8152609d602090815282822033835281529190208351815590830151600191909101558615616b13578715616b075760405162461bcd60e51b8152600401610c6490618e4f565b616b13338d8d8c617bc2565b8a8c1415616b7a5783600001516001600160a01b03168c336001600160a01b03167f1e7e9b1aed614b43859a77289e0409903cc1e561699c1720b52e5159c775bf1c87602001518e8e87604051616b6d9493929190618b72565b60405180910390a4616bd7565b83600001516001600160a01b03168c336001600160a01b03167fcdcd322b1831076abdc3f48a6915c650ab36a30c3abcd8410c80e9bd0e3a27c98e88602001518f8f88604051616bce959493929190619082565b60405180910390a45b505050505b506156606001606555565b616bef616d68565b60a154604080516001600160a01b03928316815291831660208301527f1244ee5c075c6820a81a0161fd7b6b09cea501142e7528a7c3c71e5b4445f9a5910160405180910390a160a180546001600160a01b0319166001600160a01b0392909216919091179055565b616c60616d68565b6001600160a01b038116616cc55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610c64565b6123558161807b565b616cd6616d68565b6127108110616d275760405162461bcd60e51b815260206004820152601b60248201527f496e76616c696420706c6174666f726d2066656520726174696f2e00000000006044820152606401610c64565b60a45460408051918252602082018390527fa2dbbcfd7f6351d78b15cbb21411c4ebed6f4abfac0d56cf6b3141e0df96590e910160405180910390a160a455565b6033546001600160a01b03163314612dd35760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e65726044820152606401610c64565b60a954604051630d2020dd60e01b8152600481018390526000916001600160a01b031690630d2020dd9060240160206040518083038186803b158015616e0757600080fd5b505afa158015616e1b573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611ff691906190c1565b6000848152609860205260409020546001600160a01b0316616e735760405162461bcd60e51b8152600401610c6490618a26565b616e8a60008051602061913d833981519152616dc2565b60008581526098602052604090819020549051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b158015616edb57600080fd5b505afa158015616eef573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190616f139190618a5d565b616f5a5760405162461bcd60e51b815260206004820152601860248201527705354414b494e473a20506f6f6c206973206e6f74204e43560441b6044820152606401610c64565b6000616f658561250c565b6000868152609c602090815260408083206001600160a01b0388168085529083528184208a8552609d845282852082865284529382902082518084019093528054835260010154928201929092529293509091903314801590616fca57506001841515145b15616fd457600093505b6004820154616fe4574360048301555b8261016001511561700d57831561700d5760405162461bcd60e51b8152600401610c6490618baa565b8154600090156170285761702588878888600161730f565b90505b6170328887617633565b84549195509250617052576101e0840180519061704e8261887b565b9052505b868360000160008282546170669190618b5a565b9091555050604084015182518454670de0b6b3a7640000929161708891618b5a565b6170929190618aa3565b61709c9190618ac2565b600184015560a0840180518891906170b5908390618b5a565b9052506000888152609860209081526040909120855181546001600160a01b0319166001600160a01b0390911617815585820151805187936170fe926001850192910190618182565b506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0830151600683015560e083015160078301556101008084015160088401556101208401516009840155610140840151600a8401805461016087015161018088015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0840151600b840180546001600160a01b03199081169284169290921790556101c0850151600c850180549092169083161790556101e090930151600d9092019190915560008a8152609d6020908152828220938a168083529381529082902085518155858201516001919091015581518a81529081018490528a9133917eab9ea1934a18c419ebd648dfd54350d24ab746230b97428774bd8d923f4eaf910160405180910390a483600001516001600160a01b031688336001600160a01b03167f6e6990fc966a7a3cb4933945cb1d7376a33191887e10e2c730772a919a642df387602001518b8b876040516172a39493929190618b72565b60405180910390a45050505050505050565b600260655414156173085760405162461bcd60e51b815260206004820152601f60248201527f5265656e7472616e637947756172643a207265656e7472616e742063616c6c006044820152606401610c64565b6002606555565b60008061731b8761250c565b6000888152609c602090815260408083206001600160a01b038b168085529083528184208c8552609d8452828520918552908352818420825180840184528154808252600190920154948101949094529185015181549596509094929392670de0b6b3a76400009261738c91618b5a565b6173969190618aa3565b6173a09190618ac2565b905060008360010154826173b49190618ae4565b9050808460020160008282546173ca9190618b5a565b909155505086156173fd57835483516173e491839161217a565b8460030160008282546173f79190618b5a565b90915550505b871561762557609a60008c815260200190815260200160002060009054906101000a90046001600160a01b03166001600160a01b031663de767cba8a8660020154886101c0015189610120015160a560009054906101000a90046001600160a01b031660a4546040518763ffffffff1660e01b81526004016174ba969594939291906001600160a01b039687168152602081019590955292851660408501526060840191909152909216608082015260a081019190915260c00190565b602060405180830381600087803b1580156174d457600080fd5b505af11580156174e8573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061750c919061884c565b95508a8a6001600160a01b03167f71bab65ced2e5750775a0613be067df48ef06cf92a496ebf7663ae0660924954866002015460405161754e91815260200190565b60405180910390a384600001516001600160a01b03168b8b6001600160a01b03167f85abadcb494c549ab54367d59ff0423186193c28e0be23ceaf151155ce708b14886020015188600201548e6040516175aa93929190618c61565b60405180910390a460006002808601829055600386018290554360048701558c825260986020908152604080842090920154609d82528284206001600160a01b038f1685529091529120548554670de0b6b3a7640000929161760b91618b5a565b6176159190618aa3565b61761f9190618ac2565b60018501555b505050505095945050505050565b61763b618206565b60408051808201909152600080825260208201526000848152609860209081526040918290208251610200810190935280546001600160a01b03168352600181018054919284019161768c90618ccf565b80601f01602080910402602001604051908101604052809291908181526020018280546176b890618ccf565b80156177055780601f106176da57610100808354040283529160200191617705565b820191906000526020600020905b8154815290600101906020018083116176e857829003601f168201915b50505091835250506002828101546020808401919091526003808501546040808601919091526004808701546060808801919091526005880154608080890191909152600689015460a0808a019190915260078a015460c08a015260088a015460e08a015260098a0154610100808b0191909152600a8b015460ff80821615156101208d01529181049091161515610140808c01919091526001600160a01b036201000090920482166101608c0152600b8c015482166101808c0152600c8c015482166101a08c0152600d909b01546101c0909a019990995260008f8152609c8852858120998f168082529988528581208651928301875280548352600181810154848b0152998101548388015296870154938201939093529490920154918401919091528b8152609d8452818120958152948352938490208451808601909552805485529092015490830152918301519294509250906178665750617a9b565b60208201516178b15750506000838152609d602090815260408083206001600160a01b0386168452825291829020436001820181905583518085019094529054835290820152617a9b565b8160200151431115617a995760006301e133806103e8609e5484600001518660200151436178df9190618ae4565b6178e99190618aa3565b6178f39190618aa3565b6178fd9190618ac2565b6179079190618ac2565b9050808360000181815161791b9190618b5a565b90525060c084018051829190617932908390618b5a565b9052504360208481019190915260008781526098825260409020855181546001600160a01b0319166001600160a01b039091161781558582015180518793617981926001850192910190618182565b506040828101516002830155606083015160038301556080830151600483015560a0830151600583015560c0830151600683015560e083015160078301556101008084015160088401556101208401516009840155610140840151600a8401805461016087015161018088015161ffff1990921693151561ff001916939093179215159093029190911762010000600160b01b031916620100006001600160a01b03938416021790556101a0840151600b840180546001600160a01b03199081169284169290921790556101c0850151600c850180549092169083161790556101e090930151600d909201919091556000888152609d6020908152828220938916825292835220845181559084015160019190910155505b505b9250929050565b6001606555565b80471015617af95760405162461bcd60e51b815260206004820152601d60248201527f416464726573733a20696e73756666696369656e742062616c616e63650000006044820152606401610c64565b6000826001600160a01b03168260405160006040518083038185875af1925050503d8060008114617b46576040519150601f19603f3d011682016040523d82523d6000602084013e617b4b565b606091505b5050905080611e405760405162461bcd60e51b815260206004820152603a60248201527f416464726573733a20756e61626c6520746f2073656e642076616c75652c207260448201527f6563697069656e74206d617920686176652072657665727465640000000000006064820152608401610c64565b6000828152609860205260409020546001600160a01b0316617bf65760405162461bcd60e51b8152600401610c6490618a26565b6000828152609860205260409020546001600160a01b0382811691161415617c605760405162461bcd60e51b815260206004820181905260248201527f5354414b494e473a204e43502063616e6e6f742075736520636f6d706f756e646044820152606401610c64565b617c7760008051602061913d833981519152616dc2565b60008481526098602052604090819020549051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b158015617cc857600080fd5b505afa158015617cdc573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190617d009190618a5d565b617d4c5760405162461bcd60e51b815260206004820152601860248201527f5354414b494e473a20706f6f6c206973206e6f74204e435000000000000000006044820152606401610c64565b617d6360008051602061913d833981519152616dc2565b60008381526098602052604090819020549051636f1e853360e01b81526001600160a01b039182166004820152911690636f1e85339060240160206040518083038186803b158015617db457600080fd5b505afa158015617dc8573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190617dec9190618a5d565b617e085760405162461bcd60e51b8152600401610c6490619040565b6000838152609c602090815260408083206001600160a01b0388168452909152812054151580617e8757506000848152609c602090815260408083206001600160a01b0389168452909152902054158015617e8757506000848152609c602090815260408083206001600160a01b038916845290915290206002015415155b15617fc957617e9b8486306001600061730f565b6000858152609c602090815260408083206001600160a01b038a168085529083528184208985526098845282852060020154609d85528386209286529190935292205481549394509092670de0b6b3a76400009291617ef991618b5a565b617f039190618aa3565b617f0d9190618ac2565b60018201558115617fc757617f258483856000616e3f565b6000848152609860205260409020546001600160a01b03848116911614617fc757617f59665374616b696e6760c81b616dc2565b600085815260986020526040908190205490516317589e6760e31b81526001600160a01b03918216600482015291169063bac4f3389084906024016000604051808303818588803b158015617fad57600080fd5b505af1158015617fc1573d6000803e3d6000fd5b50505050505b505b604080518281526001600160a01b0384811660208301528592908816917f2b0d8d3e7f210f5f25aae635205bcdf269d42aa3e71bdfe8c3f6e3066d0fc876910160405180910390a360008381526098602052604090819020805491516001600160a01b03928316928692908916917fcdf7a6c114fa35b32479fc8283e7279a0398d0a7dac6505ceff52176ab750f8c9161806c91600190910190879089906190de565b60405180910390a45050505050565b603380546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b600054610100900460ff166180f45760405162461bcd60e51b8152600401610c64906190f1565b612dd361812b565b600054610100900460ff166181235760405162461bcd60e51b8152600401610c64906190f1565b612dd361815b565b600054610100900460ff166181525760405162461bcd60e51b8152600401610c64906190f1565b612dd33361807b565b600054610100900460ff16617aa25760405162461bcd60e51b8152600401610c64906190f1565b82805461818e90618ccf565b90600052602060002090601f0160209004810192826181b057600085556181f6565b82601f106181c957805160ff19168380011785556181f6565b828001600101855582156181f6579182015b828111156181f65782518255916020019190600101906181db565b506182029291506182ab565b5090565b60405180610200016040528060006001600160a01b0316815260200160608152602001600081526020016000815260200160008152602001600081526020016000815260200160008152602001600081526020016000815260200160001515815260200160001515815260200160006001600160a01b0316815260200160006001600160a01b0316815260200160006001600160a01b03168152602001600081525090565b5b8082111561820257600081556001016182ac565b634e487b7160e01b600052604160045260246000fd5b604051610140810167ffffffffffffffff811182821017156182fa576182fa6182c0565b60405290565b604051601f8201601f1916810167ffffffffffffffff81118282101715618329576183296182c0565b604052919050565b6001600160a01b038116811461235557600080fd5b80356129e081618331565b801515811461235557600080fd5b80356129e081618351565b6000610140828403121561837d57600080fd5b6183856182d6565b61838e83618346565b8152602083013560208201526183a660408401618346565b60408201526183b760608401618346565b60608201526183c86080840161835f565b60808201526183d960a0840161835f565b60a08201526183ea60c08401618346565b60c08201526183fb60e08401618346565b60e08201526101008381013590820152610120928301359281019290925250919050565b6000806040838503121561843257600080fd5b82359150602083013561844481618331565b809150509250929050565b60008060006060848603121561846457600080fd5b8335925060208401359150604084013561847d81618331565b809150509250925092565b815181526020808301519082015260408101611ff6565b6000602082840312156184b157600080fd5b5035919050565b60005b838110156184d35781810151838201526020016184bb565b83811115612a235750506000910152565b600081518084526184fc8160208601602086016184b8565b601f01601f19169290920160200192915050565b6020815261852a6020820183516001600160a01b03169052565b600060208301516102008060408501526185486102208501836184e4565b91506040850151606085015260608501516080850152608085015160a085015260a085015160c085015260c085015160e085015260e08501516101008181870152808701519150506101208181870152808701519150506101408181870152808701519150506101606185be8187018315159052565b86015190506101806185d38682018315159052565b86015190506101a06185ef868201836001600160a01b03169052565b86015190506101c061860b868201836001600160a01b03169052565b86015190506101e0618627868201836001600160a01b03169052565b959095015193019290925250919050565b60008060006060848603121561864d57600080fd5b505081359360208301359350604090920135919050565b6000806020838503121561867757600080fd5b823567ffffffffffffffff8082111561868f57600080fd5b818501915085601f8301126186a357600080fd5b8135818111156186b257600080fd5b8660208260051b85010111156186c757600080fd5b60209290920196919550909350505050565b600080600080600060a086880312156186f157600080fd5b8535945060208601359350604086013561870a81618331565b9250606086013561871a81618351565b9150608086013561872a81618351565b809150509295509295909350565b60006020828403121561874a57600080fd5b81356121b381618331565b6000806040838503121561876857600080fd5b50508035926020909101359150565b60008060006060848603121561878c57600080fd5b833561879781618331565b925060208401359150604084013561847d81618331565b60008060008060008060c087890312156187c757600080fd5b86359550602087013594506040870135935060608701356187e781618331565b925060808701356187f781618351565b915060a087013561880781618351565b809150509295509295509295565b6020808252601d908201527f5354414b494e473a20416464726573732063616e6e6f7420626520302e000000604082015260600190565b60006020828403121561885e57600080fd5b5051919050565b634e487b7160e01b600052601160045260246000fd5b600060001982141561888f5761888f618865565b5060010190565b600082601f8301126188a757600080fd5b815167ffffffffffffffff8111156188c1576188c16182c0565b6188d4601f8201601f1916602001618300565b8181528460208386010111156188e957600080fd5b6188fa8260208301602087016184b8565b949350505050565b6000806000806080858703121561891857600080fd5b845167ffffffffffffffff8082111561893057600080fd5b61893c88838901618896565b9550602087015191508082111561895257600080fd5b61895e88838901618896565b9450604087015191508082111561897457600080fd5b5061898187828801618896565b606096909601519497939650505050565b60208082526038908201527f4f6e6c7920676f7665726e616e6365207374616b696e6720636f6e747261637460408201527f2063616e2063616c6c20746869732066756e6374696f6e2e0000000000000000606082015260800190565b60208082526019908201527f5354414b494e473a2033372c2034302069732073746f70656400000000000000604082015260600190565b6020808252601b908201527f5354414b494e473a20496e76616c696420746f20706f6f6c2069640000000000604082015260600190565b600060208284031215618a6f57600080fd5b81516121b381618351565b6020808252600f908201526e14995b5bdd995908141bdbdb081a59608a1b604082015260600190565b6000816000190483118215151615618abd57618abd618865565b500290565b600082618adf57634e487b7160e01b600052601260045260246000fd5b500490565b600082821015618af657618af6618865565b500390565b600081618b0a57618b0a618865565b506000190190565b60208082526028908201527f5354414b494e473a20496e73756666696369656e7420616d6f756e7420746f20604082015267776974686472617760c01b606082015260800190565b60008219821115618b6d57618b6d618865565b500190565b608081526000618b8560808301876184e4565b6020830195909552506001600160a01b03929092166040830152606090910152919050565b6020808252601390820152725354414b494e473a20454d455247454e43592160681b604082015260600190565b600060e08284031215618be957600080fd5b60405160e0810181811067ffffffffffffffff82111715618c0c57618c0c6182c0565b8060405250825181526020830151602082015260408301516040820152606083015160608201526080830151608082015260a083015160a082015260c0830151618c5581618331565b60c08201529392505050565b606081526000618c7460608301866184e4565b6020830194909452506001600160a01b0391909116604090910152919050565b600060018060a01b03808716835260806020840152618cb660808401876184e4565b6040840195909552929092166060909101525092915050565b600181811c90821680618ce357607f821691505b60208210811415618d0457634e487b7160e01b600052602260045260246000fd5b50919050565b8054600090600181811c9080831680618d2457607f831692505b6020808410821415618d4657634e487b7160e01b600052602260045260246000fd5b83885260208801828015618d615760018114618d7257618d9d565b60ff19871682528282019750618d9d565b60008981526020902060005b87811015618d9757815484820152908601908401618d7e565b83019850505b5050505050505092915050565b608081526000618b856080830187618d0a565b634e487b7160e01b600052603260045260246000fd5b6020808252601c908201527f5354414b494e473a20706f6f6c20646f6573206e6f7420657869737400000000604082015260600190565b60208082526025908201527f5354414b494e473a2043616c6c6572206973206e6f7420427265616b657253656040820152643a3a32b91760d91b606082015260800190565b6020808252602a908201527f5354414b494e473a2043616e6e6f7420636f6d706f756e64207768656e20636c604082015269185a5b481c995dd85c9960b21b606082015260800190565b60006020808385031215618eac57600080fd5b825167ffffffffffffffff80821115618ec457600080fd5b818501915085601f830112618ed857600080fd5b815181811115618eea57618eea6182c0565b8060051b9150618efb848301618300565b8181529183018401918481019088841115618f1557600080fd5b938501935b83851015618f3357845182529385019390850190618f1a565b98975050505050505050565b6020808252602b908201527f4f6e6c79207265776172646572206f776e65722063616e2063616c6c2074686960408201526a3990333ab731ba34b7b71760a91b606082015260800190565b60208082526035908201527f5374616b696e673a3a736574526577617264466565526174696f5265717565736040820152743a1d1024a72b20a624a22fa322a2afa920aa24a79760591b606082015260800190565b60e081526000618ff260e083018a6184e4565b886020840152828103604084015261900a81896184e4565b6001600160a01b039788166060850152608084019690965250509190931660a082015291151560c0909201919091529392505050565b60208082526022908201527f5354414b494e473a2052656465706f73697420706f6f6c206973206e6f74204e604082015261043560f41b606082015260800190565b85815260a06020820152600061909b60a08301876184e4565b6040830195909552506001600160a01b0392909216606083015260809091015292915050565b6000602082840312156190d357600080fd5b81516121b381618331565b606081526000618c746060830186618d0a565b6020808252602b908201527f496e697469616c697a61626c653a20636f6e7472616374206973206e6f74206960408201526a6e697469616c697a696e6760a81b60608201526080019056fe476f7665726e616e6365436f6e74726163740000000000000000000000000000a2646970667358221220c5bcf9f2358873089683b916105c9e8303175ddee2ec6289c0502417d865fcf064736f6c63430008090033