6014805461ffff60a01b1916600160a01b1790556101c0604052602a61016081815290620045836101803960159062000039908262000935565b506016805461ffff19166127101790556641b9a6e8584000601855601a80546001600160a01b0319167350cde02cb08fe76ecc12a96b0044e275347c4b60179055604080516080810182527323f0dc26ba952fb9e4ac5a55976c7eaef6491cc28152739a7de61e3025ed3a9f86ab5d4413a5d6f7f382f8602082015273405a1f8dbc824f6d3b57efac49263441c47e7af491810191909152735b20f6c42a42f5a108600d4ee901ea55ddba594a6060820152620000fb90601b906004620007d5565b5060408051608081018252606481526103826020820152600191810182905260608101919091526200013290601c9060046200083d565b50601b6001815481106200014a576200014a620009fd565b5f9182526020918290200154601d80546001600160a01b0319166001600160a01b03909216919091179055604080518082018252600d81526c42697264204275696c6465727360981b818401528151808301835260018152603160f81b81850152601b8054845181870281018701909552808552339593949293830182828015620001fd57602002820191905f5260205f20905b81546001600160a01b03168152600190910190602001808311620001de575b5050505050601c8054806020026020016040519081016040528092919081815260200182805480156200024e57602002820191905f5260205f20905b81548152602001906001019080831162000239575b50505050506040518060400160405280600d81526020016c42697264204275696c6465727360981b81525060405180604001604052806005815260200164109552531160da1b8152508160029081620002a8919062000935565b506003620002b7828262000935565b505f8055505060016008558051825114620003345760405162461bcd60e51b815260206004820152603260248201527f5061796d656e7453706c69747465723a2070617965657320616e6420736861726044820152710cae640d8cadccee8d040dad2e6dac2e8c6d60731b60648201526084015b60405180910390fd5b5f825111620003865760405162461bcd60e51b815260206004820152601a60248201527f5061796d656e7453706c69747465723a206e6f2070617965657300000000000060448201526064016200032b565b5f5b8251811015620003f157620003dc838281518110620003ab57620003ab620009fd565b6020026020010151838381518110620003c857620003c8620009fd565b6020026020010151620004ca60201b60201c565b80620003e88162000a25565b91505062000388565b50620004039150839050601262000664565b610120526200041481601362000664565b61014052815160208084019190912060e052815190820120610100524660a052620004a160e05161010051604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201529081019290925260608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b60805250503060c052620004b5816200069c565b50620004c4306101f4620006ed565b62000ac7565b6001600160a01b038216620005375760405162461bcd60e51b815260206004820152602c60248201527f5061796d656e7453706c69747465723a206163636f756e74206973207468652060448201526b7a65726f206164647265737360a01b60648201526084016200032b565b6001600160a01b0382165f908152600b602052604090205415620005b25760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e7420616c726561647960448201526a206861732073686172657360a81b60648201526084016200032b565b600d8054600181019091557fd7b6990105719101dabeb77144f2a3385c8033acd3af97e9423a695e81ad1eb50180546001600160a01b0319166001600160a01b0384169081179091555f908152600b602052604090208190556009546200061b90829062000a40565b600955604080516001600160a01b0384168152602081018390527f40c340f65e17194d14ddddb073d3c9f888e3cb52b5aae0c6c7706b4fbc905fac910160405180910390a15050565b5f60208351101562000683576200067b8362000793565b905062000696565b8162000690848262000935565b5060ff90505b92915050565b601480546001600160a01b038381166001600160a01b0319831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b6127106001600160601b0382168110156200072e57604051636f483d0960e01b81526001600160601b0383166004820152602481018290526044016200032b565b6001600160a01b0383166200075957604051635b6cc80560e11b81525f60048201526024016200032b565b50604080518082019091526001600160a01b039092168083526001600160601b039091166020909201829052600160a01b90910217601055565b5f80829050601f81511115620007c0578260405163305a27a960e01b81526004016200032b919062000a56565b8051620007cd8262000aa3565b179392505050565b828054828255905f5260205f209081019282156200082b579160200282015b828111156200082b57825182546001600160a01b0319166001600160a01b03909116178255602090920191600190910190620007f4565b50620008399291506200087f565b5090565b828054828255905f5260205f209081019282156200082b579160200282015b828111156200082b578251829061ffff169055916020019190600101906200085c565b5b8082111562000839575f815560010162000880565b634e487b7160e01b5f52604160045260245ffd5b600181811c90821680620008be57607f821691505b602082108103620008dd57634e487b7160e01b5f52602260045260245ffd5b50919050565b601f82111562000930575f81815260208120601f850160051c810160208610156200090b5750805b601f850160051c820191505b818110156200092c5782815560010162000917565b5050505b505050565b81516001600160401b0381111562000951576200095162000895565b6200096981620009628454620008a9565b84620008e3565b602080601f8311600181146200099f575f8415620009875750858301515b5f19600386901b1c1916600185901b1785556200092c565b5f85815260208120601f198616915b82811015620009cf57888601518255948401946001909101908401620009ae565b5085821015620009ed57878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52601160045260245ffd5b5f6001820162000a395762000a3962000a11565b5060010190565b8082018082111562000696576200069662000a11565b5f6020808352835180828501525f5b8181101562000a835785810183015185820160400152820162000a65565b505f604082860101526040601f19601f8301168501019250505092915050565b80516020808301519190811015620008dd575f1960209190910360031b1b16919050565b60805160a05160c05160e051610100516101205161014051613a6a62000b195f395f61282601525f6127f901525f6126d101525f6126a901525f61260401525f61262e01525f6126580152613a6a5ff3fe60806040526004361061031c575f3560e01c80636d41d4fb1161019c578063a3f8eace116100e7578063ce7c2ac211610092578063e33b7de31161006d578063e33b7de31461096c578063e985e9c514610980578063f2fde38b146109c7578063f851a440146109e6575f80fd5b8063ce7c2ac2146108d7578063d5abeb011461090b578063d79779b214610938575f80fd5b8063c45ac050116100c2578063c45ac05014610867578063c793803c14610886578063c87b56dd146108b8575f80fd5b8063a3f8eace14610816578063b88d4fde14610835578063bd32fb6614610848575f80fd5b80638da5cb5b1161014757806398fa6c451161012257806398fa6c45146107c55780639999a040146107e4578063a22cb465146107f7575f80fd5b80638da5cb5b1461076057806395d89b411461077d5780639852595c14610791575f80fd5b8063715018a611610177578063715018a61461070657806384b0196e1461071a5780638b83209b14610741575f80fd5b80636d41d4fb1461069d578063704b6c02146106c857806370a08231146106e7575f80fd5b806323b872dd1161026757806348b75044116102125780635c975abb116101ed5780635c975abb1461062b5780636352211e1461064b5780636c0360eb1461066a5780636c8e7ec51461067e575f80fd5b806348b75044146105ce57806355f804b3146105ed5780635634c5921461060c575f80fd5b8063406072a911610242578063406072a91461055857806342842e0e1461059c57806344a0d68a146105af575f80fd5b806323b872dd146104f35780632a55205a146105065780633a98ef3914610544575f80fd5b806311d4bc9a116102c757806318160ddd116102a257806318160ddd1461049e57806319165587146104b557806320510b55146104d4575f80fd5b806311d4bc9a1461044857806313faede61461045c57806316c38b3c1461047f575f80fd5b806306fdde03116102f757806306fdde03146103dd578063081812fc146103fe578063095ea7b314610435575f80fd5b806301b4afbf1461036957806301ffc9a71461039d57806304634d8d146103bc575f80fd5b36610365577f6ef95f06320e7a25a04a175ca677b7052bdd97131872c2192525a629f51be77033604080516001600160a01b0390921682523460208301520160405180910390a1005b5f80fd5b348015610374575f80fd5b506103886103833660046131e7565b610a05565b60405190151581526020015b60405180910390f35b3480156103a8575f80fd5b506103886103b736600461326c565b610aa6565b3480156103c7575f80fd5b506103db6103d6366004613287565b610ab6565b005b3480156103e8575f80fd5b506103f1610b38565b604051610394919061331b565b348015610409575f80fd5b5061041d61041836600461332d565b610bc8565b6040516001600160a01b039091168152602001610394565b6103db610443366004613344565b610c23565b348015610453575f80fd5b506103db610ce7565b348015610467575f80fd5b5061047160185481565b604051908152602001610394565b34801561048a575f80fd5b506103db61049936600461337b565b610d98565b3480156104a9575f80fd5b506001545f5403610471565b3480156104c0575f80fd5b506103db6104cf366004613396565b610e40565b3480156104df575f80fd5b506103db6104ee366004613396565b610fce565b6103db6105013660046133b1565b61106c565b348015610511575f80fd5b506105256105203660046133ef565b61127a565b604080516001600160a01b039093168352602083019190915201610394565b34801561054f575f80fd5b50600954610471565b348015610563575f80fd5b5061047161057236600461340f565b6001600160a01b039182165f908152600f6020908152604080832093909416825291909152205490565b6103db6105aa3660046133b1565b611335565b3480156105ba575f80fd5b506103db6105c936600461332d565b611354565b3480156105d9575f80fd5b506103db6105e836600461340f565b6113c8565b3480156105f8575f80fd5b506103db6106073660046134c2565b611580565b348015610617575f80fd5b506103db610626366004613344565b611667565b348015610636575f80fd5b5060145461038890600160a01b900460ff1681565b348015610656575f80fd5b5061041d61066536600461332d565b6116e0565b348015610675575f80fd5b506103f16116ea565b348015610689575f80fd5b50610388610698366004613525565b611776565b3480156106a8575f80fd5b506104716106b7366004613396565b60196020525f908152604090205481565b3480156106d3575f80fd5b506103db6106e2366004613396565b611875565b3480156106f2575f80fd5b50610471610701366004613396565b6118ac565b348015610711575f80fd5b506103db611912565b348015610725575f80fd5b5061072e611925565b6040516103949796959493929190613557565b34801561074c575f80fd5b5061041d61075b36600461332d565b611983565b34801561076b575f80fd5b506014546001600160a01b031661041d565b348015610788575f80fd5b506103f16119b1565b34801561079c575f80fd5b506104716107ab366004613396565b6001600160a01b03165f908152600c602052604090205490565b3480156107d0575f80fd5b506103db6107df366004613607565b6119c0565b6103db6107f2366004613628565b611b62565b348015610802575f80fd5b506103db6108113660046136be565b611df1565b348015610821575f80fd5b50610471610830366004613396565b611e7a565b6103db6108433660046136ea565b611ec0565b348015610853575f80fd5b506103db61086236600461332d565b611f0a565b348015610872575f80fd5b5061047161088136600461340f565b611fcb565b348015610891575f80fd5b50601454610388907501000000000000000000000000000000000000000000900460ff1681565b3480156108c3575f80fd5b506103f16108d236600461332d565b6120a3565b3480156108e2575f80fd5b506104716108f1366004613396565b6001600160a01b03165f908152600b602052604090205490565b348015610916575f80fd5b506016546109259061ffff1681565b60405161ffff9091168152602001610394565b348015610943575f80fd5b50610471610952366004613396565b6001600160a01b03165f908152600e602052604090205490565b348015610977575f80fd5b50600a54610471565b34801561098b575f80fd5b5061038861099a36600461340f565b6001600160a01b039182165f90815260076020908152604080832093909416825291909152205460ff1690565b3480156109d2575f80fd5b506103db6109e1366004613396565b61213c565b3480156109f1575f80fd5b50601d5461041d906001600160a01b031681565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606086901b166020820152603481018290525f908190605401604051602081830303815290604052805190602001209050610a9a8585808060200260200160405190810160405280939291908181526020018383602002808284375f92019190915250506017549150849050612192565b9150505b949350505050565b5f610ab0826121a7565b92915050565b6014546001600160a01b0316331480610ad95750601d546001600160a01b031633145b610b2a5760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e657200000000000000000060448201526064015b60405180910390fd5b610b34828261223d565b5050565b606060028054610b4790613752565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7390613752565b8015610bbe5780601f10610b9557610100808354040283529160200191610bbe565b820191905f5260205f20905b815481529060010190602001808311610ba157829003601f168201915b5050505050905090565b5f610bd282612320565b610c08576040517fcf4700e400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b505f908152600660205260409020546001600160a01b031690565b5f610c2d826116e0565b9050336001600160a01b03821614610c7f57610c49813361099a565b610c7f576040517fcfb3b94200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f82815260066020526040808220805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0387811691821790925591518593918516917f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591a4505050565b6014546001600160a01b0316331480610d0a5750601d546001600160a01b031633145b610d565760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b601480547fffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffffff167501000000000000000000000000000000000000000000179055565b6014546001600160a01b0316331480610dbb5750601d546001600160a01b031633145b610e075760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b60148054911515600160a01b027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff909216919091179055565b6001600160a01b0381165f908152600b6020526040902054610eca5760405162461bcd60e51b815260206004820152602660248201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060448201527f73686172657300000000000000000000000000000000000000000000000000006064820152608401610b21565b5f610ed482611e7a565b9050805f03610f4b5760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060448201527f647565207061796d656e740000000000000000000000000000000000000000006064820152608401610b21565b80600a5f828254610f5c919061379e565b90915550506001600160a01b0382165f908152600c60205260409020805482019055610f88828261235e565b604080516001600160a01b0384168152602081018390527fdf20fd1e76bc69d672e4814fafb2c449bba3a5369d8359adf9e05e6fde87b056910160405180910390a15050565b6014546001600160a01b0316331480610ff15750601d546001600160a01b031633145b61103d5760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b601a805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b5f61107682612423565b9050836001600160a01b0316816001600160a01b0316146110c3576040517fa114810000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8281526006602052604090208054338082146001600160a01b03881690911417611128576110f2863361099a565b611128576040517f59c896be00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b038516611168576040517fea553b3400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b8015611172575f82555b6001600160a01b038681165f9081526005602052604080822080545f19019055918716808252919020805460010190554260a01b177c0200000000000000000000000000000000000000000000000000000000175f858152600460205260408120919091557c02000000000000000000000000000000000000000000000000000000008416900361123057600184015f81815260046020526040812054900361122e575f54811461122e575f8181526004602052604090208490555b505b83856001600160a01b0316876001600160a01b03167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45b505050505050565b5f8281526011602090815260408083208151808301909252546001600160a01b038116808352600160a01b9091046bffffffffffffffffffffffff169282019290925282916112f85750604080518082019091526010546001600160a01b0381168252600160a01b90046bffffffffffffffffffffffff1660208201525b60208101515f906127109061131b906bffffffffffffffffffffffff16876137b1565b61132591906137c8565b91519350909150505b9250929050565b61134f83838360405180602001604052805f815250611ec0565b505050565b6014546001600160a01b03163314806113775750601d546001600160a01b031633145b6113c35760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b601855565b6001600160a01b0381165f908152600b60205260409020546114525760405162461bcd60e51b815260206004820152602660248201527f5061796d656e7453706c69747465723a206163636f756e7420686173206e6f2060448201527f73686172657300000000000000000000000000000000000000000000000000006064820152608401610b21565b5f61145d8383611fcb565b9050805f036114d45760405162461bcd60e51b815260206004820152602b60248201527f5061796d656e7453706c69747465723a206163636f756e74206973206e6f742060448201527f647565207061796d656e740000000000000000000000000000000000000000006064820152608401610b21565b6001600160a01b0383165f908152600e6020526040812080548392906114fb90849061379e565b90915550506001600160a01b038084165f908152600f602090815260408083209386168352929052208054820190556115358383836124b6565b604080516001600160a01b038481168252602082018490528516917f3be5b7a71e84ed12875d241991c70855ac5817d847039e17a9d895c1ceb0f18a910160405180910390a2505050565b6014546001600160a01b03163314806115a35750601d546001600160a01b031633145b6115ef5760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b6014547501000000000000000000000000000000000000000000900460ff161561165b5760405162461bcd60e51b815260206004820152601660248201527f4275696c6465723a207572692069732066726f7a656e000000000000000000006044820152606401610b21565b6015610b34828261382c565b6014546001600160a01b031633148061168a5750601d546001600160a01b031633145b6116d65760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b610b348282612536565b5f610ab082612423565b601580546116f790613752565b80601f016020809104026020016040519081016040528092919081815260200182805461172390613752565b801561176e5780601f106117455761010080835404028352916020019161176e565b820191905f5260205f20905b81548152906001019060200180831161175157829003601f168201915b505050505081565b5f806117806125f8565b90505f7ff0b1559ff024fe6a211400bbc1acc6696aa7b9b46e865f1a4e1237c70ff68d15336117ae336118ac565b6040516020016117da939291909283526001600160a01b03919091166020830152604082015260600190565b6040516020818303038152906040528051906020012090505f82826040516020016118379291907f190100000000000000000000000000000000000000000000000000000000000081526002810192909252602282015260420190565b6040516020818303038152906040528051906020012090505f61185a8287612726565b601a546001600160a01b039182169116149695505050505050565b61187d61274e565b601d805473ffffffffffffffffffffffffffffffffffffffff19166001600160a01b0392909216919091179055565b5f6001600160a01b0382166118ed576040517f8f4eb60400000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b506001600160a01b03165f9081526005602052604090205467ffffffffffffffff1690565b61191a61274e565b6119235f612794565b565b5f6060805f805f60606119366127f2565b61193e61281f565b604080515f808252602082019092527f0f000000000000000000000000000000000000000000000000000000000000009b939a50919850469750309650945092509050565b5f600d8281548110611997576119976138e8565b5f918252602090912001546001600160a01b031692915050565b606060038054610b4790613752565b6014546001600160a01b03163314806119e35750601d546001600160a01b031633145b611a2f5760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b60165461ffff90811690821610611aae5760405162461bcd60e51b815260206004820152603760248201527f4275696c6465723a204e6577206d6178696d756d206d757374206265206c657360448201527f73207468616e206578697374696e67206d6178696d756d0000000000000000006064820152608401610b21565b6001545f54038161ffff161015611b2d5760405162461bcd60e51b815260206004820152603460248201527f4275696c6465723a204e6577206d6178696d756d2063616e2774206265206c6560448201527f7373207468616e206d696e74656420636f756e740000000000000000000000006064820152608401610b21565b601680547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00001661ffff92909216919091179055565b611b6a61284c565b611ba885858080601f0160208091040260200160405190810160405280939291908181526020018383808284375f9201919091525061177692505050565b611bf45760405162461bcd60e51b815260206004820152601f60248201527f4275696c6465723a206d696e742066726f6d2077656273697465206f6e6c79006044820152606401610b21565b60165461ffff16611c076001545f540390565b611c1290600161379e565b1115611c865760405162461bcd60e51b815260206004820152602860248201527f4275696c6465723a2043616e2774206d696e74206d6f7265207468616e206d6160448201527f7820737570706c790000000000000000000000000000000000000000000000006064820152608401610b21565b6014546001600160a01b031633141580611caa5750601d546001600160a01b031633145b15611d0957601454600160a01b900460ff1615611d095760405162461bcd60e51b815260206004820181905260248201527f4275696c6465723a206d696e74696e67206973206e6f74206f70656e207965746044820152606401610b21565b611d1533848484610a05565b8015611d2e5750335f9081526019602052604090205481115b15611d5d57335f908152601960205260408120805460019290611d5290849061379e565b90915550611dd59050565b601854341015611dd55760405162461bcd60e51b815260206004820152602160248201527f4275696c6465723a20596f75206d7573742070617920666f7220746865206e6660448201527f74000000000000000000000000000000000000000000000000000000000000006064820152608401610b21565b611de033600161288f565b611dea6001600855565b5050505050565b335f8181526007602090815260408083206001600160a01b0387168085529083529281902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001686151590811790915590519081529192917f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a35050565b5f80611e85600a5490565b611e8f904761379e565b9050611eb98382611eb4866001600160a01b03165f908152600c602052604090205490565b6128a8565b9392505050565b611ecb84848461106c565b6001600160a01b0383163b15611f0457611ee7848484846128e5565b611f04576040516368d2bf6b60e11b815260040160405180910390fd5b50505050565b6014546001600160a01b0316331480611f2d5750601d546001600160a01b031633145b611f795760405162461bcd60e51b815260206004820152601760248201527f4275696c6465723a206f6e6c7920666f72206f776e65720000000000000000006044820152606401610b21565b80611fc65760405162461bcd60e51b815260206004820152601b60248201527f4275696c6465723a206d65726b6c65526f6f74206973207a65726f00000000006044820152606401610b21565b601755565b6001600160a01b0382165f908152600e602052604081205481906040517f70a082310000000000000000000000000000000000000000000000000000000081523060048201526001600160a01b038616906370a0823190602401602060405180830381865afa158015612040573d5f803e3d5ffd5b505050506040513d601f19601f8201168201806040525081019061206491906138fc565b61206e919061379e565b6001600160a01b038086165f908152600f6020908152604080832093881683529290522054909150610a9e90849083906128a8565b60606120ae82612320565b6120e4576040517fa14c4b5000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6120ed612a13565b905080515f0361210b5760405180602001604052805f815250611eb9565b8061211584612a22565b604051602001612126929190613913565b6040516020818303038152906040529392505050565b61214461274e565b6001600160a01b038116612186576040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081525f6004820152602401610b21565b61218f81612794565b50565b5f8261219e8584612a65565b14949350505050565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f2a55205a000000000000000000000000000000000000000000000000000000001480610ab057507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610ab0565b6127106bffffffffffffffffffffffff821681101561229f576040517f6f483d090000000000000000000000000000000000000000000000000000000081526bffffffffffffffffffffffff8316600482015260248101829052604401610b21565b6001600160a01b0383166122e1576040517fb6d9900a0000000000000000000000000000000000000000000000000000000081525f6004820152602401610b21565b50604080518082019091526001600160a01b039092168083526bffffffffffffffffffffffff9091166020909201829052600160a01b90910217601055565b5f805482108015610ab05750505f908152600460205260409020547c0100000000000000000000000000000000000000000000000000000000161590565b8047101561239a576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610b21565b5f826001600160a01b0316826040515f6040518083038185875af1925050503d805f81146123e3576040519150601f19603f3d011682016040523d82523d5f602084013e6123e8565b606091505b505090508061134f576040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f815f54811015612484575f81815260046020526040812054907c010000000000000000000000000000000000000000000000000000000082169003612482575b805f03611eb957505f19015f81815260046020526040902054612464565b505b6040517fdf2d9b4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b604080516001600160a01b038416602482015260448082018490528251808303909101815260649091019091526020810180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167fa9059cbb0000000000000000000000000000000000000000000000000000000017905261134f908490612ad5565b6001600160a01b0382165f908152600b602052604090205460095461255c90839061379e565b6125669190613969565b60098190556125dd5760405162461bcd60e51b815260206004820152602560248201527f5061796d656e7453706c69747465723a2063616e6e6f7420686176652030207360448201527f68617265730000000000000000000000000000000000000000000000000000006064820152608401610b21565b6001600160a01b039091165f908152600b6020526040902055565b5f306001600160a01b037f00000000000000000000000000000000000000000000000000000000000000001614801561265057507f000000000000000000000000000000000000000000000000000000000000000046145b1561267a57507f000000000000000000000000000000000000000000000000000000000000000090565b612721604080517f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f60208201527f0000000000000000000000000000000000000000000000000000000000000000918101919091527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a08201525f9060c00160405160208183030381529060405280519060200120905090565b905090565b5f805f806127348686612b4f565b9250925092506127448282612b98565b5090949350505050565b6014546001600160a01b03163314611923576040517f118cdaa7000000000000000000000000000000000000000000000000000000008152336004820152602401610b21565b601480546001600160a01b0383811673ffffffffffffffffffffffffffffffffffffffff19831681179093556040519116919082907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0905f90a35050565b60606127217f00000000000000000000000000000000000000000000000000000000000000006012612c9b565b60606127217f00000000000000000000000000000000000000000000000000000000000000006013612c9b565b600260085403612888576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002600855565b610b34828260405180602001604052805f815250612d44565b6009546001600160a01b0384165f908152600b6020526040812054909183916128d190866137b1565b6128db91906137c8565b610a9e9190613969565b6040517f150b7a020000000000000000000000000000000000000000000000000000000081525f906001600160a01b0385169063150b7a029061293290339089908890889060040161397c565b6020604051808303815f875af192505050801561296c575060408051601f3d908101601f19168201909252612969918101906139b7565b60015b6129c8573d808015612999576040519150601f19603f3d011682016040523d82523d5f602084013e61299e565b606091505b5080515f036129c0576040516368d2bf6b60e11b815260040160405180910390fd5b805181602001fd5b7fffffffff00000000000000000000000000000000000000000000000000000000167f150b7a0200000000000000000000000000000000000000000000000000000000149050610a9e565b606060158054610b4790613752565b606060a06040510180604052602081039150505f815280825b600183039250600a81066030018353600a900480612a3b5750819003601f19909101908152919050565b5f81815b8451811015612acd575f858281518110612a8557612a856138e8565b60200260200101519050808311612aaa575f8381526020829052604090209250612aba565b5f81815260208490526040902092505b5080612ac5816139d2565b915050612a69565b509392505050565b5f612ae96001600160a01b03841683612da6565b905080515f14158015612b0d575080806020019051810190612b0b91906139ea565b155b1561134f576040517f5274afe70000000000000000000000000000000000000000000000000000000081526001600160a01b0384166004820152602401610b21565b5f805f8351604103612b86576020840151604085015160608601515f1a612b7888828585612db6565b955095509550505050612b91565b505081515f91506002905b9250925092565b5f826003811115612bab57612bab613a05565b03612bb4575050565b6001826003811115612bc857612bc8613a05565b03612bff576040517ff645eedf00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6002826003811115612c1357612c13613a05565b03612c4d576040517ffce698f700000000000000000000000000000000000000000000000000000000815260048101829052602401610b21565b6003826003811115612c6157612c61613a05565b03610b34576040517fd78bce0c00000000000000000000000000000000000000000000000000000000815260048101829052602401610b21565b606060ff8314612cb557612cae83612e7e565b9050610ab0565b818054612cc190613752565b80601f0160208091040260200160405190810160405280929190818152602001828054612ced90613752565b8015612d385780601f10612d0f57610100808354040283529160200191612d38565b820191905f5260205f20905b815481529060010190602001808311612d1b57829003601f168201915b50505050509050610ab0565b612d4e8383612ebb565b6001600160a01b0383163b1561134f575f548281035b612d765f8683806001019450866128e5565b612d93576040516368d2bf6b60e11b815260040160405180910390fd5b818110612d6457815f5414611dea575f80fd5b6060611eb983835f612fe6613018565b5f80807f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a0841115612def57505f91506003905082612e74565b604080515f808252602082018084528a905260ff891692820192909252606081018790526080810186905260019060a0016020604051602081039080840390855afa158015612e40573d5f803e3d5ffd5b5050604051601f1901519150506001600160a01b038116612e6b57505f925060019150829050612e74565b92505f91508190505b9450945094915050565b60605f612e8a836130cc565b6040805160208082528183019092529192505f91906020820181803683375050509182525060208101929092525090565b5f805490829003612ef8576040517fb562e8dd00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6001600160a01b0383165f8181526005602090815260408083208054680100000000000000018802019055848352600490915281206001851460e11b4260a01b178317905582840190839083907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8180a4600183015b818114612fa45780835f7fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef5f80a4600101612f6e565b50815f03612fde576040517f2e07630000000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5550505050565b6040517f1425ea4200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606082471015613056576040517fcd786059000000000000000000000000000000000000000000000000000000008152306004820152602401610b21565b5f80866001600160a01b031685876040516130719190613a19565b5f6040518083038185875af1925050503d805f81146130ab576040519150601f19603f3d011682016040523d82523d5f602084013e6130b0565b606091505b50915091506130c18783838761310c565b979650505050505050565b5f60ff8216601f811115610ab0576040517fb3512b0c00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b606083156131715782515f0361316a57846001600160a01b03163b5f0361316a576040517f9996b3150000000000000000000000000000000000000000000000000000000081526001600160a01b0386166004820152602401610b21565b5081610a9e565b610a9e83838151156131865781518083602001fd5b612fe68163ffffffff16565b6001600160a01b038116811461218f575f80fd5b5f8083601f8401126131b6575f80fd5b50813567ffffffffffffffff8111156131cd575f80fd5b6020830191508360208260051b850101111561132e575f80fd5b5f805f80606085870312156131fa575f80fd5b843561320581613192565b9350602085013567ffffffffffffffff811115613220575f80fd5b61322c878288016131a6565b9598909750949560400135949350505050565b7fffffffff000000000000000000000000000000000000000000000000000000008116811461218f575f80fd5b5f6020828403121561327c575f80fd5b8135611eb98161323f565b5f8060408385031215613298575f80fd5b82356132a381613192565b915060208301356bffffffffffffffffffffffff811681146132c3575f80fd5b809150509250929050565b5f5b838110156132e85781810151838201526020016132d0565b50505f910152565b5f81518084526133078160208601602086016132ce565b601f01601f19169290920160200192915050565b602081525f611eb960208301846132f0565b5f6020828403121561333d575f80fd5b5035919050565b5f8060408385031215613355575f80fd5b823561336081613192565b946020939093013593505050565b801515811461218f575f80fd5b5f6020828403121561338b575f80fd5b8135611eb98161336e565b5f602082840312156133a6575f80fd5b8135611eb981613192565b5f805f606084860312156133c3575f80fd5b83356133ce81613192565b925060208401356133de81613192565b929592945050506040919091013590565b5f8060408385031215613400575f80fd5b50508035926020909101359150565b5f8060408385031215613420575f80fd5b823561342b81613192565b915060208301356132c381613192565b634e487b7160e01b5f52604160045260245ffd5b5f67ffffffffffffffff808411156134695761346961343b565b604051601f8501601f19908116603f011681019082821181831017156134915761349161343b565b816040528093508581528686860111156134a9575f80fd5b858560208301375f602087830101525050509392505050565b5f602082840312156134d2575f80fd5b813567ffffffffffffffff8111156134e8575f80fd5b8201601f810184136134f8575f80fd5b610a9e8482356020840161344f565b5f82601f830112613516575f80fd5b611eb98383356020850161344f565b5f60208284031215613535575f80fd5b813567ffffffffffffffff81111561354b575f80fd5b610a9e84828501613507565b7fff00000000000000000000000000000000000000000000000000000000000000881681525f602060e08184015261359260e084018a6132f0565b83810360408501526135a4818a6132f0565b606085018990526001600160a01b038816608086015260a0850187905284810360c086015285518082528387019250908301905f5b818110156135f5578351835292840192918401916001016135d9565b50909c9b505050505050505050505050565b5f60208284031215613617575f80fd5b813561ffff81168114611eb9575f80fd5b5f805f805f6060868803121561363c575f80fd5b853567ffffffffffffffff80821115613653575f80fd5b818801915088601f830112613666575f80fd5b813581811115613674575f80fd5b896020828501011115613685575f80fd5b60209283019750955090870135908082111561369f575f80fd5b506136ac888289016131a6565b96999598509660400135949350505050565b5f80604083850312156136cf575f80fd5b82356136da81613192565b915060208301356132c38161336e565b5f805f80608085870312156136fd575f80fd5b843561370881613192565b9350602085013561371881613192565b925060408501359150606085013567ffffffffffffffff81111561373a575f80fd5b61374687828801613507565b91505092959194509250565b600181811c9082168061376657607f821691505b60208210810361378457634e487b7160e01b5f52602260045260245ffd5b50919050565b634e487b7160e01b5f52601160045260245ffd5b80820180821115610ab057610ab061378a565b8082028115828204841417610ab057610ab061378a565b5f826137e257634e487b7160e01b5f52601260045260245ffd5b500490565b601f82111561134f575f81815260208120601f850160051c8101602086101561380d5750805b601f850160051c820191505b8181101561127257828155600101613819565b815167ffffffffffffffff8111156138465761384661343b565b61385a816138548454613752565b846137e7565b602080601f83116001811461388d575f84156138765750858301515b5f19600386901b1c1916600185901b178555611272565b5f85815260208120601f198616915b828110156138bb5788860151825594840194600190910190840161389c565b50858210156138d857878501515f19600388901b60f8161c191681555b5050505050600190811b01905550565b634e487b7160e01b5f52603260045260245ffd5b5f6020828403121561390c575f80fd5b5051919050565b5f83516139248184602088016132ce565b8351908301906139388183602088016132ce565b7f2e6a736f6e0000000000000000000000000000000000000000000000000000009101908152600501949350505050565b81810381811115610ab057610ab061378a565b5f6001600160a01b038087168352808616602084015250836040830152608060608301526139ad60808301846132f0565b9695505050505050565b5f602082840312156139c7575f80fd5b8151611eb98161323f565b5f5f1982036139e3576139e361378a565b5060010190565b5f602082840312156139fa575f80fd5b8151611eb98161336e565b634e487b7160e01b5f52602160045260245ffd5b5f8251613a2a8184602087016132ce565b919091019291505056fea2646970667358221220f5588f72a2a0e70cd040774c04f3fe9a44fb53ecd6cf71d527ef12b529bad27564736f6c6343000815003368747470733a2f2f6d696e742d6a736f6e2d6275636b65742e73332e616d617a6f6e6177732e636f6d2f