60c0604052737a250d5630b4cf539739df2c5dacb4c659f2488d600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600e60006101000a81548160ff0219169083151502179055506000600e60016101000a81548160ff0219169083151502179055506000600e60026101000a81548160ff0219169083151502179055506001601060006101000a81548160ff021916908315150217905550348015620000d257600080fd5b506040518060400160405280600a81526020017f486561727420436f696e000000000000000000000000000000000000000000008152506040518060400160405280600581526020017f484541525400000000000000000000000000000000000000000000000000000081525081600390805190602001906200015792919062000c1a565b5080600490805190602001906200017092919062000c1a565b5050506200019362000187620006da60201b60201c565b620006e260201b60201c565b6000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050620001cd816001620007a860201b60201c565b8073ffffffffffffffffffffffffffffffffffffffff1660808173ffffffffffffffffffffffffffffffffffffffff16815250508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa1580156200024d573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000273919062000d34565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015620002db573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000301919062000d34565b6040518363ffffffff1660e01b81526004016200032092919062000d77565b6020604051808303816000875af115801562000340573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000366919062000d34565b73ffffffffffffffffffffffffffffffffffffffff1660a08173ffffffffffffffffffffffffffffffffffffffff1681525050620003ae60a0516001620007a860201b60201c565b620003c360a05160016200089260201b60201c565b600060199050600080600080602d905060008060008069d3c21bcecceda1000000905069043c33c1937564800000600b8190555069043c33c1937564800000600d819055506103e8600a826200041a919062000ddd565b62000426919062000e6d565b600c819055508860158190555087601681905550866017819055508560188190555060185460175460165460155462000460919062000ea5565b6200046c919062000ea5565b62000478919062000ea5565b60148190555084601a8190555083601b8190555082601c8190555081601d81905550601d54601c54601b54601a54620004b2919062000ea5565b620004be919062000ea5565b620004ca919062000ea5565b601981905550733472b2fef357cc2c239b32b1791ee1a5c7484096600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733472b2fef357cc2c239b32b1791ee1a5c7484096600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733472b2fef357cc2c239b32b1791ee1a5c7484096600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550733472b2fef357cc2c239b32b1791ee1a5c7484096600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000646620006386200093360201b60201c565b60016200095d60201b60201c565b620006593060016200095d60201b60201c565b6200066e61dead60016200095d60201b60201c565b62000690620006826200093360201b60201c565b6001620007a860201b60201c565b620006a3306001620007a860201b60201c565b620006b861dead6001620007a860201b60201c565b620006ca338262000a9760201b60201c565b50505050505050505050620010c4565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b620007b8620006da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620007de6200093360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000837576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016200082e9062000f63565b60405180910390fd5b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b80602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6200096d620006da60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620009936200093360201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1614620009ec576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009e39062000f63565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df78260405162000a8b919062000fa2565b60405180910390a25050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141562000b0a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000b01906200100f565b60405180910390fd5b62000b1e6000838362000c1060201b60201c565b806002600082825462000b32919062000ea5565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000b89919062000ea5565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8360405162000bf0919062001042565b60405180910390a362000c0c6000838362000c1560201b60201c565b5050565b505050565b505050565b82805462000c28906200108e565b90600052602060002090601f01602090048101928262000c4c576000855562000c98565b82601f1062000c6757805160ff191683800117855562000c98565b8280016001018555821562000c98579182015b8281111562000c9757825182559160200191906001019062000c7a565b5b50905062000ca7919062000cab565b5090565b5b8082111562000cc657600081600090555060010162000cac565b5090565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600062000cfc8262000ccf565b9050919050565b62000d0e8162000cef565b811462000d1a57600080fd5b50565b60008151905062000d2e8162000d03565b92915050565b60006020828403121562000d4d5762000d4c62000cca565b5b600062000d5d8482850162000d1d565b91505092915050565b62000d718162000cef565b82525050565b600060408201905062000d8e600083018562000d66565b62000d9d602083018462000d66565b9392505050565b6000819050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b600062000dea8262000da4565b915062000df78362000da4565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000e335762000e3262000dae565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b600062000e7a8262000da4565b915062000e878362000da4565b92508262000e9a5762000e9962000e3e565b5b828204905092915050565b600062000eb28262000da4565b915062000ebf8362000da4565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000ef75762000ef662000dae565b5b828201905092915050565b600082825260208201905092915050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600062000f4b60208362000f02565b915062000f588262000f13565b602082019050919050565b6000602082019050818103600083015262000f7e8162000f3c565b9050919050565b60008115159050919050565b62000f9c8162000f85565b82525050565b600060208201905062000fb9600083018462000f91565b92915050565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b600062000ff7601f8362000f02565b9150620010048262000fbf565b602082019050919050565b600060208201905081810360008301526200102a8162000fe8565b9050919050565b6200103c8162000da4565b82525050565b600060208201905062001059600083018462001031565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680620010a757607f821691505b60208210811415620010be57620010bd6200105f565b5b50919050565b60805160a051615d4d620011376000396000818161154701528181611f4a0152818161224f01528181612fdd015281816130c6015261326301526000818161100b0152818161320b0152818161443f0152818161452001528181614547015281816145e3015261460a0152615d4d6000f3fe6080604052600436106103c75760003560e01c80638da5cb5b116101f2578063c18bc1951161010d578063e7ad9fcd116100a0578063f63743421161006f578063f637434214610e8d578063f8b45b0514610eb8578063fb002c9714610ee3578063fd72e22a14610f0e576103ce565b8063e7ad9fcd14610de5578063e884f26014610e0e578063f11a24d314610e39578063f2fde38b14610e64576103ce565b8063d85ba063116100dc578063d85ba06314610d15578063dd62ed3e14610d40578063e2f4560514610d7d578063e596219514610da8576103ce565b8063c18bc19514610c59578063c876d0b914610c82578063c8c8ebe414610cad578063d257b34f14610cd8576103ce565b8063a0d82dc511610185578063b62496f511610154578063b62496f514610b9d578063bbc0c74214610bda578063c024666814610c05578063c0f17acd14610c2e576103ce565b8063a0d82dc514610acf578063a457c2d714610afa578063a9059cbb14610b37578063ae303d0714610b74576103ce565b80639a7a23d6116101c15780639a7a23d614610a255780639bd9bf5f14610a4e5780639c3b4fdc14610a795780639fccce3214610aa4576103ce565b80638da5cb5b1461097b5780638ea5220f146109a6578063924de9b7146109d157806395d89b41146109fa576103ce565b80634a62bb65116102e25780636aebf6271161027557806373dd858c1161024457806373dd858c146108d5578063751039fc146108fe5780637571336a1461092957806382aa7c6814610952576103ce565b80636aebf6271461082d5780636ddd17131461085657806370a0823114610881578063715018a6146108be576103ce565b8063534c0906116102b1578063534c0906146107835780635a139dd4146107ae57806364cd83dd146107d95780636a486a8e14610802576103ce565b80634a62bb65146106c55780634ec39ba9146106f05780634f77f6c01461071b5780634fbee19314610746576103ce565b806323b872dd1161035a578063312394a011610329578063312394a014610607578063313ce56714610632578063395093511461065d57806349bd5a5e1461069a576103ce565b806323b872dd1461054b57806324afaf8d1461058857806327c8f835146105b35780632e6ed7ef146105de576103ce565b806318160ddd1161039657806318160ddd146104a35780631816467f146104ce5780631a8145bb146104f7578063203e727e14610522576103ce565b806306fdde03146103d3578063095ea7b3146103fe57806310d5de531461043b5780631694505e14610478576103ce565b366103ce57005b600080fd5b3480156103df57600080fd5b506103e8610f39565b6040516103f59190614772565b60405180910390f35b34801561040a57600080fd5b5061042560048036038101906104209190614832565b610fcb565b604051610432919061488d565b60405180910390f35b34801561044757600080fd5b50610462600480360381019061045d91906148a8565b610fe9565b60405161046f919061488d565b60405180910390f35b34801561048457600080fd5b5061048d611009565b60405161049a9190614934565b60405180910390f35b3480156104af57600080fd5b506104b861102d565b6040516104c5919061495e565b60405180910390f35b3480156104da57600080fd5b506104f560048036038101906104f091906148a8565b611037565b005b34801561050357600080fd5b5061050c611173565b604051610519919061495e565b60405180910390f35b34801561052e57600080fd5b5061054960048036038101906105449190614979565b611179565b005b34801561055757600080fd5b50610572600480360381019061056d91906149a6565b611288565b60405161057f919061488d565b60405180910390f35b34801561059457600080fd5b5061059d611380565b6040516105aa9190614a08565b60405180910390f35b3480156105bf57600080fd5b506105c86113a6565b6040516105d59190614a08565b60405180910390f35b3480156105ea57600080fd5b5061060560048036038101906106009190614a23565b6113ac565b005b34801561061357600080fd5b5061061c61148a565b604051610629919061495e565b60405180910390f35b34801561063e57600080fd5b50610647611490565b6040516106549190614aa6565b60405180910390f35b34801561066957600080fd5b50610684600480360381019061067f9190614832565b611499565b604051610691919061488d565b60405180910390f35b3480156106a657600080fd5b506106af611545565b6040516106bc9190614a08565b60405180910390f35b3480156106d157600080fd5b506106da611569565b6040516106e7919061488d565b60405180910390f35b3480156106fc57600080fd5b5061070561157c565b6040516107129190614a08565b60405180910390f35b34801561072757600080fd5b506107306115a2565b60405161073d919061495e565b60405180910390f35b34801561075257600080fd5b5061076d600480360381019061076891906148a8565b6115a8565b60405161077a919061488d565b60405180910390f35b34801561078f57600080fd5b506107986115fe565b6040516107a59190614a08565b60405180910390f35b3480156107ba57600080fd5b506107c3611624565b6040516107d0919061495e565b60405180910390f35b3480156107e557600080fd5b5061080060048036038101906107fb91906148a8565b61162a565b005b34801561080e57600080fd5b50610817611766565b604051610824919061495e565b60405180910390f35b34801561083957600080fd5b50610854600480360381019061084f91906148a8565b61176c565b005b34801561086257600080fd5b5061086b6118a8565b604051610878919061488d565b60405180910390f35b34801561088d57600080fd5b506108a860048036038101906108a391906148a8565b6118bb565b6040516108b5919061495e565b60405180910390f35b3480156108ca57600080fd5b506108d3611903565b005b3480156108e157600080fd5b506108fc60048036038101906108f791906148a8565b61198b565b005b34801561090a57600080fd5b50610913611ac7565b604051610920919061488d565b60405180910390f35b34801561093557600080fd5b50610950600480360381019061094b9190614aed565b611b67565b005b34801561095e57600080fd5b5061097960048036038101906109749190614979565b611c3e565b005b34801561098757600080fd5b50610990611d51565b60405161099d9190614a08565b60405180910390f35b3480156109b257600080fd5b506109bb611d7b565b6040516109c89190614a08565b60405180910390f35b3480156109dd57600080fd5b506109f860048036038101906109f39190614b2d565b611da1565b005b348015610a0657600080fd5b50610a0f611e3a565b604051610a1c9190614772565b60405180910390f35b348015610a3157600080fd5b50610a4c6004803603810190610a479190614aed565b611ecc565b005b348015610a5a57600080fd5b50610a63611fe5565b604051610a70919061495e565b60405180910390f35b348015610a8557600080fd5b50610a8e611feb565b604051610a9b919061495e565b60405180910390f35b348015610ab057600080fd5b50610ab9611ff1565b604051610ac6919061495e565b60405180910390f35b348015610adb57600080fd5b50610ae4611ff7565b604051610af1919061495e565b60405180910390f35b348015610b0657600080fd5b50610b216004803603810190610b1c9190614832565b611ffd565b604051610b2e919061488d565b60405180910390f35b348015610b4357600080fd5b50610b5e6004803603810190610b599190614832565b6120e8565b604051610b6b919061488d565b60405180910390f35b348015610b8057600080fd5b50610b9b6004803603810190610b969190614bbf565b612106565b005b348015610ba957600080fd5b50610bc46004803603810190610bbf91906148a8565b612315565b604051610bd1919061488d565b60405180910390f35b348015610be657600080fd5b50610bef612335565b604051610bfc919061488d565b60405180910390f35b348015610c1157600080fd5b50610c2c6004803603810190610c279190614aed565b612348565b005b348015610c3a57600080fd5b50610c4361246d565b604051610c50919061495e565b60405180910390f35b348015610c6557600080fd5b50610c806004803603810190610c7b9190614979565b612473565b005b348015610c8e57600080fd5b50610c97612582565b604051610ca4919061488d565b60405180910390f35b348015610cb957600080fd5b50610cc2612595565b604051610ccf919061495e565b60405180910390f35b348015610ce457600080fd5b50610cff6004803603810190610cfa9190614979565b61259b565b604051610d0c919061488d565b60405180910390f35b348015610d2157600080fd5b50610d2a6126f0565b604051610d37919061495e565b60405180910390f35b348015610d4c57600080fd5b50610d676004803603810190610d629190614c1f565b6126f6565b604051610d74919061495e565b60405180910390f35b348015610d8957600080fd5b50610d9261277d565b604051610d9f919061495e565b60405180910390f35b348015610db457600080fd5b50610dcf6004803603810190610dca91906148a8565b612783565b604051610ddc919061488d565b60405180910390f35b348015610df157600080fd5b50610e0c6004803603810190610e079190614a23565b6127a3565b005b348015610e1a57600080fd5b50610e23612881565b604051610e30919061488d565b60405180910390f35b348015610e4557600080fd5b50610e4e612921565b604051610e5b919061495e565b60405180910390f35b348015610e7057600080fd5b50610e8b6004803603810190610e8691906148a8565b612927565b005b348015610e9957600080fd5b50610ea2612a1f565b604051610eaf919061495e565b60405180910390f35b348015610ec457600080fd5b50610ecd612a25565b604051610eda919061495e565b60405180910390f35b348015610eef57600080fd5b50610ef8612a2b565b604051610f05919061495e565b60405180910390f35b348015610f1a57600080fd5b50610f23612a31565b604051610f309190614a08565b60405180910390f35b606060038054610f4890614c8e565b80601f0160208091040260200160405190810160405280929190818152602001828054610f7490614c8e565b8015610fc15780601f10610f9657610100808354040283529160200191610fc1565b820191906000526020600020905b815481529060010190602001808311610fa457829003601f168201915b5050505050905090565b6000610fdf610fd8612a57565b8484612a5f565b6001905092915050565b60236020528060005260406000206000915054906101000a900460ff1681565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000600254905090565b61103f612a57565b73ffffffffffffffffffffffffffffffffffffffff1661105d611d51565b73ffffffffffffffffffffffffffffffffffffffff16146110b3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110aa90614d0c565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f90b8024c4923d3873ff5b9fcb43d0360d4b9217fa41225d07ba379993552e74360405160405180910390a380600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b601f5481565b611181612a57565b73ffffffffffffffffffffffffffffffffffffffff1661119f611d51565b73ffffffffffffffffffffffffffffffffffffffff16146111f5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111ec90614d0c565b60405180910390fd5b670de0b6b3a76400006103e8600161120b61102d565b6112159190614d5b565b61121f9190614de4565b6112299190614de4565b81101561126b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161126290614e87565b60405180910390fd5b670de0b6b3a76400008161127f9190614d5b565b600b8190555050565b6000611295848484612c2a565b6000600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006112e0612a57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905082811015611360576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135790614f19565b60405180910390fd5b6113748561136c612a57565b858403612a5f565b60019150509392505050565b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b61dead81565b6113b4612a57565b73ffffffffffffffffffffffffffffffffffffffff166113d2611d51565b73ffffffffffffffffffffffffffffffffffffffff1614611428576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161141f90614d0c565b60405180910390fd5b8360158190555082601681905550816017819055508060188190555060185460175460165460155461145a9190614f39565b6114649190614f39565b61146e9190614f39565b6014819055506063601454111561148457600080fd5b50505050565b601a5481565b60006012905090565b600061153b6114a6612a57565b8484600160006114b4612a57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546115369190614f39565b612a5f565b6001905092915050565b7f000000000000000000000000000000000000000000000000000000000000000081565b600e60009054906101000a900460ff1681565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b601d5481565b6000602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff169050919050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60185481565b611632612a57565b73ffffffffffffffffffffffffffffffffffffffff16611650611d51565b73ffffffffffffffffffffffffffffffffffffffff16146116a6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161169d90614d0c565b60405180910390fd5b600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fceaa6f1f2115d0f5eb9934026e3a197b010d8bc98f70fe27bbfb441d6fe4a69c60405160405180910390a380600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60195481565b611774612a57565b73ffffffffffffffffffffffffffffffffffffffff16611792611d51565b73ffffffffffffffffffffffffffffffffffffffff16146117e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117df90614d0c565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167fe1bb4a3e2b2b99353f84d73df9e136cfe17627ed07083a649101dfa6bde8459c60405160405180910390a380600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b600e60029054906101000a900460ff1681565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61190b612a57565b73ffffffffffffffffffffffffffffffffffffffff16611929611d51565b73ffffffffffffffffffffffffffffffffffffffff161461197f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161197690614d0c565b60405180910390fd5b6119896000613bab565b565b611993612a57565b73ffffffffffffffffffffffffffffffffffffffff166119b1611d51565b73ffffffffffffffffffffffffffffffffffffffff1614611a07576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119fe90614d0c565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f0308c4544315dbf7c7c2fdbcdf1dd8a57df22fddf234ee3c941eefec5c2287ba60405160405180910390a380600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000611ad1612a57565b73ffffffffffffffffffffffffffffffffffffffff16611aef611d51565b73ffffffffffffffffffffffffffffffffffffffff1614611b45576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611b3c90614d0c565b60405180910390fd5b6000600e60006101000a81548160ff0219169083151502179055506001905090565b611b6f612a57565b73ffffffffffffffffffffffffffffffffffffffff16611b8d611d51565b73ffffffffffffffffffffffffffffffffffffffff1614611be3576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bda90614d0c565b60405180910390fd5b80602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611c46612a57565b73ffffffffffffffffffffffffffffffffffffffff16611c64611d51565b73ffffffffffffffffffffffffffffffffffffffff1614611cba576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cb190614d0c565b60405180910390fd5b600e60019054906101000a900460ff1615611d0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0190614fdb565b60405180910390fd5b6001600e60016101000a81548160ff021916908315150217905550436011819055506001600e60026101000a81548160ff0219169083151502179055508060128190555050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b611da9612a57565b73ffffffffffffffffffffffffffffffffffffffff16611dc7611d51565b73ffffffffffffffffffffffffffffffffffffffff1614611e1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e1490614d0c565b60405180910390fd5b80600e60026101000a81548160ff02191690831515021790555050565b606060048054611e4990614c8e565b80601f0160208091040260200160405190810160405280929190818152602001828054611e7590614c8e565b8015611ec25780601f10611e9757610100808354040283529160200191611ec2565b820191906000526020600020905b815481529060010190602001808311611ea557829003601f168201915b5050505050905090565b611ed4612a57565b73ffffffffffffffffffffffffffffffffffffffff16611ef2611d51565b73ffffffffffffffffffffffffffffffffffffffff1614611f48576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f3f90614d0c565b60405180910390fd5b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611fd7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611fce9061506d565b60405180910390fd5b611fe18282613c71565b5050565b601e5481565b60175481565b60205481565b601c5481565b6000806001600061200c612a57565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050828110156120c9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016120c0906150ff565b60405180910390fd5b6120dd6120d4612a57565b85858403612a5f565b600191505092915050565b60006120fc6120f5612a57565b8484612c2a565b6001905092915050565b61210e612a57565b73ffffffffffffffffffffffffffffffffffffffff1661212c611d51565b73ffffffffffffffffffffffffffffffffffffffff1614612182576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161217990614d0c565b60405180910390fd5b60005b8383905081101561230f5760008484838181106121a5576121a461511f565b5b90506020020160208101906121ba91906148a8565b90503073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141580156122465750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b801561229e57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614155b156122fb5782601360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5080806123079061514e565b915050612185565b50505050565b60246020528060005260406000206000915054906101000a900460ff1681565b600e60019054906101000a900460ff1681565b612350612a57565b73ffffffffffffffffffffffffffffffffffffffff1661236e611d51565b73ffffffffffffffffffffffffffffffffffffffff16146123c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123bb90614d0c565b60405180910390fd5b80602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167f9d8f7706ea1113d1a167b526eca956215946dd36cc7df39eb16180222d8b5df782604051612461919061488d565b60405180910390a25050565b60155481565b61247b612a57565b73ffffffffffffffffffffffffffffffffffffffff16612499611d51565b73ffffffffffffffffffffffffffffffffffffffff16146124ef576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124e690614d0c565b60405180910390fd5b670de0b6b3a76400006103e8600561250561102d565b61250f9190614d5b565b6125199190614de4565b6125239190614de4565b811015612565576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161255c90615209565b60405180910390fd5b670de0b6b3a7640000816125799190614d5b565b600d8190555050565b601060009054906101000a900460ff1681565b600b5481565b60006125a5612a57565b73ffffffffffffffffffffffffffffffffffffffff166125c3611d51565b73ffffffffffffffffffffffffffffffffffffffff1614612619576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161261090614d0c565b60405180910390fd5b620186a0600161262761102d565b6126319190614d5b565b61263b9190614de4565b82101561267d576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126749061529b565b60405180910390fd5b6103e8600561268a61102d565b6126949190614d5b565b61269e9190614de4565b8211156126e0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126d79061532d565b60405180910390fd5b81600c8190555060019050919050565b60145481565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600c5481565b60136020528060005260406000206000915054906101000a900460ff1681565b6127ab612a57565b73ffffffffffffffffffffffffffffffffffffffff166127c9611d51565b73ffffffffffffffffffffffffffffffffffffffff161461281f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161281690614d0c565b60405180910390fd5b83601a8190555082601b8190555081601c8190555080601d81905550601d54601c54601b54601a546128519190614f39565b61285b9190614f39565b6128659190614f39565b6019819055506063601954111561287b57600080fd5b50505050565b600061288b612a57565b73ffffffffffffffffffffffffffffffffffffffff166128a9611d51565b73ffffffffffffffffffffffffffffffffffffffff16146128ff576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016128f690614d0c565b60405180910390fd5b6000601060006101000a81548160ff0219169083151502179055506001905090565b60165481565b61292f612a57565b73ffffffffffffffffffffffffffffffffffffffff1661294d611d51565b73ffffffffffffffffffffffffffffffffffffffff16146129a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161299a90614d0c565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415612a13576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a0a906153bf565b60405180910390fd5b612a1c81613bab565b50565b601b5481565b600d5481565b60215481565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612acf576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612ac690615451565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612b3f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b36906154e3565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051612c1d919061495e565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415612c9a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c9190615575565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415612d0a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d0190615607565b60405180910390fd5b601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612d97576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d8e90615673565b60405180910390fd5b6000811415612db157612dac83836000613d12565b613ba6565b600e60009054906101000a900460ff161561366857612dce611d51565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614158015612e3c5750612e0c611d51565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612e755750600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612eaf575061dead73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b8015612ec85750600660149054906101000a900460ff16155b1561366757600e60019054906101000a900460ff16612fc257602260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680612f825750602260008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b612fc1576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612fb8906156df565b60405180910390fd5b5b601254601154612fd29190614f39565b4310801561302b57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b80156130855750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156130bd57503073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b801561311557507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b156131b6576000601360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff167fb90badc1cf1c52268f4fa9afb5276aebf640bcca3300cdfc9cf37db17daa13e260405160405180910390a25b601060009054906101000a900460ff161561337e576131d3611d51565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415801561325a57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b80156132b257507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614155b1561337d5743600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410613338576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161332f90615797565b60405180910390fd5b43600f60003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055505b5b602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680156134215750602360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156134c857600b5481111561346b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161346290615829565b60405180910390fd5b600d54613477836118bb565b826134829190614f39565b11156134c3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016134ba90615895565b60405180910390fd5b613666565b602460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561356b5750602360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156135ba57600b548111156135b5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135ac90615927565b60405180910390fd5b613665565b602360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1661366457600d54613617836118bb565b826136229190614f39565b1115613663576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161365a90615895565b60405180910390fd5b5b5b5b5b5b6000613673306118bb565b90506000600c5482101590508080156136985750600e60029054906101000a900460ff165b80156136b15750600660149054906101000a900460ff16155b80156137075750602460008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b801561375d5750602260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156137b35750602260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b156137f7576001600660146101000a81548160ff0219169083151502179055506137db613f93565b6000600660146101000a81548160ff0219169083151502179055505b6000600660149054906101000a900460ff16159050602260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806138ad5750602260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156138b757600090505b60008115613b9657602460008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16801561391a57506000601954115b15613a1a5761394760646139396019548861435490919063ffffffff16565b61436a90919063ffffffff16565b9050601954601b548261395a9190614d5b565b6139649190614de4565b601f60008282546139759190614f39565b92505081905550601954601c548261398d9190614d5b565b6139979190614de4565b602060008282546139a89190614f39565b92505081905550601954601a54826139c09190614d5b565b6139ca9190614de4565b601e60008282546139db9190614f39565b92505081905550601954601d54826139f39190614d5b565b6139fd9190614de4565b60216000828254613a0e9190614f39565b92505081905550613b72565b602460008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015613a7557506000601454115b15613b7157613aa26064613a946014548861435490919063ffffffff16565b61436a90919063ffffffff16565b905060145460165482613ab59190614d5b565b613abf9190614de4565b601f6000828254613ad09190614f39565b9250508190555060145460175482613ae89190614d5b565b613af29190614de4565b60206000828254613b039190614f39565b9250508190555060145460155482613b1b9190614d5b565b613b259190614de4565b601e6000828254613b369190614f39565b9250508190555060145460185482613b4e9190614d5b565b613b589190614de4565b60216000828254613b699190614f39565b925050819055505b5b6000811115613b8757613b86873083613d12565b5b8085613b939190615947565b94505b613ba1878787613d12565b505050505b505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b80602460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508015158273ffffffffffffffffffffffffffffffffffffffff167fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab60405160405180910390a35050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415613d82576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613d7990615575565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415613df2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613de990615607565b60405180910390fd5b613dfd838383614380565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015613e83576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613e7a906159ed565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254613f169190614f39565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051613f7a919061495e565b60405180910390a3613f8d848484614385565b50505050565b6000613f9e306118bb565b90506000602154602054601e54601f54613fb89190614f39565b613fc29190614f39565b613fcc9190614f39565b9050600080831480613fde5750600082145b15613feb57505050614352565b6014600c54613ffa9190614d5b565b831115614013576014600c546140109190614d5b565b92505b6000600283601f54866140269190614d5b565b6140309190614de4565b61403a9190614de4565b90506000614051828661438a90919063ffffffff16565b90506000479050614061826143a0565b6000614076824761438a90919063ffffffff16565b905060006140a187614093601e548561435490919063ffffffff16565b61436a90919063ffffffff16565b905060006140cc886140be6020548661435490919063ffffffff16565b61436a90919063ffffffff16565b905060006140f7896140e96021548761435490919063ffffffff16565b61436a90919063ffffffff16565b90506000818385876141099190615947565b6141139190615947565b61411d9190615947565b90506000601f819055506000601e8190555060006020819055506000602181905550600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168360405161418590615a3e565b60006040518083038185875af1925050503d80600081146141c2576040519150601f19603f3d011682016040523d82523d6000602084013e6141c7565b606091505b5050809950506000881180156141dd5750600081115b1561422a576141ec88826145dd565b7f17bbfb9a6069321b6ded73bd96327c9e6b7212a5cd51ff219cd61370acafb5618782601f5460405161422193929190615a53565b60405180910390a15b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168260405161427090615a3e565b60006040518083038185875af1925050503d80600081146142ad576040519150601f19603f3d011682016040523d82523d6000602084013e6142b2565b606091505b505080995050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16476040516142fe90615a3e565b60006040518083038185875af1925050503d806000811461433b576040519150601f19603f3d011682016040523d82523d6000602084013e614340565b606091505b50508099505050505050505050505050505b565b600081836143629190614d5b565b905092915050565b600081836143789190614de4565b905092915050565b505050565b505050565b600081836143989190615947565b905092915050565b6000600267ffffffffffffffff8111156143bd576143bc615a8a565b5b6040519080825280602002602001820160405280156143eb5781602001602082028036833780820191505090505b50905030816000815181106144035761440261511f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff16815250507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa1580156144a8573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906144cc9190615ace565b816001815181106144e0576144df61511f565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050614545307f000000000000000000000000000000000000000000000000000000000000000084612a5f565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b81526004016145a7959493929190615bf4565b600060405180830381600087803b1580156145c157600080fd5b505af11580156145d5573d6000803e3d6000fd5b505050505050565b614608307f000000000000000000000000000000000000000000000000000000000000000084612a5f565b7f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b815260040161468f96959493929190615c4e565b60606040518083038185885af11580156146ad573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906146d29190615cc4565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156147135780820151818401526020810190506146f8565b83811115614722576000848401525b50505050565b6000601f19601f8301169050919050565b6000614744826146d9565b61474e81856146e4565b935061475e8185602086016146f5565b61476781614728565b840191505092915050565b6000602082019050818103600083015261478c8184614739565b905092915050565b600080fd5b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006147c98261479e565b9050919050565b6147d9816147be565b81146147e457600080fd5b50565b6000813590506147f6816147d0565b92915050565b6000819050919050565b61480f816147fc565b811461481a57600080fd5b50565b60008135905061482c81614806565b92915050565b6000806040838503121561484957614848614794565b5b6000614857858286016147e7565b92505060206148688582860161481d565b9150509250929050565b60008115159050919050565b61488781614872565b82525050565b60006020820190506148a2600083018461487e565b92915050565b6000602082840312156148be576148bd614794565b5b60006148cc848285016147e7565b91505092915050565b6000819050919050565b60006148fa6148f56148f08461479e565b6148d5565b61479e565b9050919050565b600061490c826148df565b9050919050565b600061491e82614901565b9050919050565b61492e81614913565b82525050565b60006020820190506149496000830184614925565b92915050565b614958816147fc565b82525050565b6000602082019050614973600083018461494f565b92915050565b60006020828403121561498f5761498e614794565b5b600061499d8482850161481d565b91505092915050565b6000806000606084860312156149bf576149be614794565b5b60006149cd868287016147e7565b93505060206149de868287016147e7565b92505060406149ef8682870161481d565b9150509250925092565b614a02816147be565b82525050565b6000602082019050614a1d60008301846149f9565b92915050565b60008060008060808587031215614a3d57614a3c614794565b5b6000614a4b8782880161481d565b9450506020614a5c8782880161481d565b9350506040614a6d8782880161481d565b9250506060614a7e8782880161481d565b91505092959194509250565b600060ff82169050919050565b614aa081614a8a565b82525050565b6000602082019050614abb6000830184614a97565b92915050565b614aca81614872565b8114614ad557600080fd5b50565b600081359050614ae781614ac1565b92915050565b60008060408385031215614b0457614b03614794565b5b6000614b12858286016147e7565b9250506020614b2385828601614ad8565b9150509250929050565b600060208284031215614b4357614b42614794565b5b6000614b5184828501614ad8565b91505092915050565b600080fd5b600080fd5b600080fd5b60008083601f840112614b7f57614b7e614b5a565b5b8235905067ffffffffffffffff811115614b9c57614b9b614b5f565b5b602083019150836020820283011115614bb857614bb7614b64565b5b9250929050565b600080600060408486031215614bd857614bd7614794565b5b600084013567ffffffffffffffff811115614bf657614bf5614799565b5b614c0286828701614b69565b93509350506020614c1586828701614ad8565b9150509250925092565b60008060408385031215614c3657614c35614794565b5b6000614c44858286016147e7565b9250506020614c55858286016147e7565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b60006002820490506001821680614ca657607f821691505b60208210811415614cba57614cb9614c5f565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b6000614cf66020836146e4565b9150614d0182614cc0565b602082019050919050565b60006020820190508181036000830152614d2581614ce9565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000614d66826147fc565b9150614d71836147fc565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615614daa57614da9614d2c565b5b828202905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614def826147fc565b9150614dfa836147fc565b925082614e0a57614e09614db5565b5b828204905092915050565b7f43616e6e6f7420736574206d61785472616e73616374696f6e416d6f756e742060008201527f6c6f776572207468616e20302e31250000000000000000000000000000000000602082015250565b6000614e71602f836146e4565b9150614e7c82614e15565b604082019050919050565b60006020820190508181036000830152614ea081614e64565b9050919050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206160008201527f6c6c6f77616e6365000000000000000000000000000000000000000000000000602082015250565b6000614f036028836146e4565b9150614f0e82614ea7565b604082019050919050565b60006020820190508181036000830152614f3281614ef6565b9050919050565b6000614f44826147fc565b9150614f4f836147fc565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115614f8457614f83614d2c565b5b828201905092915050565b7f546f6b656e206c61756e63686564000000000000000000000000000000000000600082015250565b6000614fc5600e836146e4565b9150614fd082614f8f565b602082019050919050565b60006020820190508181036000830152614ff481614fb8565b9050919050565b7f54686520706169722063616e6e6f742062652072656d6f7665642066726f6d2060008201527f6175746f6d617465644d61726b65744d616b6572506169727300000000000000602082015250565b60006150576039836146e4565b915061506282614ffb565b604082019050919050565b600060208201905081810360008301526150868161504a565b9050919050565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b60006150e96025836146e4565b91506150f48261508d565b604082019050919050565b60006020820190508181036000830152615118816150dc565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b6000615159826147fc565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141561518c5761518b614d2c565b5b600182019050919050565b7f43616e6e6f7420736574206d617857616c6c6574206c6f776572207468616e2060008201527f302e352500000000000000000000000000000000000000000000000000000000602082015250565b60006151f36024836146e4565b91506151fe82615197565b604082019050919050565b60006020820190508181036000830152615222816151e6565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206c6f776572207468616e60008201527f20302e3030312520746f74616c20737570706c792e0000000000000000000000602082015250565b60006152856035836146e4565b915061529082615229565b604082019050919050565b600060208201905081810360008301526152b481615278565b9050919050565b7f5377617020616d6f756e742063616e6e6f74206265206869676865722074686160008201527f6e20302e352520746f74616c20737570706c792e000000000000000000000000602082015250565b60006153176034836146e4565b9150615322826152bb565b604082019050919050565b600060208201905081810360008301526153468161530a565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b60006153a96026836146e4565b91506153b48261534d565b604082019050919050565b600060208201905081810360008301526153d88161539c565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b600061543b6024836146e4565b9150615446826153df565b604082019050919050565b6000602082019050818103600083015261546a8161542e565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b60006154cd6022836146e4565b91506154d882615471565b604082019050919050565b600060208201905081810360008301526154fc816154c0565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b600061555f6025836146e4565b915061556a82615503565b604082019050919050565b6000602082019050818103600083015261558e81615552565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b60006155f16023836146e4565b91506155fc82615595565b604082019050919050565b60006020820190508181036000830152615620816155e4565b9050919050565b7f536e6970657220626c6f636b6564000000000000000000000000000000000000600082015250565b600061565d600e836146e4565b915061566882615627565b602082019050919050565b6000602082019050818103600083015261568c81615650565b9050919050565b7f54726164696e67206973206e6f74206163746976652e00000000000000000000600082015250565b60006156c96016836146e4565b91506156d482615693565b602082019050919050565b600060208201905081810360008301526156f8816156bc565b9050919050565b7f5f7472616e736665723a3a205472616e736665722044656c617920656e61626c60008201527f65642e20204f6e6c79206f6e652070757263686173652070657220626c6f636b60208201527f20616c6c6f7765642e0000000000000000000000000000000000000000000000604082015250565b60006157816049836146e4565b915061578c826156ff565b606082019050919050565b600060208201905081810360008301526157b081615774565b9050919050565b7f427579207472616e7366657220616d6f756e742065786365656473207468652060008201527f6d61785472616e73616374696f6e416d6f756e742e0000000000000000000000602082015250565b60006158136035836146e4565b915061581e826157b7565b604082019050919050565b6000602082019050818103600083015261584281615806565b9050919050565b7f4d61782077616c6c657420657863656564656400000000000000000000000000600082015250565b600061587f6013836146e4565b915061588a82615849565b602082019050919050565b600060208201905081810360008301526158ae81615872565b9050919050565b7f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560008201527f206d61785472616e73616374696f6e416d6f756e742e00000000000000000000602082015250565b60006159116036836146e4565b915061591c826158b5565b604082019050919050565b6000602082019050818103600083015261594081615904565b9050919050565b6000615952826147fc565b915061595d836147fc565b9250828210156159705761596f614d2c565b5b828203905092915050565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b60006159d76026836146e4565b91506159e28261597b565b604082019050919050565b60006020820190508181036000830152615a06816159ca565b9050919050565b600081905092915050565b50565b6000615a28600083615a0d565b9150615a3382615a18565b600082019050919050565b6000615a4982615a1b565b9150819050919050565b6000606082019050615a68600083018661494f565b615a75602083018561494f565b615a82604083018461494f565b949350505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050615ac8816147d0565b92915050565b600060208284031215615ae457615ae3614794565b5b6000615af284828501615ab9565b91505092915050565b6000819050919050565b6000615b20615b1b615b1684615afb565b6148d5565b6147fc565b9050919050565b615b3081615b05565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b615b6b816147be565b82525050565b6000615b7d8383615b62565b60208301905092915050565b6000602082019050919050565b6000615ba182615b36565b615bab8185615b41565b9350615bb683615b52565b8060005b83811015615be7578151615bce8882615b71565b9750615bd983615b89565b925050600181019050615bba565b5085935050505092915050565b600060a082019050615c09600083018861494f565b615c166020830187615b27565b8181036040830152615c288186615b96565b9050615c3760608301856149f9565b615c44608083018461494f565b9695505050505050565b600060c082019050615c6360008301896149f9565b615c70602083018861494f565b615c7d6040830187615b27565b615c8a6060830186615b27565b615c9760808301856149f9565b615ca460a083018461494f565b979650505050505050565b600081519050615cbe81614806565b92915050565b600080600060608486031215615cdd57615cdc614794565b5b6000615ceb86828701615caf565b9350506020615cfc86828701615caf565b9250506040615d0d86828701615caf565b915050925092509256fea2646970667358221220406bd8619dffd1b78598ca92a542338317623576a6e864dff8c8e221213406eb64736f6c634300080a0033