60806040523480156200001157600080fd5b5060405162005bbf38038062005bbf833981016040819052620000349162000550565b60016011556200004481620002d5565b156200006d5760405162461bcd60e51b8152600401620000649062000669565b60405180910390fd5b601481511115620000925760405162461bcd60e51b815260040162000064906200064c565b600d80546001600160a01b03199081166001600160a01b0386811691909117909255600880548216898416179055600c8054821687841617905560098054909116878316179081905560408051630dfe168160e01b815290519190921691630dfe1681916004828101926020929190829003018186803b1580156200011657600080fd5b505afa1580156200012b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200015191906200052a565b600a80546001600160a01b0319166001600160a01b039283161790556009546040805163d21220a760e01b81529051919092169163d21220a7916004808301926020929190829003018186803b158015620001ab57600080fd5b505afa158015620001c0573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620001e691906200052a565b600b80546001600160a01b0319166001600160a01b039290921691909117905562000215600e836002620003a1565b5060005b8151811015620002c857600460405180604001604052808484815181106200023d57fe5b60200260200101516000015160020b81526020018484815181106200025e57fe5b602090810291909101810151810151600290810b9092528354600181810186556000958652948290208451910180549490920151830b62ffffff90811663010000000265ffffff000000199290940b1662ffffff1990941693909317929092161790550162000219565b50505050505050620006c2565b6000805b82518110156200039a576000838281518110620002f257fe5b602002602001015160000151905060008483815181106200030f57fe5b602002602001015160200151905060005b838110156200038e578581815181106200033657fe5b60200260200101516000015160020b8360020b141562000385578581815181106200035d57fe5b60200260200101516020015160020b8260020b1415620003855760019450505050506200039c565b60010162000320565b505050600101620002d9565b505b919050565b600183019183908215620004285791602002820160005b83821115620003f757835183826101000a81548160ff0219169083151502179055509260200192600101602081600001049283019260010302620003b8565b8015620004265782816101000a81549060ff0219169055600101602081600001049283019260010302620003f7565b505b50620004369291506200043a565b5090565b5b808211156200043657600081556001016200043b565b600082601f83011262000462578081fd5b815160206001600160401b03808311156200047957fe5b62000488828385020162000685565b838152828101908684016040808702890186018a1015620004a7578788fd5b875b87811015620005085781838c031215620004c1578889fd5b81518281018181108882111715620004d557fe5b8352620004e28462000517565b8152620004f188850162000517565b8189015285529386019391810191600101620004a9565b50919998505050505050505050565b8051600281900b81146200039c57600080fd5b6000602082840312156200053c578081fd5b81516200054981620006a9565b9392505050565b60008060008060008060e0878903121562000569578182fd5b86516200057681620006a9565b809650506020808801516200058b81620006a9565b60408901519096506200059e81620006a9565b6060890151909550620005b181620006a9565b9350609f88018913620005c2578283fd5b620005ce604062000685565b8060808a0160c08b018c811115620005e4578687fd5b865b600281101562000613578251801515811462000600578889fd5b85529385019391850191600101620005e6565b505191955090925050506001600160401b0381111562000631578182fd5b6200063f89828a0162000451565b9150509295509295509295565b60208082526003908201526212551360ea1b604082015260600190565b602080825260029082015261125560f21b604082015260600190565b6040518181016001600160401b0381118282101715620006a157fe5b604052919050565b6001600160a01b0381168114620006bf57600080fd5b50565b6154ed80620006d26000396000f3fe608060405234801561001057600080fd5b50600436106101c25760003560e01c806305a10028146101c757806306fdde03146101f1578063095ea7b314610206578063167acf241461022657806316f0115b1461022e57806318160ddd1461024357806323b872dd1461024b578063313ce5671461025e57806339509351146102735780633d1c387b14610286578063443cb4bc1461029b578063481c6a75146102a3578063534cb30d146102ab57806356e3f54e146102cc57806359a73bf7146102e15780635a76f25e146102f45780635c388a72146102fc57806370a08231146103045780637fc50545146103175780638579f7ca1461031f57806395d89b411461032757806399d32fc41461032f5780639f9275ef14610337578063a457c2d71461034a578063a637196c1461035d578063a9059cbb14610380578063ae3dfa2814610393578063ba9a7a56146103b5578063bc191148146103bd578063bc25cf77146103d0578063bf8ceec5146103e3578063c45a0155146103f6578063ce52f63c146103fe578063d348799714610406578063daf20a5714610419578063dd62ed3e1461042c578063e63a391f1461043f578063fff6cae914610447575b600080fd5b6101da6101d5366004614c3c565b61044f565b6040516101e89291906152c7565b60405180910390f35b6101f9610685565b6040516101e89190614f09565b61021961021436600461480a565b61069a565b6040516101e89190614efe565b6101f96106b8565b6102366106be565b6040516101e89190614d2d565b6101f96106cd565b610219610259366004614713565b6106fe565b610266610795565b6040516101e89190615306565b61021961028136600461480a565b61079a565b61028e6107e8565b6040516101e89190614ea7565b6101f9610861565b610236610867565b6102be6102b9366004614b99565b610876565b6040516101e89291906150eb565b6102df6102da366004614753565b6108a6565b005b6102df6102ef3660046146db565b610c6c565b6101f9610d5c565b6101f9610d62565b6101f96103123660046146a3565b610d68565b610219610d87565b6101f9610d90565b6101f9610d95565b6102df610da3565b6102df6103453660046148cc565b610ecb565b61021961035836600461480a565b6113fc565b61037061036b366004614b99565b611465565b6040516101e894939291906152eb565b61021961038e36600461480a565b61163b565b6103a66103a1366004614c9c565b61164f565b6040516101e8939291906152d5565b6101f9611a0f565b6103706103cb366004614835565b611a18565b6102df6103de3660046146a3565b611de9565b6102196103f1366004614b99565b611ed4565b610236611efe565b6101f9611f0d565b6102df610414366004614bec565b611f13565b6102df61042736600461486d565b611ff3565b6101f961043a3660046146db565b6120a0565b6101f96120bd565b6102df6120c5565b60008060026011541415610498576040805162461bcd60e51b815260206004820152601f6024820152600080516020615364833981519152604482015290519081900360640190fd5b6002601155846104a733610d68565b101580156104b457508415155b6104d95760405162461bcd60e51b81526004016104d090615138565b60405180910390fd5b60008060005b60045481101561054b576000600482815481106104f857fe5b60009182526020822001805490925061052291600282810b9263010000009004900b908c9061221a565b5091955093506105349050868561253b565b9550610540858461253b565b9450506001016104df565b50600f54601054600061055c6106cd565b9050868311156105805761057d6105768885038c84612593565b889061253b565b96505b858211156105a25761059f6105988784038c84612593565b879061253b565b95505b8689111580156105b25750858811155b6105ce5760405162461bcd60e51b81526004016104d0906151fc565b6105d8338b612642565b86156105f557600a546105f5906001600160a01b031633896126e8565b851561061257600b54610612906001600160a01b031633886126e8565b600f5461061f908861282f565b600f5560105461062f908761282f565b60105560405133907f743033787f4738ff4d6a7225ce2bd0977ee5f86b91a902a58f5e4d0b297b464490610668908d908b908b906152d5565b60405180910390a250505050506001601181905550935093915050565b6d446566694564676520536861726560901b81565b60006106ae6106a761288c565b8484612890565b5060015b92915050565b60065481565b6009546001600160a01b031681565b60006106f86007546106f26006546106f260055460025461253b90919063ffffffff16565b9061253b565b90505b90565b600061070b8484846128f2565b61078a8461071761288c565b61078585604051806040016040528060018152602001606160f81b815250600160008b6001600160a01b03166001600160a01b03168152602001908152602001600020600061076461288c565b6001600160a01b0316815260208101919091526040016000205491906129b1565b612890565b5060015b9392505050565b601281565b60006106ae6107a761288c565b8461078585600160006107b861288c565b6001600160a01b03908116825260208083019390935260409182016000908120918c16815292529020549061253b565b60606004805480602002602001604051908101604052809291908181526020016000905b828210156108585760008481526020908190206040805180820190915290840154600281810b810b810b83526301000000909104810b810b900b8183015282526001909201910161080c565b50505050905090565b600f5481565b600d546001600160a01b031681565b6004818154811061088657600080fd5b600091825260209091200154600281810b92506301000000909104900b82565b6108ae612a48565b801561093d5750600860009054906101000a90046001600160a01b03166001600160a01b03166313a82bc56040518163ffffffff1660e01b815260040160206040518083038186803b15801561090357600080fd5b505afa158015610917573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061093b9190614851565b155b61094657600080fd5b8015610b4e5760005b81811015610b4c57600083838381811061096557fe5b90506080020180360381019061097b9190614a8d565b600954815160208301519293506000926001600160a01b039092169163514ea4bf916109a991309190612ae4565b6040518263ffffffff1660e01b81526004016109c59190614f09565b60a06040518083038186803b1580156109dd57600080fd5b505afa1580156109f1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610a159190614b43565b50506009548551602087015160405163a34123a760e01b81529596506001600160a01b039092169463a34123a79450610a56935090919086906004016150ff565b6040805180830381600087803b158015610a6f57600080fd5b505af1158015610a83573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610aa79190614bc9565b5050600954825160208401516040516309e3d67b60e31b81526001600160a01b0390931692634f1eb3d892610aeb9230926001600160801b03908190600401614da0565b6040805180830381600087803b158015610b0457600080fd5b505af1158015610b18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b3c9190614b11565b50506001909201915061094f9050565b505b8215610b5f57610b5f8585856126e8565b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190610b8f903090600401614d2d565b60206040518083038186803b158015610ba757600080fd5b505afa158015610bbb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bdf9190614bb1565b600f55600b546040516370a0823160e01b81526001600160a01b03909116906370a0823190610c12903090600401614d2d565b60206040518083038186803b158015610c2a57600080fd5b505afa158015610c3e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c629190614bb1565b6010555050505050565b610c74612a48565b610c7d57600080fd5b600a546001600160a01b03838116911614801590610ca95750600b546001600160a01b03838116911614155b610cc55760405162461bcd60e51b81526004016104d090615250565b6040516370a0823160e01b81526000906001600160a01b038416906370a0823190610cf4903090600401614d2d565b60206040518083038186803b158015610d0c57600080fd5b505afa158015610d20573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610d449190614bb1565b90508015610d5757610d578383836126e8565b505050565b60105481565b60075481565b6001600160a01b0381166000908152602081905260409020545b919050565b60035460ff1681565b601481565b664445536861726560c81b81565b600854600d54600554600654600754604051632a016b7960e21b81526000958695869586957375baaa17fc5135d9377c10cf1bac9334bd8fd4a09563a805ade495610e01956001600160a01b03908116951693929190600401614f9c565b60806040518083038186803b158015610e1957600080fd5b505af4158015610e2d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610e5191906147c3565b93509350935093506000821115610e6c57610e6c8483612b35565b8015610e7c57610e7c8382612b35565b6000600581905560068190556007556040517f48b06b1a71c95ebd2ca58625da601bd9103a72670daa6d769054365cd81d5e3990610ebd90849084906152c7565b60405180910390a150505050565b60026011541415610f11576040805162461bcd60e51b815260206004820152601f6024820152600080516020615364833981519152604482015290519081900360640190fd5b6002601155610f1e612bb8565b610f3a5760405162461bcd60e51b81526004016104d0906151aa565b610f42612c44565b15610f5f5760405162461bcd60e51b81526004016104d090615288565b8015610fce578315610f835760405162461bcd60e51b81526004016104d0906151e0565b6003805460ff19166001179055610f98612c75565b610fa46004600061457c565b6040517f11f465e766ea3db0c8e7ec9feeeb4a40a061dd0d533d8e238d8e51627e34846990600090a15b8515610fe157610fe18a8a8a8a8a612d80565b83156112965760005b8481101561125b5780156110445785858281811061100457fe5b9050608002016000013586866001840381811061101d57fe5b90506080020160000135116110445760405162461bcd60e51b81526004016104d090615155565b6000600487878481811061105457fe5b905060800201600001358154811061106857fe5b600091825260209182902060408051808201909152910154600281810b810b810b83526301000000909104810b810b900b9181019190915290508686838181106110ae57fe5b90506080020160200160208101906110c69190614835565b156110ee576110e98787848181106110da57fe5b905060800201600001356133fe565b505050505b60008787848181106110fc57fe5b9050608002016040013511806111275750600087878481811061111b57fe5b90506080020160600135115b156111725761116b8160000151826020015189898681811061114557fe5b905060800201604001358a8a8781811061115b57fe5b9050608002016060013530613507565b5050611252565b86868381811061117e57fe5b90506080020160200160208101906111969190614835565b15611252576004805460001981019081106111ad57fe5b9060005260206000200160048888858181106111c557fe5b90506080020160000135815481106111d957fe5b6000918252602090912082549101805462ffffff191662ffffff600293840b840b811691909117808355935465ffffff00000019909416630100000094859004840b90930b16909202179055600480548061123057fe5b6000828152602090208101600019908101805465ffffffffffff191690550190555b50600101610fea565b507fc164ad37eb8a406203b8ca3874be2fcb034f4eeb7db0ef3478359e329b4eb351858560405161128d929190614e4e565b60405180910390a15b8115611331576112f78383808060200260200160405190810160405280939291908181526020016000905b828210156112ed576112de60808302860136819003810190614a8d565b815260200190600101906112c1565b505050505061369f565b7f852383cff866ad1535b2b0a4d3b1e6b4d46d064745e607b3c6daa715af9b412d8383604051611328929190614ddd565b60405180910390a15b6113ab6004805480602002602001604051908101604052809291908181526020016000905b828210156113a25760008481526020908190206040805180820190915290840154600281810b810b810b83526301000000909104810b810b900b81830152825260019092019101611356565b505050506137a7565b156113c85760405162461bcd60e51b81526004016104d090615250565b600454601e10156113eb5760405162461bcd60e51b81526004016104d090615233565b505060016011555050505050505050565b60006106ae61140961288c565b8461078585604051806040016040528060018152602001606160f81b8152506001600061143461288c565b6001600160a01b03908116825260208083019390935260409182016000908120918d168152925290205491906129b1565b600080600080600260115414156114b1576040805162461bcd60e51b815260206004820152601f6024820152600080516020615364833981519152604482015290519081900360640190fd5b60026011556114be613867565b156114db5760405162461bcd60e51b81526004016104d09061518f565b600d54604051631ca536b960e01b81526001600160a01b0390911690631ca536b99061150b903390600401614d2d565b60206040518083038186803b15801561152357600080fd5b505afa158015611537573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061155b9190614851565b6115775760405162461bcd60e51b81526004016104d0906151aa565b611580856133fe565b60048054949850929650909450925090600019810190811061159e57fe5b90600052602060002001600486815481106115b557fe5b6000918252602090912082549101805462ffffff191662ffffff600293840b840b811691909117808355935465ffffff00000019909416630100000094859004840b90930b16909202179055600480548061160c57fe5b6000828152602090208101600019908101805465ffffffffffff19169055019055600160115592949193509190565b60006106ae61164861288c565b84846128f2565b60008060006002601154141561169a576040805162461bcd60e51b815260206004820152601f6024820152600080516020615364833981519152604482015290519081900360640190fd5b60026011556116a7612c44565b156116c45760405162461bcd60e51b81526004016104d090615288565b600d54604051631a7cd8dd60e11b81526001600160a01b03909116906334f9b1ba906116f4903390600401614d2d565b60206040518083038186803b15801561170c57600080fd5b505afa158015611720573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117449190614851565b6117605760405162461bcd60e51b81526004016104d090615217565b604051631783222960e31b81526000908190309063bc1911489061178990600190600401614efe565b608060405180830381600087803b1580156117a357600080fd5b505af11580156117b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117db9190614c67565b50509150915060008a1180156117f15750600089115b80156117fe575060045415155b1561184a576000600460008154811061181357fe5b6000918252602090912001805490915061183e90600281810b9163010000009004900b8d8d33613507565b90965094506118ad9050565b899450889350841561186e57600a5461186e906001600160a01b03163330886138f2565b831561188c57600b5461188c906001600160a01b03163330876138f2565b600f54611899908661253b565b600f556010546118a9908561253b565b6010555b6118ba8585848433613a4a565b9250858310156118dc5760405162461bcd60e51b81526004016104d09061526c565b8785101580156118ec5750868410155b6119085760405162461bcd60e51b81526004016104d0906151fc565b600d546040805163a4d66daf60e01b815290516000926001600160a01b03169163a4d66daf916004808301926020929190829003018186803b15801561194d57600080fd5b505afa158015611961573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119859190614bb1565b905080156119b457806119966106cd565b11156119b45760405162461bcd60e51b81526004016104d0906151c5565b336001600160a01b03167fb4c03061fb5b7fed76389d5af8f2e0ddb09f8c70d1333abbb62582835e10accb8588886040516119f1939291906152d5565b60405180910390a25050506001601181905550955095509592505050565b64e8d4a5100081565b600f54601054600080805b600454811015611d8357600060048281548110611a3c57fe5b6000918252602080832060408051808201909152920154600281810b810b810b8085526301000000909204810b810b900b9183018290526009549294506001600160a01b039092169163514ea4bf91611a96913091612ae4565b6040518263ffffffff1660e01b8152600401611ab29190614f09565b60a06040518083038186803b158015611aca57600080fd5b505afa158015611ade573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b029190614b43565b5050505090506000816001600160801b03161115611bdb57600954825160208401516040516362891e0b60e01b81526000938493736424f868116b58249009f0c18fea18b4adc2cf37936362891e0b93611b6c936001600160a01b03169291908990600401615084565b604080518083038186803b158015611b8357600080fd5b505af4158015611b97573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611bbb9190614bc9565b9092509050611bca898361253b565b9850611bd6888261253b565b975050505b878015611bf157506000816001600160801b0316115b15611d79576009548251602084015160405163a34123a760e01b81526001600160a01b039093169263a34123a792611c309290916000906004016150ff565b6040805180830381600087803b158015611c4957600080fd5b505af1158015611c5d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c819190614bc9565b5050600954825160208401516040516309e3d67b60e31b815260009384936001600160a01b0390911692634f1eb3d892611ccc92309290916001600160801b03908190600401614da0565b6040805180830381600087803b158015611ce557600080fd5b505af1158015611cf9573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611d1d9190614b11565b6001600160801b039182169350169050611d37878361253b565b9650611d43868261253b565b9550306001600160a01b03166000805160206153848339815191528888604051611d6e9291906152c7565b60405180910390a250505b5050600101611a23565b50600f54611d91908361253b565b600f55601054611da1908261253b565b601055848015611dbb57506000821180611dbb5750600081115b15611de257611dca848361253b565b9350611dd6838261253b565b9250611de28282613c0d565b9193509193565b611df1612bb8565b611dfa57600080fd5b600a54600f546040516370a0823160e01b8152611e93926001600160a01b0316918491611e8e919084906370a0823190611e38903090600401614d2d565b60206040518083038186803b158015611e5057600080fd5b505afa158015611e64573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611e889190614bb1565b9061282f565b6126e8565b600b546010546040516370a0823160e01b8152611ed1926001600160a01b0316918491611e8e919084906370a0823190611e38903090600401614d2d565b50565b600e8160028110611ee457600080fd5b60209182820401919006915054906101000a900460ff1681565b6008546001600160a01b031681565b60055481565b6009546001600160a01b03163314611f2a57600080fd5b6000611f3882840184614a36565b80519091506001600160a01b0316301415611fac578415611f6a57600a54611f6a906001600160a01b031633876126e8565b8315611f8757600b54611f87906001600160a01b031633866126e8565b600f54611f94908661282f565b600f55601054611fa4908561282f565b601055611fec565b8415611fcc57600a548151611fcc916001600160a01b03169033886138f2565b8315611fec57600b548151611fec916001600160a01b03169033876138f2565b5050505050565b60026011541415612039576040805162461bcd60e51b815260206004820152601f6024820152600080516020615364833981519152604482015290519081900360640190fd5b6002601155612046612bb8565b6120625760405162461bcd60e51b81526004016104d0906151aa565b61206a612c44565b156120875760405162461bcd60e51b81526004016104d090615288565b6120948585858585612d80565b50506001601155505050565b600160209081526000928352604080842090915290825290205481565b6305f5e10081565b6120cd612bb8565b6120d657600080fd5b600a546040516370a0823160e01b81526001600160a01b03909116906370a0823190612106903090600401614d2d565b60206040518083038186803b15801561211e57600080fd5b505afa158015612132573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121569190614bb1565b600f55600b546040516370a0823160e01b81526001600160a01b03909116906370a0823190612189903090600401614d2d565b60206040518083038186803b1580156121a157600080fd5b505afa1580156121b5573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121d99190614bb1565b6010819055600f546040517fcf2aa50876cdfbb541206f89af0ee78d44a2abf8d328e37fa4917f982149848a9261221092916152c7565b60405180910390a1565b600080600080612228613867565b156122455760405162461bcd60e51b81526004016104d09061518f565b60008087156123a4576009546001600160a01b031663514ea4bf61226a308d8d612ae4565b6040518263ffffffff1660e01b81526004016122869190614f09565b60a06040518083038186803b15801561229e57600080fd5b505afa1580156122b2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122d69190614b43565b5092995050506001600160801b03881615905061239f57600061230a886001600160801b03168a6123056106cd565b612593565b6009549091506001600160a01b031663a34123a78c8c61232985613fe4565b6040518463ffffffff1660e01b8152600401612347939291906150ff565b6040805180830381600087803b15801561236057600080fd5b505af1158015612374573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906123989190614bc9565b9097509550505b61242f565b60095460405163a34123a760e01b81526001600160a01b039091169063a34123a7906123d8908d908d908c906004016150ff565b6040805180830381600087803b1580156123f157600080fd5b505af1158015612405573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124299190614bc9565b90965094505b6009546040516309e3d67b60e31b81526001600160a01b0390911690634f1eb3d89061246e9030908e908e906001600160801b03908190600401614da0565b6040805180830381600087803b15801561248757600080fd5b505af115801561249b573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906124bf9190614b11565b6001600160801b0391821693501690508582116124dd5760006124e7565b6124e7828761282f565b93508481116124f7576000612501565b612501818661282f565b600f54909350612511908361253b565b600f55601054612521908261253b565b60105561252e8484613c0d565b5050945094509450949050565b60008282018381101561078e576040805162461bcd60e51b815260206004820152601b60248201527a536166654d6174683a206164646974696f6e206f766572666c6f7760281b604482015290519081900360640190fd5b60008080600019858709868602925082811090839003039050806125c957600084116125be57600080fd5b50829004905061078e565b8084116125d557600080fd5b6000848688096000868103871696879004966002600389028118808a02820302808a02820302808a02820302808a02820302808a02820302808a02909103029181900381900460010186841190950394909402919094039290920491909117919091029150509392505050565b61264e82600083610d57565b60408051808201825260018152603160f91b6020808301919091526001600160a01b038516600090815290819052919091205461268c9183906129b1565b6001600160a01b0383166000908152602081905260409020556002546126b2908261282f565b6002556040805182815290516000916001600160a01b038516916000805160206154388339815191529181900360200190a35050565b604080516001600160a01b038481166024830152604480830185905283518084039091018152606490920183526020820180516001600160e01b031663a9059cbb60e01b1781529251825160009485949389169392918291908083835b602083106127645780518252601f199092019160209182019101612745565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146127c6576040519150601f19603f3d011682016040523d82523d6000602084013e6127cb565b606091505b50915091508180156127f95750805115806127f957508080602001905160208110156127f657600080fd5b50515b611fec576040805162461bcd60e51b815260206004820152600260248201526114d560f21b604482015290519081900360640190fd5b600082821115612886576040805162461bcd60e51b815260206004820152601e60248201527f536166654d6174683a207375627472616374696f6e206f766572666c6f770000604482015290519081900360640190fd5b50900390565b3390565b6001600160a01b03808416600081815260016020908152604080832094871680845294825291829020859055815185815291517f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9259281900390910190a3505050565b6128fd838383610d57565b61293a816040518060600160405280602681526020016153a4602691396001600160a01b03861660009081526020819052604090205491906129b1565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612969908261253b565b6001600160a01b0380841660008181526020818152604091829020949094558051858152905191939287169260008051602061543883398151915292918290030190a3505050565b60008184841115612a405760405162461bcd60e51b81526004018080602001828103825283818151815260200191508051906020019080838360005b83811015612a055781810151838201526020016129ed565b50505050905090810190601f168015612a325780820380516001836020036101000a031916815260200191505b509250505060405180910390fd5b505050900390565b60085460408051635aa6e67560e01b815290516000926001600160a01b031691635aa6e675916004808301926020929190829003018186803b158015612a8d57600080fd5b505afa158015612aa1573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612ac591906146bf565b6001600160a01b0316336001600160a01b031614156106fb5750600190565b6040805160609490941b6001600160601b031916602080860191909152600293840b60e890811b60348701529290930b90911b60378401528051808403601a018152603a9093019052815191012090565b612b4160008383610d57565b600254612b4e908261253b565b6002556001600160a01b038216600090815260208190526040902054612b74908261253b565b6001600160a01b0383166000818152602081815260408083209490945583518581529351929391926000805160206154388339815191529281900390910190a35050565b600d5460405163de33b11b60e01b81526000916001600160a01b03169063de33b11b90612be9903390600401614d2d565b60206040518083038186803b158015612c0157600080fd5b505afa158015612c15573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612c399190614851565b156106fb5750600190565b600854604051637e4ecb5d60e11b81526000916001600160a01b03169063fc9d96ba90612be9903090600401614d2d565b60005b600454811015611ed157600060048281548110612c9157fe5b600091825260208220600954910180549093506001600160a01b039091169063514ea4bf90612cd0903090600281810b9163010000009004900b612ae4565b6040518263ffffffff1660e01b8152600401612cec9190614f09565b60a06040518083038186803b158015612d0457600080fd5b505afa158015612d18573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612d3c9190614b43565b5050505090506000816001600160801b03161115612d76578154612d7190600281810b9163010000009004900b60008461221a565b505050505b5050600101612c78565b612d88613867565b15612da55760405162461bcd60e51b81526004016104d09061518f565b612dad61459a565b600854604080516306ec4be960e41b815290516000926001600160a01b031691636ec4be90916004808301926020929190829003018186803b158015612df257600080fd5b505afa158015612e06573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612e2a91906146bf565b90506000808815612e6657600a54612e4c906001600160a01b0316848a61402c565b5050600a54600b546001600160a01b039182169116612e93565b600b54612e7d906001600160a01b0316848a61402c565b5050600b54600a546001600160a01b0391821691165b6040516370a0823160e01b81526001600160a01b038316906370a0823190612ebf903090600401614d2d565b60206040518083038186803b158015612ed757600080fd5b505afa158015612eeb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f0f9190614bb1565b84526040516370a0823160e01b81526001600160a01b038216906370a0823190612f3d903090600401614d2d565b60206040518083038186803b158015612f5557600080fd5b505afa158015612f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612f8d9190614bb1565b6020850152612f9a6106cd565b6080850152861561300a5760405163fa85d9b960e01b81526001600160a01b0384169063fa85d9b990612fd39089908990600401614f12565b600060405180830381600087803b158015612fed57600080fd5b505af1158015613001573d6000803e3d6000fd5b505050506130dd565b600080846001600160a01b03168888604051613027929190614d1d565b6000604051808303816000865af19150503d8060008114613064576040519150601f19603f3d011682016040523d82523d6000602084013e613069565b606091505b5091509150816130da57805160448110156130965760405162461bcd60e51b81526004016104d090615171565b6004820180516003198301825290926000906130bb90848101602001906024016149a0565b90508184528060405162461bcd60e51b81526004016104d09190615125565b50505b6130e56106cd565b8460800151146130f457600080fd5b6040516370a0823160e01b81526001600160a01b038316906370a0823190613120903090600401614d2d565b60206040518083038186803b15801561313857600080fd5b505afa15801561314c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131709190614bb1565b604080860191909152516370a0823160e01b81526001600160a01b038216906370a08231906131a3903090600401614d2d565b60206040518083038186803b1580156131bb57600080fd5b505afa1580156131cf573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906131f39190614bb1565b60608501526040840151845160009161320c919061282f565b9050600061322b8660200151876060015161282f90919063ffffffff16565b90508a1561327057600a5461324b906001600160a01b031686600061411d565b600f54613258908361282f565b600f55601054613268908261253b565b6010556132a9565b600b54613288906001600160a01b031686600061411d565b600f54613295908261253b565b600f556010546132a5908361282f565b6010555b600d60009054906101000a90046001600160a01b03166001600160a01b03166361d274496040518163ffffffff1660e01b8152600401600060405180830381600087803b1580156132f957600080fd5b505af115801561330d573d6000803e3d6000fd5b5050600954600854604080518082018252600e5460ff8082161515835261010090910416151560208201529051630fbc584360e01b81527392bc9a7fb15bf5f79168fb6a1374e6e06f1b40db9550630fbc58439450613385936001600160a01b03908116931691889188918c918c919060040161500f565b60206040518083038186803b15801561339d57600080fd5b505af41580156133b1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906133d59190614851565b6133f15760405162461bcd60e51b81526004016104d0906151fc565b5050505050505050505050565b60008060008060006004868154811061341357fe5b600091825260208220600954910180549093506001600160a01b039091169063514ea4bf90613452903090600281810b9163010000009004900b612ae4565b6040518263ffffffff1660e01b815260040161346e9190614f09565b60a06040518083038186803b15801561348657600080fd5b505afa15801561349a573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906134be9190614b43565b5050505090506000816001600160801b031611156134fe5781546134f390600281810b9163010000009004900b60008461221a565b929850909650945092505b50509193509193565b600080613512613867565b1561352f5760405162461bcd60e51b81526004016104d09061518f565b60095460405163361d23b760e21b8152600091736424f868116b58249009f0c18fea18b4adc2cf379163d8748edc9161357e916001600160a01b03909116908c908c908c908c906004016150b7565b60206040518083038186803b15801561359657600080fd5b505af41580156135aa573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906135ce9190614af7565b6009546040805180820182526001600160a01b0388811682529092166020808401829052915193945092633c8a7d8d9230928d928d92889261361092016152a4565b6040516020818303038152906040526040518663ffffffff1660e01b815260040161363f959493929190614d5b565b6040805180830381600087803b15801561365857600080fd5b505af115801561366c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906136909190614bc9565b90999098509650505050505050565b6136a7613867565b156136c45760405162461bcd60e51b81526004016104d09061518f565b6003805460ff1916905560005b81518110156137a35760008282815181106136e857fe5b6020026020010151905061370f816000015182602001518360400151846060015130613507565b5050604080518082019091528151600290810b8252602092830151810b928201928352600480546001818101835560009290925292517f8a35acfbc15ff81a39ae7d344fd709f28e8600b4aa8c65c6b64bfe7fe36bd19b90930180549451830b62ffffff90811663010000000265ffffff000000199590940b1662ffffff19909516949094179290921617909155016136d1565b5050565b6000805b82518110156138615760008382815181106137c257fe5b602002602001015160000151905060008483815181106137de57fe5b602002602001015160200151905060005b838110156138565785818151811061380357fe5b60200260200101516000015160020b8360020b141561384e5785818151811061382857fe5b60200260200101516020015160020b8260020b141561384e576001945050505050610d82565b6001016137ef565b5050506001016137ab565b50919050565b600854600954600c54600d54604051637803c1bf60e11b81526000947392bc9a7fb15bf5f79168fb6a1374e6e06f1b40db9463f007837e946138c6946001600160a01b03938416949284169391821692600e9290911690600401614fcd565b60206040518083038186803b1580156138de57600080fd5b505af4158015612c15573d6000803e3d6000fd5b604080516001600160a01b0385811660248301528481166044830152606480830185905283518084039091018152608490920183526020820180516001600160e01b03166323b872dd60e01b178152925182516000948594938a169392918291908083835b602083106139765780518252601f199092019160209182019101613957565b6001836020036101000a0380198251168184511680821785525050505050509050019150506000604051808303816000865af19150503d80600081146139d8576040519150601f19603f3d011682016040523d82523d6000602084013e6139dd565b606091505b5091509150818015613a0b575080511580613a0b5750808060200190516020811015613a0857600080fd5b50515b613a42576040805162461bcd60e51b815260206004820152600360248201526229aa2360e91b604482015290519081900360640190fd5b505050505050565b600080613a556106cd565b600854600c54600954604051630da11e2760e11b81529394507375baaa17fc5135d9377c10cf1bac9334bd8fd4a093631b423c4e93613ab6936001600160a01b039182169390821692911690600e908e908e908e908e908c90600401614f41565b60206040518083038186803b158015613ace57600080fd5b505af4158015613ae2573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b069190614bb1565b9150600080600d60009054906101000a90046001600160a01b03166001600160a01b03166391a543b66040518163ffffffff1660e01b815260040160206040518083038186803b158015613b5957600080fd5b505afa158015613b6d573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613b919190614bb1565b905082613bb957613ba78464e8d4a5100061282f565b9350613bb9600064e8d4a51000612b35565b8015613bf757613bd76305f5e100613bd18684614230565b90614289565b600554909250613be7908361253b565b600555613bf4848361282f565b93505b613c018585612b35565b50505095945050505050565b600d54604080516303feff6960e21b815290516000926001600160a01b031691630ffbfda4916004808301926020929190829003018186803b158015613c5257600080fd5b505afa158015613c66573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613c8a9190614bb1565b604051631783222960e31b81529091506000908190309063bc19114890613cb5908490600401614efe565b608060405180830381600087803b158015613ccf57600080fd5b505af1158015613ce3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613d079190614c67565b5050600854600c54600954939550919350613df0927375baaa17fc5135d9377c10cf1bac9334bd8fd4a092631b423c4e926001600160a01b03908116929181169116600e613d5a8c8b6305f5e100612593565b613d698c8c6305f5e100612593565b8a8a613d736106cd565b6040518a63ffffffff1660e01b8152600401613d9799989796959493929190614f41565b60206040518083038186803b158015613daf57600080fd5b505af4158015613dc3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613de79190614bb1565b6006549061253b565b600655600854600954604051631304687960e31b81526000926001600160a01b039081169263982343c892613e2d92909116903090600401614d41565b60206040518083038186803b158015613e4557600080fd5b505afa158015613e59573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e7d9190614bb1565b90506305f5e100613e8e858361253b565b1115613ea557613ea26305f5e1008561282f565b90505b8015801590613ec157506305f5e100613ebe858361253b565b11155b15613fab57600854600c54600954613fa7927375baaa17fc5135d9377c10cf1bac9334bd8fd4a092631b423c4e926001600160a01b03928316929182169116600e613f118d896305f5e100612593565b613f208d8a6305f5e100612593565b8b8b613f2a6106cd565b6040518a63ffffffff1660e01b8152600401613f4e99989796959493929190614f41565b60206040518083038186803b158015613f6657600080fd5b505af4158015613f7a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613f9e9190614bb1565b6007549061253b565b6007555b306001600160a01b03166000805160206153848339815191528787604051613fd49291906152c7565b60405180910390a2505050505050565b6000600160801b82106140285760405162461bcd60e51b81526004018080602001828103825260278152602001806153ca6027913960400191505060405180910390fd5b5090565b60006140c282856001600160a01b031663dd62ed3e30876040518363ffffffff1660e01b815260040180836001600160a01b03168152602001826001600160a01b031681526020019250505060206040518083038186803b15801561409057600080fd5b505afa1580156140a4573d6000803e3d6000fd5b505050506040513d60208110156140ba57600080fd5b50519061253b565b604080516001600160a01b038616602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b1790529091506141179085906142ed565b50505050565b8015806141a3575060408051636eb1769f60e11b81523060048201526001600160a01b03848116602483015291519185169163dd62ed3e91604480820192602092909190829003018186803b15801561417557600080fd5b505afa158015614189573d6000803e3d6000fd5b505050506040513d602081101561419f57600080fd5b5051155b6141de5760405162461bcd60e51b81526004018080602001828103825260368152602001806154826036913960400191505060405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180516001600160e01b031663095ea7b360e01b179052610d579084906142ed565b60008261423f575060006106b2565b8282028284828161424c57fe5b041461078e5760405162461bcd60e51b81526004018080602001828103825260218152602001806154176021913960400191505060405180910390fd5b60008082116142dc576040805162461bcd60e51b815260206004820152601a602482015279536166654d6174683a206469766973696f6e206279207a65726f60301b604482015290519081900360640190fd5b8183816142e557fe5b049392505050565b6000614342826040518060400160405280602081526020017f5361666545524332303a206c6f772d6c6576656c2063616c6c206661696c6564815250856001600160a01b031661439e9092919063ffffffff16565b805190915015610d575780806020019051602081101561436157600080fd5b5051610d575760405162461bcd60e51b815260040180806020018281038252602a815260200180615458602a913960400191505060405180910390fd5b60606143ad84846000856143b5565b949350505050565b6060824710156143f65760405162461bcd60e51b81526004018080602001828103825260268152602001806153f16026913960400191505060405180910390fd5b6143ff85614510565b614450576040805162461bcd60e51b815260206004820152601d60248201527f416464726573733a2063616c6c20746f206e6f6e2d636f6e7472616374000000604482015290519081900360640190fd5b600080866001600160a01b031685876040518082805190602001908083835b6020831061448e5780518252601f19909201916020918201910161446f565b6001836020036101000a03801982511681845116808217855250505050505090500191505060006040518083038185875af1925050503d80600081146144f0576040519150601f19603f3d011682016040523d82523d6000602084013e6144f5565b606091505b5091509150614505828286614516565b979650505050505050565b3b151590565b6060831561452557508161078e565b8251156145355782518084602001fd5b60405162461bcd60e51b8152602060048201818152845160248401528451859391928392604401919085019080838360008315612a055781810151838201526020016129ed565b5080546000825590600052602060002090810190611ed191906145c9565b6040518060a0016040528060008152602001600081526020016000815260200160008152602001600081525090565b5b8082111561402857805465ffffffffffff191681556001016145ca565b60008083601f8401126145f8578081fd5b5081356001600160401b0381111561460e578182fd5b60208301915083602060808302850101111561462957600080fd5b9250929050565b8035610d8281615355565b60008083601f84011261464c578182fd5b5081356001600160401b03811115614662578182fd5b60208301915083602082850101111561462957600080fd5b8035600281900b8114610d8257600080fd5b80516001600160801b0381168114610d8257600080fd5b6000602082840312156146b4578081fd5b813561078e81615340565b6000602082840312156146d0578081fd5b815161078e81615340565b600080604083850312156146ed578081fd5b82356146f881615340565b9150602083013561470881615340565b809150509250929050565b600080600060608486031215614727578081fd5b833561473281615340565b9250602084013561474281615340565b929592945050506040919091013590565b60008060008060006080868803121561476a578081fd5b853561477581615340565b9450602086013561478581615340565b93506040860135925060608601356001600160401b038111156147a6578182fd5b6147b2888289016145e7565b969995985093965092949392505050565b600080600080608085870312156147d8578384fd5b84516147e381615340565b60208601519094506147f481615340565b6040860151606090960151949790965092505050565b6000806040838503121561481c578182fd5b823561482781615340565b946020939093013593505050565b600060208284031215614846578081fd5b813561078e81615355565b600060208284031215614862578081fd5b815161078e81615355565b600080600080600060808688031215614884578283fd5b853561488f81615355565b94506020860135935060408601356148a681615355565b925060608601356001600160401b038111156148c0578182fd5b6147b28882890161463b565b60008060008060008060008060008060e08b8d0312156148ea578788fd5b8a356148f581615355565b995060208b0135985060408b013561490c81615355565b975060608b01356001600160401b0380821115614927578687fd5b6149338e838f0161463b565b909950975060808d013591508082111561494b578687fd5b6149578e838f016145e7565b909750955060a08d013591508082111561496f578485fd5b5061497c8d828e016145e7565b909450925061498f905060c08c01614630565b90509295989b9194979a5092959850565b6000602082840312156149b1578081fd5b81516001600160401b03808211156149c7578283fd5b818401915084601f8301126149da578283fd5b8151818111156149e657fe5b604051601f8201601f191681016020018381118282101715614a0457fe5b604052818152838201602001871015614a1b578485fd5b614a2c826020830160208701615314565b9695505050505050565b600060408284031215614a47578081fd5b604080519081016001600160401b0381118282101715614a6357fe5b6040528235614a7181615340565b81526020830135614a8181615340565b60208201529392505050565b600060808284031215614a9e578081fd5b604051608081016001600160401b0381118282101715614aba57fe5b604052614ac68361467a565b8152614ad46020840161467a565b602082015260408301356040820152606083013560608201528091505092915050565b600060208284031215614b08578081fd5b61078e8261468c565b60008060408385031215614b23578182fd5b614b2c8361468c565b9150614b3a6020840161468c565b90509250929050565b600080600080600060a08688031215614b5a578283fd5b614b638661468c565b94506020860151935060408601519250614b7f6060870161468c565b9150614b8d6080870161468c565b90509295509295909350565b600060208284031215614baa578081fd5b5035919050565b600060208284031215614bc2578081fd5b5051919050565b60008060408385031215614bdb578182fd5b505080516020909101519092909150565b60008060008060608587031215614c01578182fd5b843593506020850135925060408501356001600160401b03811115614c24578283fd5b614c308782880161463b565b95989497509550505050565b600080600060608486031215614c50578081fd5b505081359360208301359350604090920135919050565b60008060008060808587031215614c7c578182fd5b505082516020840151604085015160609095015191969095509092509050565b600080600080600060a08688031215614cb3578283fd5b505083359560208501359550604085013594606081013594506080013592509050565b5460ff8082161515835260089190911c161515602090910152565b60008151808452614d09816020860160208601615314565b601f01601f19169290920160200192915050565b6000828483379101908152919050565b6001600160a01b0391909116815260200190565b6001600160a01b0392831681529116602082015260400190565b6001600160a01b0386168152600285810b602083015284900b60408201526001600160801b038316606082015260a06080820181905260009061450590830184614cf1565b6001600160a01b03959095168552600293840b60208601529190920b60408401526001600160801b03918216606084015216608082015260a00190565b6020808252818101839052600090604080840186845b87811015614e4157614e048261467a565b600281810b8552614e1687850161467a565b900b848701525081840135848401526060808301359084015260809283019290910190600101614df3565b5090979650505050505050565b6020808252818101839052600090604080840186845b87811015614e41578135835284820135614e7d81615355565b15158386015281840135848401526060808301359084015260809283019290910190600101614e64565b602080825282518282018190526000919060409081850190868401855b82811015614ef15781518051600290810b865290870151900b868501529284019290850190600101614ec4565b5091979650505050505050565b901515815260200190565b90815260200190565b60006020825282602083015282846040840137818301604090810191909152601f909201601f19160101919050565b6001600160a01b038a811682528981166020830152881660408201526101408101614f6f6060830189614cd6565b60a082019690965260c081019490945260e084019290925261010083015261012090910152949350505050565b6001600160a01b03958616815293909416602084015260408301919091526060820152608081019190915260a00190565b6001600160a01b0386811682528581166020830152848116604083015260c0820190614ffc6060840186614cd6565b80841660a0840152509695505050505050565b6001600160a01b0388811682528781166020808401919091526040830188905260608301879052858216608084015290841660a083015261010082019060c08301908460005b6002811015615074578151151584529282019290820190600101615055565b5050505098975050505050505050565b6001600160a01b03949094168452600292830b6020850152910b60408301526001600160801b0316606082015260800190565b6001600160a01b03959095168552600293840b60208601529190920b60408401526060830191909152608082015260a00190565b600292830b8152910b602082015260400190565b600293840b81529190920b60208201526001600160801b03909116604082015260600190565b60006020825261078e6020830184614cf1565b602080825260039082015262494e5360e81b604082015260600190565b602080825260029082015261494f60f01b604082015260600190565b6020808252600490820152630737761760e41b604082015260600190565b6020808252600190820152601160fa1b604082015260600190565b6020808252600190820152602760f91b604082015260600190565b6020808252600190820152601360fa1b604082015260600190565b602080825260029082015261494160f01b604082015260600190565b6020808252600190820152605360f81b604082015260600190565b602080825260029082015261554160f01b604082015260600190565b60208082526003908201526212551360ea1b604082015260600190565b602080825260029082015261125560f21b604082015260600190565b602080825260029082015261534360f01b604082015260600190565b602080825260029082015261111360f21b604082015260600190565b81516001600160a01b039081168252602092830151169181019190915260400190565b918252602082015260400190565b9283526020830191909152604082015260600190565b93845260208401929092526040830152606082015260800190565b60ff91909116815260200190565b60005b8381101561532f578181015183820152602001615317565b838111156141175750506000910152565b6001600160a01b0381168114611ed157600080fd5b8015158114611ed157600080fdfe5265656e7472616e637947756172643a207265656e7472616e742063616c6c007a6996f208e1f74222a1b84b080a89f0b84e81ec5bed570e1c232950014ecc6f45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636553616665436173743a2076616c756520646f65736e27742066697420696e203132382062697473416464726573733a20696e73756666696369656e742062616c616e636520666f722063616c6c536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f77ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5361666545524332303a204552433230206f7065726174696f6e20646964206e6f7420737563636565645361666545524332303a20617070726f76652066726f6d206e6f6e2d7a65726f20746f206e6f6e2d7a65726f20616c6c6f77616e6365a26469706673582212201d0911d2a69d985bc6bc48a37f14d2d6dc43d67274fe4e77bcaf5b8d076eea1b64736f6c634300070600330000000000000000000000006c83886d3ed9a1a4cfa07581eadd6b439e78a86200000000000000000000000085149247691df622eaf1a8bd0cafd40bc45154a90000000000000000000000007deb95eb81b25e50400271b478b5766bf74579c2000000000000000000000000e468c4481b3c1c9fee2e50238e4b36bf6a80024c0000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000e00000000000000000000000000000000000000000000000000000000000000001fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffcfc2afffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd0404