60806040526032600d556101f4600e55610115600f5560036010556007601155610309601255668e1bc9bf0400006013556815af1d78b58c4000006014553480156200004a57600080fd5b5060405162003620380380620036208339810160408190526200006d91620002fc565b8551869086906200008690600090602085019062000186565b5080516200009c90600190602084019062000186565b505050620000b9620000b36200013060201b60201c565b62000134565b8351620000ce90601590602087019062000186565b50601680546001600160a01b039485166301000000026301000000600160b81b0319909116179055601780549284166001600160a01b031993841617905560198054919093169082161790915560188054909116301790555062000413915050565b3390565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b8280546200019490620003c0565b90600052602060002090601f016020900481019282620001b8576000855562000203565b82601f10620001d357805160ff191683800117855562000203565b8280016001018555821562000203579182015b8281111562000203578251825591602001919060010190620001e6565b506200021192915062000215565b5090565b5b8082111562000211576000815560010162000216565b80516001600160a01b03811681146200024457600080fd5b919050565b600082601f8301126200025a578081fd5b81516001600160401b0380821115620002775762000277620003fd565b604051601f8301601f19908116603f01168101908282118183101715620002a257620002a2620003fd565b81604052838152602092508683858801011115620002be578485fd5b8491505b83821015620002e15785820183015181830184015290820190620002c2565b83821115620002f257848385830101525b9695505050505050565b60008060008060008060c0878903121562000315578182fd5b86516001600160401b03808211156200032c578384fd5b6200033a8a838b0162000249565b9750602089015191508082111562000350578384fd5b6200035e8a838b0162000249565b9650604089015191508082111562000374578384fd5b506200038389828a0162000249565b94505062000394606088016200022c565b9250620003a4608088016200022c565b9150620003b460a088016200022c565b90509295509295509295565b600181811c90821680620003d557607f821691505b60208210811415620003f757634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052604160045260246000fd5b6131fd80620004236000396000f3fe6080604052600436106102725760003560e01c80637f6497831161014f578063a22cb465116100c1578063d4a770ad1161007a578063d4a770ad1461071e578063dc1d85f614610734578063e985e9c51461074a578063eb8835ab14610793578063f2fde38b146107c3578063f6b4dfb4146107e357600080fd5b8063a22cb46514610672578063a29eed9214610692578063a37f85a1146106b2578063b88d4fde146106c8578063c50a2ac2146106e8578063c87b56dd146106fe57600080fd5b80638da5cb5b116101135780638da5cb5b146105d657806393383085146105f457806395d89b411461061457806398ae99a814610629578063a035b1fe14610649578063a0712d681461065f57600080fd5b80637f6497831461052c578063809061971461054c5780638462151c1461057357806385107367146105a05780638cb5367f146105c057600080fd5b806342842e0e116101e857806364feb7ca116101ac57806364feb7ca1461048d5780636555dc40146104ad57806368e24327146104c25780636c0360eb146104e257806370a08231146104f7578063715018a61461051757600080fd5b806342842e0e146103ed5780634f6ccce71461040d57806355f804b31461042d57806358dd175d1461044d5780636352211e1461046d57600080fd5b806318160ddd1161023a57806318160ddd1461034c57806323b872dd146103615780632ddbd13a146103815780632f745c5914610397578063375a069a146103b75780633c3c9c23146103d757600080fd5b806301ffc9a71461027757806306fdde03146102ac578063081812fc146102ce578063095ea7b31461030657806310cd0c9d14610328575b600080fd5b34801561028357600080fd5b50610297610292366004612cdb565b610803565b60405190151581526020015b60405180910390f35b3480156102b857600080fd5b506102c161082e565b6040516102a39190612f2d565b3480156102da57600080fd5b506102ee6102e9366004612d59565b6108c0565b6040516001600160a01b0390911681526020016102a3565b34801561031257600080fd5b50610326610321366004612b62565b61095a565b005b34801561033457600080fd5b5061033e600e5481565b6040519081526020016102a3565b34801561035857600080fd5b5060085461033e565b34801561036d57600080fd5b5061032661037c366004612a78565b610a70565b34801561038d57600080fd5b5061033e600c5481565b3480156103a357600080fd5b5061033e6103b2366004612b62565b610aa1565b3480156103c357600080fd5b506103266103d2366004612d59565b610b37565b3480156103e357600080fd5b5061033e600f5481565b3480156103f957600080fd5b50610326610408366004612a78565b610c36565b34801561041957600080fd5b5061033e610428366004612d59565b610c51565b34801561043957600080fd5b50610326610448366004612d13565b610cf2565b34801561045957600080fd5b50610326610468366004612d89565b610d2f565b34801561047957600080fd5b506102ee610488366004612d59565b61108e565b34801561049957600080fd5b506103266104a8366004612ca3565b611105565b3480156104b957600080fd5b5061032661114b565b3480156104ce57600080fd5b506103266104dd366004612ca3565b611286565b3480156104ee57600080fd5b506102c16112c3565b34801561050357600080fd5b5061033e610512366004612a25565b611351565b34801561052357600080fd5b506103266113d8565b34801561053857600080fd5b50610326610547366004612b8b565b61140e565b34801561055857600080fd5b506016546102ee90630100000090046001600160a01b031681565b34801561057f57600080fd5b5061059361058e366004612a25565b6114b8565b6040516102a39190612ee9565b3480156105ac57600080fd5b506019546102ee906001600160a01b031681565b3480156105cc57600080fd5b5061033e60145481565b3480156105e257600080fd5b50600a546001600160a01b03166102ee565b34801561060057600080fd5b5061032661060f366004612ca3565b611576565b34801561062057600080fd5b506102c16115ba565b34801561063557600080fd5b50610326610644366004612d89565b6115c9565b34801561065557600080fd5b5061033e60135481565b61032661066d366004612d59565b611a2a565b34801561067e57600080fd5b5061032661068d366004612b2c565b611ce9565b34801561069e57600080fd5b506017546102ee906001600160a01b031681565b3480156106be57600080fd5b5061033e60125481565b3480156106d457600080fd5b506103266106e3366004612ab3565b611dae565b3480156106f457600080fd5b5061033e60105481565b34801561070a57600080fd5b506102c1610719366004612d59565b611de0565b34801561072a57600080fd5b5061033e60115481565b34801561074057600080fd5b5061033e600d5481565b34801561075657600080fd5b50610297610765366004612a46565b6001600160a01b03918216600090815260056020908152604080832093909416825291909152205460ff1690565b34801561079f57600080fd5b506102976107ae366004612a25565b600b6020526000908152604090205460ff1681565b3480156107cf57600080fd5b506103266107de366004612a25565b611eb1565b3480156107ef57600080fd5b506018546102ee906001600160a01b031681565b60006001600160e01b0319821663780e9d6360e01b1480610828575061082882611f4c565b92915050565b60606000805461083d906130d7565b80601f0160208091040260200160405190810160405280929190818152602001828054610869906130d7565b80156108b65780601f1061088b576101008083540402835291602001916108b6565b820191906000526020600020905b81548152906001019060200180831161089957829003601f168201915b5050505050905090565b6000818152600260205260408120546001600160a01b031661093e5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084015b60405180910390fd5b506000908152600460205260409020546001600160a01b031690565b60006109658261108e565b9050806001600160a01b0316836001600160a01b031614156109d35760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b6064820152608401610935565b336001600160a01b03821614806109ef57506109ef8133610765565b610a615760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c00000000000000006064820152608401610935565b610a6b8383611f9c565b505050565b610a7a338261200a565b610a965760405162461bcd60e51b815260040161093590612fc7565b610a6b838383612101565b6000610aac83611351565b8210610b0e5760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b6064820152608401610935565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b600a546001600160a01b03163314610b615760405162461bcd60e51b815260040161093590612f92565b600e5481600c54610b729190613049565b1115610bb55760405162461bcd60e51b815260206004820152601260248201527132bc31b2b2b21036b0bc1039bab838363c9760711b6044820152606401610935565b600c5433906000805160206131a883398151915290610bd5906001613049565b60408051918252602082018590520160405180910390a260005b81811015610c3257610c20335b600c8054906000610c0c83613112565b90915550610c1b906001613049565b6122ac565b80610c2a81613112565b915050610bef565b5050565b610a6b83838360405180602001604052806000815250611dae565b6000610c5c60085490565b8210610cbf5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b6064820152608401610935565b60088281548110610ce057634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050919050565b600a546001600160a01b03163314610d1c5760405162461bcd60e51b815260040161093590612f92565b8051610c32906015906020840190612918565b601654610100900460ff16610d815760405162461bcd60e51b8152602060048201526018602482015277383932b9b0b632903430b9903737ba1039ba30b93a32b21760411b6044820152606401610935565b600e5482600c54610d929190613049565b1115610dd95760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b21031b937b81030b63637b1b0ba34b7b760511b6044820152606401610935565b601454610de69083613075565b811015610e355760405162461bcd60e51b815260206004820152601f60248201527f76616c7565206572726f722c20706c6561736520636865636b207072696365006044820152606401610935565b336000908152600b602052604090205460ff16610e945760405162461bcd60e51b815260206004820152601c60248201527f6d757374206265206f6e2070726573616c652077686974656c697374000000006044820152606401610935565b601054821115610ee05760405162461bcd60e51b815260206004820152601760248201527663616e6e6f74206d696e74206d6f7265207468616e203360481b6044820152606401610935565b6010546018546040516370a0823160e01b81523360048201526001600160a01b03909116906370a082319060240160206040518083038186803b158015610f2657600080fd5b505afa158015610f3a573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f5e9190612d71565b1115610fa65760405162461bcd60e51b815260206004820152601760248201527663616e6e6f742068617665206d6f7265207468616e203360481b6044820152606401610935565b6017546040516323b872dd60e01b8152336004820152306024820152604481018390526001600160a01b03909116906323b872dd90606401602060405180830381600087803b158015610ff857600080fd5b505af115801561100c573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110309190612cbf565b50600c5433906000805160206131a883398151915290611051906001613049565b60408051918252602082018690520160405180910390a260005b82811015610a6b5761107c33610bfc565b8061108681613112565b91505061106b565b6000818152600260205260408120546001600160a01b0316806108285760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b6064820152608401610935565b600a546001600160a01b0316331461112f5760405162461bcd60e51b815260040161093590612f92565b60168054911515620100000262ff000019909216919091179055565b600a546001600160a01b031633146111755760405162461bcd60e51b815260040161093590612f92565b6017546040516370a0823160e01b81523060048201526000916001600160a01b0316906370a082319060240160206040518083038186803b1580156111b957600080fd5b505afa1580156111cd573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111f19190612d71565b6017549091506001600160a01b031663a9059cbb336040516001600160e01b031960e084901b1681526001600160a01b03909116600482015260248101849052604401602060405180830381600087803b15801561124e57600080fd5b505af1158015611262573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c329190612cbf565b600a546001600160a01b031633146112b05760405162461bcd60e51b815260040161093590612f92565b6016805460ff1916911515919091179055565b601580546112d0906130d7565b80601f01602080910402602001604051908101604052809291908181526020018280546112fc906130d7565b80156113495780601f1061131e57610100808354040283529160200191611349565b820191906000526020600020905b81548152906001019060200180831161132c57829003601f168201915b505050505081565b60006001600160a01b0382166113bc5760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b6064820152608401610935565b506001600160a01b031660009081526003602052604090205490565b600a546001600160a01b031633146114025760405162461bcd60e51b815260040161093590612f92565b61140c60006123fa565b565b600a546001600160a01b031633146114385760405162461bcd60e51b815260040161093590612f92565b60005b81811015610a6b576001600b600085858581811061146957634e487b7160e01b600052603260045260246000fd5b905060200201602081019061147e9190612a25565b6001600160a01b031681526020810191909152604001600020805460ff1916911515919091179055806114b081613112565b91505061143b565b606060006114c583611351565b905060008167ffffffffffffffff8111156114f057634e487b7160e01b600052604160045260246000fd5b604051908082528060200260200182016040528015611519578160200160208202803683370190505b50905060005b8281101561156e576115318582610aa1565b82828151811061155157634e487b7160e01b600052603260045260246000fd5b60209081029190910101528061156681613112565b91505061151f565b509392505050565b600a546001600160a01b031633146115a05760405162461bcd60e51b815260040161093590612f92565b601680549115156101000261ff0019909216919091179055565b60606001805461083d906130d7565b60165460ff166116165760405162461bcd60e51b8152602060048201526018602482015277383932b9b0b632903430b9903737ba1039ba30b93a32b21760411b6044820152606401610935565b600e5482600c546116279190613049565b111561166e5760405162461bcd60e51b815260206004820152601660248201527522bc31b2b2b21031b937b81030b63637b1b0ba34b7b760511b6044820152606401610935565b60145461167b9083613075565b8110156116ca5760405162461bcd60e51b815260206004820152601f60248201527f76616c7565206572726f722c20706c6561736520636865636b207072696365006044820152606401610935565b6019546040516371d4ed8d60e11b81523360048201526000916001600160a01b03169063e3a9db1a9060240160006040518083038186803b15801561170e57600080fd5b505afa158015611722573d6000803e3d6000fd5b505050506040513d6000823e601f3d908101601f1916820160405261174a9190810190612bfb565b516016546040516370a0823160e01b815233600482015291925060009163010000009091046001600160a01b0316906370a082319060240160206040518083038186803b15801561179a57600080fd5b505afa1580156117ae573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906117d29190612d71565b11806117de5750600081115b61182a5760405162461bcd60e51b815260206004820152601c60248201527f6d75737420686f6c64206174206c656173742031206675644661726d000000006044820152606401610935565b6011548311156118765760405162461bcd60e51b815260206004820152601760248201527663616e6e6f74206d696e74206d6f7265207468616e203360481b6044820152606401610935565b6011546018546040516370a0823160e01b81523360048201526001600160a01b03909116906370a082319060240160206040518083038186803b1580156118bc57600080fd5b505afa1580156118d0573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118f49190612d71565b111561193c5760405162461bcd60e51b815260206004820152601760248201527663616e6e6f742068617665206d6f7265207468616e203360481b6044820152606401610935565b6017546040516323b872dd60e01b8152336004820152306024820152604481018490526001600160a01b03909116906323b872dd90606401602060405180830381600087803b15801561198e57600080fd5b505af11580156119a2573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906119c69190612cbf565b50600c5433906000805160206131a8833981519152906119e7906001613049565b60408051918252602082018790520160405180910390a260005b83811015611a2457611a1233610bfc565b80611a1c81613112565b915050611a01565b50505050565b60165462010000900460ff16611a8c5760405162461bcd60e51b815260206004820152602160248201527f4c616e642073616c652061696e277420737461727465642c20706172746e65726044820152601760f91b6064820152608401610935565b600081118015611a9e57506011548111155b611adb5760405162461bcd60e51b815260206004820152600e60248201526d546f6f206d616e79206c616e647360901b6044820152606401610935565b6011546018546040516370a0823160e01b81523360048201526001600160a01b03909116906370a082319060240160206040518083038186803b158015611b2157600080fd5b505afa158015611b35573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b599190612d71565b1115611ba75760405162461bcd60e51b815260206004820152601760248201527f63616e6e6f742068617665206d6f7265207468616e20370000000000000000006044820152606401610935565b60125481600c54611bb89190613049565b1115611bf75760405162461bcd60e51b815260206004820152600e60248201526d105313081093d551d2150813d55560921b6044820152606401610935565b601354611c049082613075565b3414611c525760405162461bcd60e51b815260206004820181905260248201527f76616c7565206572726f722c20706c6561736520636865636b2070726963652e6044820152606401610935565b600a546040516001600160a01b03909116903480156108fc02916000818181858888f19350505050158015611c8b573d6000803e3d6000fd5b50600c5433906000805160206131a883398151915290611cac906001613049565b60408051918252602082018590520160405180910390a260005b81811015610c3257611cd733610bfc565b80611ce181613112565b915050611cc6565b6001600160a01b038216331415611d425760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c6572000000000000006044820152606401610935565b3360008181526005602090815260408083206001600160a01b03871680855290835292819020805460ff191686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b611db8338361200a565b611dd45760405162461bcd60e51b815260040161093590612fc7565b611a248484848461244c565b6000818152600260205260409020546060906001600160a01b0316611e475760405162461bcd60e51b815260206004820152601760248201527f746f6b656e496420646f6573206e6f742065786973742e0000000000000000006044820152606401610935565b600060158054611e56906130d7565b905011611e805760405180604001604052806005815260200164173539b7b760d91b815250610828565b6015611e8b8361247f565b604051602001611e9c929190612df2565b60405160208183030381529060405292915050565b600a546001600160a01b03163314611edb5760405162461bcd60e51b815260040161093590612f92565b6001600160a01b038116611f405760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610935565b611f49816123fa565b50565b60006001600160e01b031982166380ac58cd60e01b1480611f7d57506001600160e01b03198216635b5e139f60e01b145b8061082857506301ffc9a760e01b6001600160e01b0319831614610828565b600081815260046020526040902080546001600160a01b0319166001600160a01b0384169081179091558190611fd18261108e565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b6000818152600260205260408120546001600160a01b03166120835760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b6064820152608401610935565b600061208e8361108e565b9050806001600160a01b0316846001600160a01b031614806120c95750836001600160a01b03166120be846108c0565b6001600160a01b0316145b806120f957506001600160a01b0380821660009081526005602090815260408083209388168352929052205460ff165b949350505050565b826001600160a01b03166121148261108e565b6001600160a01b03161461217c5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960448201526839903737ba1037bbb760b91b6064820152608401610935565b6001600160a01b0382166121de5760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b6064820152608401610935565b6121e9838383612599565b6121f4600082611f9c565b6001600160a01b038316600090815260036020526040812080546001929061221d908490613094565b90915550506001600160a01b038216600090815260036020526040812080546001929061224b908490613049565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6001600160a01b0382166123025760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f20616464726573736044820152606401610935565b6000818152600260205260409020546001600160a01b0316156123675760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e746564000000006044820152606401610935565b61237360008383612599565b6001600160a01b038216600090815260036020526040812080546001929061239c908490613049565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b600a80546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a35050565b612457848484612101565b61246384848484612651565b611a245760405162461bcd60e51b815260040161093590612f40565b6060816124a35750506040805180820190915260018152600360fc1b602082015290565b8160005b81156124cd57806124b781613112565b91506124c69050600a83613061565b91506124a7565b60008167ffffffffffffffff8111156124f657634e487b7160e01b600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015612520576020820181803683370190505b5090505b84156120f957612535600183613094565b9150612542600a8661312d565b61254d906030613049565b60f81b81838151811061257057634e487b7160e01b600052603260045260246000fd5b60200101906001600160f81b031916908160001a905350612592600a86613061565b9450612524565b6001600160a01b0383166125f4576125ef81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612617565b816001600160a01b0316836001600160a01b03161461261757612617838261275e565b6001600160a01b03821661262e57610a6b816127fb565b826001600160a01b0316826001600160a01b031614610a6b57610a6b82826128d4565b60006001600160a01b0384163b1561275357604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290612695903390899088908890600401612eac565b602060405180830381600087803b1580156126af57600080fd5b505af19250505080156126df575060408051601f3d908101601f191682019092526126dc91810190612cf7565b60015b612739573d80801561270d576040519150601f19603f3d011682016040523d82523d6000602084013e612712565b606091505b5080516127315760405162461bcd60e51b815260040161093590612f40565b805181602001fd5b6001600160e01b031916630a85bd0160e11b1490506120f9565b506001949350505050565b6000600161276b84611351565b6127759190613094565b6000838152600760205260409020549091508082146127c8576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b60085460009061280d90600190613094565b6000838152600960205260408120546008805493945090928490811061284357634e487b7160e01b600052603260045260246000fd5b90600052602060002001549050806008838154811061287257634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101929092558281526009909152604080822084905585825281205560088054806128b857634e487b7160e01b600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b60006128df83611351565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b828054612924906130d7565b90600052602060002090601f016020900481019282612946576000855561298c565b82601f1061295f57805160ff191683800117855561298c565b8280016001018555821561298c579182015b8281111561298c578251825591602001919060010190612971565b5061299892915061299c565b5090565b5b80821115612998576000815560010161299d565b600067ffffffffffffffff8311156129cb576129cb61316d565b6129de601f8401601f1916602001613018565b90508281528383830111156129f257600080fd5b828260208301376000602084830101529392505050565b80356001600160a01b0381168114612a2057600080fd5b919050565b600060208284031215612a36578081fd5b612a3f82612a09565b9392505050565b60008060408385031215612a58578081fd5b612a6183612a09565b9150612a6f60208401612a09565b90509250929050565b600080600060608486031215612a8c578081fd5b612a9584612a09565b9250612aa360208501612a09565b9150604084013590509250925092565b60008060008060808587031215612ac8578081fd5b612ad185612a09565b9350612adf60208601612a09565b925060408501359150606085013567ffffffffffffffff811115612b01578182fd5b8501601f81018713612b11578182fd5b612b20878235602084016129b1565b91505092959194509250565b60008060408385031215612b3e578182fd5b612b4783612a09565b91506020830135612b5781613183565b809150509250929050565b60008060408385031215612b74578182fd5b612b7d83612a09565b946020939093013593505050565b60008060208385031215612b9d578182fd5b823567ffffffffffffffff80821115612bb4578384fd5b818501915085601f830112612bc7578384fd5b813581811115612bd5578485fd5b8660208260051b8501011115612be9578485fd5b60209290920196919550909350505050565b60006020808385031215612c0d578182fd5b825167ffffffffffffffff80821115612c24578384fd5b818501915085601f830112612c37578384fd5b815181811115612c4957612c4961316d565b8060051b9150612c5a848301613018565b8181528481019084860184860187018a1015612c74578788fd5b8795505b83861015612c96578051835260019590950194918601918601612c78565b5098975050505050505050565b600060208284031215612cb4578081fd5b8135612a3f81613183565b600060208284031215612cd0578081fd5b8151612a3f81613183565b600060208284031215612cec578081fd5b8135612a3f81613191565b600060208284031215612d08578081fd5b8151612a3f81613191565b600060208284031215612d24578081fd5b813567ffffffffffffffff811115612d3a578182fd5b8201601f81018413612d4a578182fd5b6120f9848235602084016129b1565b600060208284031215612d6a578081fd5b5035919050565b600060208284031215612d82578081fd5b5051919050565b60008060408385031215612d9b578182fd5b50508035926020909101359150565b60008151808452612dc28160208601602086016130ab565b601f01601f19169290920160200192915050565b60008151612de88185602086016130ab565b9290920192915050565b600080845482600182811c915080831680612e0e57607f831692505b6020808410821415612e2e57634e487b7160e01b87526022600452602487fd5b818015612e425760018114612e5357612e7f565b60ff19861689528489019650612e7f565b60008b815260209020885b86811015612e775781548b820152908501908301612e5e565b505084890196505b505050505050612ea3612e928286612dd6565b64173539b7b760d91b815260050190565b95945050505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090612edf90830184612daa565b9695505050505050565b6020808252825182820181905260009190848201906040850190845b81811015612f2157835183529284019291840191600101612f05565b50909695505050505050565b602081526000612a3f6020830184612daa565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b604051601f8201601f1916810167ffffffffffffffff811182821017156130415761304161316d565b604052919050565b6000821982111561305c5761305c613141565b500190565b60008261307057613070613157565b500490565b600081600019048311821515161561308f5761308f613141565b500290565b6000828210156130a6576130a6613141565b500390565b60005b838110156130c65781810151838201526020016130ae565b83811115611a245750506000910152565b600181811c908216806130eb57607f821691505b6020821081141561310c57634e487b7160e01b600052602260045260246000fd5b50919050565b600060001982141561312657613126613141565b5060010190565b60008261313c5761313c613157565b500690565b634e487b7160e01b600052601160045260246000fd5b634e487b7160e01b600052601260045260246000fd5b634e487b7160e01b600052604160045260246000fd5b8015158114611f4957600080fd5b6001600160e01b031981168114611f4957600080fdfe4c209b5fc8ad50758f13e2e1088ba56a560dff690a1c6fef26394f4c03821c4fa2646970667358221220ba960423daa34992f543ec0fb8c6871b3fb41a03fc493a0364ad38c4fe0d5cd164736f6c6343000804003300000000000000000000000000000000000000000000000000000000000000c00000000000000000000000000000000000000000000000000000000000000100000000000000000000000000000000000000000000000000000000000000014000000000000000000000000094d4a314fc718adfb3e9e25d3e3a984862ec7f1b000000000000000000000000c0ada8ef0c811fdd3059bb6df5f5947d708f80ae000000000000000000000000a096fa33c27a9f6ee2e0fcedbaa736dfb1288a61000000000000000000000000000000000000000000000000000000000000000e4675644661726d47656e65736973000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000a46554447454e45534953000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000036697066733a2f2f516d576b673259665a5a6f75775a61753736656e63446954544d594c4c675075726655427645347436766a6a64482f00000000000000000000