60c06040526040518060400160405280600981526020017f4d6f6f6e6f706f6c790000000000000000000000000000000000000000000000815250600190816200004a919062001092565b506040518060400160405280600481526020017f4d504c59000000000000000000000000000000000000000000000000000000008152506002908162000091919062001092565b506012600360006101000a81548160ff021916908360ff16021790555061dead73ffffffffffffffffffffffffffffffffffffffff1660809073ffffffffffffffffffffffffffffffffffffffff16815250600073ffffffffffffffffffffffffffffffffffffffff1660a09073ffffffffffffffffffffffffffffffffffffffff16815250600360045560026005556008600655600860075573c372f1f1299eed2225f27d12d499608654e1f245600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550739eefc7e6f44970fffc4cd140f0afd2c8ee4cb73e600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600360009054906101000a900460ff16600a620001f3919062001309565b6302faf0806200020491906200135a565b6014556064601555600360009054906101000a900460ff16600a6200022a919062001309565b6175306200023991906200135a565b6016556200027460155462000260600160145462000bac60201b6200265f1790919060201c565b62000c2f60201b620026d91790919060201c565b601755620002af6015546200029b600160145462000bac60201b6200265f1790919060201c565b62000c2f60201b620026d91790919060201c565b6018556001601960006101000a81548160ff0219169083151502179055506063601a55603c601c556001601d60016101000a81548160ff0219169083151502179055506001601d60026101000a81548160ff0219169083151502179055506001601e60156101000a81548160ff0219169083151502179055503480156200033557600080fd5b50620003566200034a62000c8160201b60201c565b62000c8960201b60201c565b6000737a250d5630b4cf539739df2c5dacb4c659f2488d90508073ffffffffffffffffffffffffffffffffffffffff1663c45a01556040518163ffffffff1660e01b8152600401602060405180830381865afa158015620003bb573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620003e191906200140f565b73ffffffffffffffffffffffffffffffffffffffff1663c9c65396308373ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa15801562000449573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200046f91906200140f565b6040518363ffffffff1660e01b81526004016200048e92919062001452565b6020604051808303816000875af1158015620004ae573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190620004d491906200140f565b601e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080601d60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600019600e60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555033600c60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506001600f60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001600f6000601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160116000601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601160003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506001601260003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160126000601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550600160106000601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555062000acb60055460045462000d4d60201b620027231790919060201c565b60088190555062000aef60075460065462000d4d60201b620027231790919060201c565b600981905550601454600d60003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503373ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60145460405162000b9d919062001490565b60405180910390a3506200170c565b600080830362000bc0576000905062000c29565b6000828462000bd091906200135a565b905082848262000be19190620014dc565b1462000c24576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000c1b906200159b565b60405180910390fd5b809150505b92915050565b600062000c7983836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f00000000000081525062000db060201b60201c565b905092915050565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b600080828462000d5e9190620015bd565b90508381101562000da6576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000d9d9062001648565b60405180910390fd5b8091505092915050565b6000808311829062000dfa576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040162000df19190620016e8565b60405180910390fd5b506000838562000e0b9190620014dc565b9050809150509392505050565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168062000e9a57607f821691505b60208210810362000eb05762000eaf62000e52565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b60006008830262000f1a7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8262000edb565b62000f26868362000edb565b95508019841693508086168417925050509392505050565b6000819050919050565b6000819050919050565b600062000f7362000f6d62000f678462000f3e565b62000f48565b62000f3e565b9050919050565b6000819050919050565b62000f8f8362000f52565b62000fa762000f9e8262000f7a565b84845462000ee8565b825550505050565b600090565b62000fbe62000faf565b62000fcb81848462000f84565b505050565b5b8181101562000ff35762000fe760008262000fb4565b60018101905062000fd1565b5050565b601f82111562001042576200100c8162000eb6565b620010178462000ecb565b8101602085101562001027578190505b6200103f620010368562000ecb565b83018262000fd0565b50505b505050565b600082821c905092915050565b6000620010676000198460080262001047565b1980831691505092915050565b600062001082838362001054565b9150826002028217905092915050565b6200109d8262000e18565b67ffffffffffffffff811115620010b957620010b862000e23565b5b620010c5825462000e81565b620010d282828562000ff7565b600060209050601f8311600181146200110a5760008415620010f5578287015190505b62001101858262001074565b86555062001171565b601f1984166200111a8662000eb6565b60005b8281101562001144578489015182556001820191506020850194506020810190506200111d565b8683101562001164578489015162001160601f89168262001054565b8355505b6001600288020188555050505b505050505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60008160011c9050919050565b6000808291508390505b60018511156200120757808604811115620011df57620011de62001179565b5b6001851615620011ef5780820291505b8081029050620011ff85620011a8565b9450620011bf565b94509492505050565b600082620012225760019050620012f5565b81620012325760009050620012f5565b81600181146200124b576002811462001256576200128c565b6001915050620012f5565b60ff8411156200126b576200126a62001179565b5b8360020a91508482111562001285576200128462001179565b5b50620012f5565b5060208310610133831016604e8410600b8410161715620012c65782820a905083811115620012c057620012bf62001179565b5b620012f5565b620012d58484846001620011b5565b92509050818404811115620012ef57620012ee62001179565b5b81810290505b9392505050565b600060ff82169050919050565b6000620013168262000f3e565b91506200132383620012fc565b9250620013527fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff848462001210565b905092915050565b6000620013678262000f3e565b9150620013748362000f3e565b9250828202620013848162000f3e565b915082820484148315176200139e576200139d62001179565b5b5092915050565b600080fd5b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620013d782620013aa565b9050919050565b620013e981620013ca565b8114620013f557600080fd5b50565b6000815190506200140981620013de565b92915050565b600060208284031215620014285762001427620013a5565b5b60006200143884828501620013f8565b91505092915050565b6200144c81620013ca565b82525050565b600060408201905062001469600083018562001441565b62001478602083018462001441565b9392505050565b6200148a8162000f3e565b82525050565b6000602082019050620014a760008301846200147f565b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000620014e98262000f3e565b9150620014f68362000f3e565b925082620015095762001508620014ad565b5b828204905092915050565b600082825260208201905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b60006200158360218362001514565b9150620015908262001525565b604082019050919050565b60006020820190508181036000830152620015b68162001574565b9050919050565b6000620015ca8262000f3e565b9150620015d78362000f3e565b9250828201905080821115620015f257620015f162001179565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b600062001630601b8362001514565b91506200163d82620015f8565b602082019050919050565b60006020820190508181036000830152620016638162001621565b9050919050565b60005b838110156200168a5780820151818401526020810190506200166d565b60008484015250505050565b6000601f19601f8301169050919050565b6000620016b48262000e18565b620016c0818562001514565b9350620016d28185602086016200166a565b620016dd8162001696565b840191505092915050565b60006020820190508181036000830152620017048184620016a7565b905092915050565b60805160a0516154686200174060003960008181610e8f01526112b201526000818161119601526112de01526154686000f3fe6080604052600436106103905760003560e01c8063807c2d9c116101dc578063c867d60b11610102578063e7d8320e116100a0578063f2fde38b1161006f578063f2fde38b14610d55578063f872858a14610d7e578063f92082b314610da9578063fb0ecfa414610dd257610397565b8063e7d8320e14610cab578063e7f1bfcb14610cd6578063ec44acf214610d01578063ee828db314610d2c57610397565b8063d2d7ad83116100dc578063d2d7ad8314610c03578063dd62ed3e14610c2e578063df8408fe14610c6b578063e6b2603b14610c9457610397565b8063c867d60b14610b74578063cea9d26f14610bb1578063d27e0e6a14610bda57610397565b8063a457c2d71161017a578063bf56b37111610149578063bf56b37114610acc578063c0d7865514610af7578063c16dd4a414610b20578063c816841b14610b4957610397565b8063a457c2d714610a00578063a9059cbb14610a3d578063ae85ade614610a7a578063bdcb340014610aa357610397565b806395d89b41116101b657806395d89b411461095657806398e944c8146109815780639d0014b1146109ac5780639d9241ec146109d557610397565b8063807c2d9c146108c35780638b42507f146108ee5780638da5cb5b1461092b57610397565b80634974d88f116102c15780636ac9a8701161025f578063735de9f71161022e578063735de9f71461081757806375f0a874146108425780637d1db4a51461086d5780637d99c66d1461089857610397565b80636ac9a8701461077157806370a082311461079a578063715018a6146107d7578063728d41c9146107ee57610397565b806359b107b91161029b57806359b107b9146106c95780635c85974f146106f45780635e42358c1461071d578063651a89871461074857610397565b80634974d88f146106385780634a74bb02146106615780635342acb41461068c57610397565b806327c8f8351161032e578063313ce56711610308578063313ce5671461055657806339509351146105815780633bbac579146105be5780633ecad271146105fb57610397565b806327c8f835146104e9578063293230b8146105145780632b112e491461052b57610397565b806310a60f021161036a57806310a60f021461042f57806318160ddd146104585780631f012b0a1461048357806323b872dd146104ac57610397565b806306fdde031461039c5780630930907b146103c7578063095ea7b3146103f257610397565b3661039757005b600080fd5b3480156103a857600080fd5b506103b1610dfb565b6040516103be9190614120565b60405180910390f35b3480156103d357600080fd5b506103dc610e8d565b6040516103e99190614183565b60405180910390f35b3480156103fe57600080fd5b506104196004803603810190610414919061420a565b610eb1565b6040516104269190614265565b60405180910390f35b34801561043b57600080fd5b5061045660048036038101906104519190614311565b610ecf565b005b34801561046457600080fd5b5061046d610ff0565b60405161047a9190614380565b60405180910390f35b34801561048f57600080fd5b506104aa60048036038101906104a5919061439b565b610ffa565b005b3480156104b857600080fd5b506104d360048036038101906104ce91906143c8565b6110ba565b6040516104e09190614265565b60405180910390f35b3480156104f557600080fd5b506104fe611194565b60405161050b9190614183565b60405180910390f35b34801561052057600080fd5b506105296111b8565b005b34801561053757600080fd5b506105406112a8565b60405161054d9190614380565b60405180910390f35b34801561056257600080fd5b5061056b611326565b6040516105789190614437565b60405180910390f35b34801561058d57600080fd5b506105a860048036038101906105a3919061420a565b61133d565b6040516105b59190614265565b60405180910390f35b3480156105ca57600080fd5b506105e560048036038101906105e0919061439b565b6113f0565b6040516105f29190614265565b60405180910390f35b34801561060757600080fd5b50610622600480360381019061061d919061439b565b611410565b60405161062f9190614265565b60405180910390f35b34801561064457600080fd5b5061065f600480360381019061065a9190614452565b611430565b005b34801561066d57600080fd5b506106766114c9565b6040516106839190614265565b60405180910390f35b34801561069857600080fd5b506106b360048036038101906106ae919061439b565b6114dc565b6040516106c09190614265565b60405180910390f35b3480156106d557600080fd5b506106de6114fc565b6040516106eb9190614380565b60405180910390f35b34801561070057600080fd5b5061071b6004803603810190610716919061447f565b611502565b005b34801561072957600080fd5b50610732611588565b60405161073f9190614265565b60405180910390f35b34801561075457600080fd5b5061076f600480360381019061076a91906144ac565b61159b565b005b34801561077d57600080fd5b50610798600480360381019061079391906144ec565b611672565b005b3480156107a657600080fd5b506107c160048036038101906107bc919061439b565b61171d565b6040516107ce9190614380565b60405180910390f35b3480156107e357600080fd5b506107ec611766565b005b3480156107fa57600080fd5b506108156004803603810190610810919061447f565b6117ee565b005b34801561082357600080fd5b5061082c611874565b604051610839919061458b565b60405180910390f35b34801561084e57600080fd5b5061085761189a565b6040516108649190614183565b60405180910390f35b34801561087957600080fd5b506108826118c0565b60405161088f9190614380565b60405180910390f35b3480156108a457600080fd5b506108ad6118c6565b6040516108ba9190614380565b60405180910390f35b3480156108cf57600080fd5b506108d86118cc565b6040516108e59190614380565b60405180910390f35b3480156108fa57600080fd5b506109156004803603810190610910919061439b565b6118d2565b6040516109229190614265565b60405180910390f35b34801561093757600080fd5b506109406118f2565b60405161094d9190614183565b60405180910390f35b34801561096257600080fd5b5061096b61191b565b6040516109789190614120565b60405180910390f35b34801561098d57600080fd5b506109966119ad565b6040516109a39190614183565b60405180910390f35b3480156109b857600080fd5b506109d360048036038101906109ce919061447f565b6119d3565b005b3480156109e157600080fd5b506109ea611a59565b6040516109f79190614380565b60405180910390f35b348015610a0c57600080fd5b50610a276004803603810190610a22919061420a565b611a5f565b604051610a349190614265565b60405180910390f35b348015610a4957600080fd5b50610a646004803603810190610a5f919061420a565b611b2c565b604051610a719190614265565b60405180910390f35b348015610a8657600080fd5b50610aa16004803603810190610a9c91906144ac565b611b4b565b005b348015610aaf57600080fd5b50610aca6004803603810190610ac59190614452565b611c22565b005b348015610ad857600080fd5b50610ae1611cf2565b604051610aee9190614380565b60405180910390f35b348015610b0357600080fd5b50610b1e6004803603810190610b19919061439b565b611cf8565b005b348015610b2c57600080fd5b50610b476004803603810190610b4291906144ac565b611db8565b005b348015610b5557600080fd5b50610b5e611e8f565b604051610b6b9190614183565b60405180910390f35b348015610b8057600080fd5b50610b9b6004803603810190610b96919061439b565b611eb5565b604051610ba89190614265565b60405180910390f35b348015610bbd57600080fd5b50610bd86004803603810190610bd391906145e4565b611ed5565b005b348015610be657600080fd5b50610c016004803603810190610bfc9190614452565b611fe9565b005b348015610c0f57600080fd5b50610c18612082565b604051610c259190614380565b60405180910390f35b348015610c3a57600080fd5b50610c556004803603810190610c509190614637565b612088565b604051610c629190614380565b60405180910390f35b348015610c7757600080fd5b50610c926004803603810190610c8d91906144ac565b61210f565b005b348015610ca057600080fd5b50610ca96121e6565b005b348015610cb757600080fd5b50610cc0612325565b604051610ccd9190614380565b60405180910390f35b348015610ce257600080fd5b50610ceb61232b565b604051610cf89190614265565b60405180910390f35b348015610d0d57600080fd5b50610d1661233e565b604051610d239190614265565b60405180910390f35b348015610d3857600080fd5b50610d536004803603810190610d4e9190614452565b612351565b005b348015610d6157600080fd5b50610d7c6004803603810190610d77919061439b565b6123ea565b005b348015610d8a57600080fd5b50610d936124e1565b604051610da09190614265565b60405180910390f35b348015610db557600080fd5b50610dd06004803603810190610dcb919061439b565b6124f4565b005b348015610dde57600080fd5b50610df96004803603810190610df491906144ec565b6125b4565b005b606060018054610e0a906146a6565b80601f0160208091040260200160405190810160405280929190818152602001828054610e36906146a6565b8015610e835780601f10610e5857610100808354040283529160200191610e83565b820191906000526020600020905b815481529060010190602001808311610e6657829003601f168201915b5050505050905090565b7f000000000000000000000000000000000000000000000000000000000000000081565b6000610ec5610ebe612781565b8484612789565b6001905092915050565b610ed7612781565b73ffffffffffffffffffffffffffffffffffffffff16610ef56118f2565b73ffffffffffffffffffffffffffffffffffffffff1614610f4b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f4290614723565b60405180910390fd5b60005b83839050811015610fea578160136000868685818110610f7157610f70614743565b5b9050602002016020810190610f86919061439b565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508080610fe2906147a1565b915050610f4e565b50505050565b6000601454905090565b611002612781565b73ffffffffffffffffffffffffffffffffffffffff166110206118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611076576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106d90614723565b60405180910390fd5b80600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006110c7848484612952565b50611189846110d4612781565b611184856040518060600160405280602881526020016153e660289139600e60008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061113a612781565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133879092919063ffffffff16565b612789565b600190509392505050565b7f000000000000000000000000000000000000000000000000000000000000000081565b6111c0612781565b73ffffffffffffffffffffffffffffffffffffffff166111de6118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611234576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161122b90614723565b60405180910390fd5b601d60009054906101000a900460ff1615611284576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127b90614835565b60405180910390fd5b6001601d60006101000a81548160ff02191690831515021790555042601b81905550565b60006113216112d67f000000000000000000000000000000000000000000000000000000000000000061171d565b6113136113027f000000000000000000000000000000000000000000000000000000000000000061171d565b6014546133eb90919063ffffffff16565b6133eb90919063ffffffff16565b905090565b6000600360009054906101000a900460ff16905090565b60006113e661134a612781565b846113e185600e600061135b612781565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461272390919063ffffffff16565b612789565b6001905092915050565b60136020528060005260406000206000915054906101000a900460ff1681565b60106020528060005260406000206000915054906101000a900460ff1681565b611438612781565b73ffffffffffffffffffffffffffffffffffffffff166114566118f2565b73ffffffffffffffffffffffffffffffffffffffff16146114ac576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114a390614723565b60405180910390fd5b80601d60026101000a81548160ff02191690831515021790555050565b601e60159054906101000a900460ff1681565b600f6020528060005260406000206000915054906101000a900460ff1681565b60085481565b61150a612781565b73ffffffffffffffffffffffffffffffffffffffff166115286118f2565b73ffffffffffffffffffffffffffffffffffffffff161461157e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157590614723565b60405180910390fd5b8060178190555050565b601d60019054906101000a900460ff1681565b6115a3612781565b73ffffffffffffffffffffffffffffffffffffffff166115c16118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611617576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161160e90614723565b60405180910390fd5b80601160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b61167a612781565b73ffffffffffffffffffffffffffffffffffffffff166116986118f2565b73ffffffffffffffffffffffffffffffffffffffff16146116ee576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116e590614723565b60405180910390fd5b816006819055508060078190555061171360075460065461272390919063ffffffff16565b6009819055505050565b6000600d60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61176e612781565b73ffffffffffffffffffffffffffffffffffffffff1661178c6118f2565b73ffffffffffffffffffffffffffffffffffffffff16146117e2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117d990614723565b60405180910390fd5b6117ec6000613435565b565b6117f6612781565b73ffffffffffffffffffffffffffffffffffffffff166118146118f2565b73ffffffffffffffffffffffffffffffffffffffff161461186a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161186190614723565b60405180910390fd5b8060188190555050565b601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60175481565b601c5481565b60185481565b60126020528060005260406000206000915054906101000a900460ff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60606002805461192a906146a6565b80601f0160208091040260200160405190810160405280929190818152602001828054611956906146a6565b80156119a35780601f10611978576101008083540402835291602001916119a3565b820191906000526020600020905b81548152906001019060200180831161198657829003601f168201915b5050505050905090565b600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6119db612781565b73ffffffffffffffffffffffffffffffffffffffff166119f96118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611a4f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a4690614723565b60405180910390fd5b8060168190555050565b60095481565b6000611b22611a6c612781565b84611b1d8560405180606001604052806025815260200161540e60259139600e6000611a96612781565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133879092919063ffffffff16565b612789565b6001905092915050565b6000611b40611b39612781565b8484612952565b506001905092915050565b611b53612781565b73ffffffffffffffffffffffffffffffffffffffff16611b716118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611bc7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bbe90614723565b60405180910390fd5b80601260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b611c2a612781565b73ffffffffffffffffffffffffffffffffffffffff16611c486118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611c9e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9590614723565b60405180910390fd5b80601e60156101000a81548160ff0219169083151502179055507f53726dfcaf90650aa7eb35524f4d3220f07413c8d6cb404cc8c18bf5591bc15981604051611ce79190614265565b60405180910390a150565b601b5481565b611d00612781565b73ffffffffffffffffffffffffffffffffffffffff16611d1e6118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d6b90614723565b60405180910390fd5b80601d60036101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b611dc0612781565b73ffffffffffffffffffffffffffffffffffffffff16611dde6118f2565b73ffffffffffffffffffffffffffffffffffffffff1614611e34576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2b90614723565b60405180910390fd5b80601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60116020528060005260406000206000915054906101000a900460ff1681565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614611f65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f5c906148a1565b60405180910390fd5b8273ffffffffffffffffffffffffffffffffffffffff1663a9059cbb83836040518363ffffffff1660e01b8152600401611fa09291906148c1565b6020604051808303816000875af1158015611fbf573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611fe391906148ff565b50505050565b611ff1612781565b73ffffffffffffffffffffffffffffffffffffffff1661200f6118f2565b73ffffffffffffffffffffffffffffffffffffffff1614612065576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161205c90614723565b60405180910390fd5b80601960006101000a81548160ff02191690831515021790555050565b60165481565b6000600e60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b612117612781565b73ffffffffffffffffffffffffffffffffffffffff166121356118f2565b73ffffffffffffffffffffffffffffffffffffffff161461218b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161218290614723565b60405180910390fd5b80600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600c60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff163373ffffffffffffffffffffffffffffffffffffffff1614612276576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161226d906148a1565b60405180910390fd5b60003373ffffffffffffffffffffffffffffffffffffffff164760405161229c9061495d565b60006040518083038185875af1925050503d80600081146122d9576040519150601f19603f3d011682016040523d82523d6000602084013e6122de565b606091505b5050905080612322576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612319906149be565b60405180910390fd5b50565b601a5481565b601960009054906101000a900460ff1681565b601d60009054906101000a900460ff1681565b612359612781565b73ffffffffffffffffffffffffffffffffffffffff166123776118f2565b73ffffffffffffffffffffffffffffffffffffffff16146123cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016123c490614723565b60405180910390fd5b80601d60016101000a81548160ff02191690831515021790555050565b6123f2612781565b73ffffffffffffffffffffffffffffffffffffffff166124106118f2565b73ffffffffffffffffffffffffffffffffffffffff1614612466576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161245d90614723565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036124d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016124cc90614a50565b60405180910390fd5b6124de81613435565b50565b601d60029054906101000a900460ff1681565b6124fc612781565b73ffffffffffffffffffffffffffffffffffffffff1661251a6118f2565b73ffffffffffffffffffffffffffffffffffffffff1614612570576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161256790614723565b60405180910390fd5b80600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6125bc612781565b73ffffffffffffffffffffffffffffffffffffffff166125da6118f2565b73ffffffffffffffffffffffffffffffffffffffff1614612630576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161262790614723565b60405180910390fd5b816004819055508060058190555061265560055460045461272390919063ffffffff16565b6008819055505050565b600080830361267157600090506126d3565b6000828461267f9190614a70565b905082848261268e9190614ae1565b146126ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016126c590614b84565b60405180910390fd5b809150505b92915050565b600061271b83836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f0000000000008152506134f9565b905092915050565b60008082846127329190614ba4565b905083811015612777576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161276e90614c24565b60405180910390fd5b8091505092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16036127f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016127ef90614cb6565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603612867576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161285e90614d48565b60405180910390fd5b80600e60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516129459190614380565b60405180910390a3505050565b60008073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16036129c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016129b990614dda565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1603612a31576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a2890614e6c565b60405180910390fd5b60008211612a74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612a6b90614efe565b60405180910390fd5b601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b01576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612af890614f6a565b60405180910390fd5b601360003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612b8e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612b8590614f6a565b60405180910390fd5b601360003273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615612c1b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612c1290614f6a565b60405180910390fd5b601e60149054906101000a900460ff1615612c4257612c3b84848461355c565b9050613380565b600f60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16158015612ce65750600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b15612f0e57601d60009054906101000a900460ff16612d3a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612d3190614fd6565b60405180910390fd5b601c54601b54612d4a9190614ba4565b42108015612da65750601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff1614155b15612f0d578373ffffffffffffffffffffffffffffffffffffffff16601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612e5d576001601360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550612f0c565b8273ffffffffffffffffffffffffffffffffffffffff16601e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1603612f0b576001601360008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b5b5b5b6000612f193061171d565b905060006016548210159050808015612f3f5750601e60149054906101000a900460ff16155b8015612f955750601060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b8015612fad5750601e60159054906101000a900460ff165b15612fbc57612fbb8261372f565b5b601260008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161580156130605750601260008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b80156130785750601d60019054906101000a900460ff165b156130c3576017548411156130c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016130b990615068565b60405180910390fd5b5b61314c846040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600d60008a73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133879092919063ffffffff16565b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600061319b878761393e565b6131af576131aa878787613aa9565b6131b1565b845b9050601d60029054906101000a900460ff1680156132195750601160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b1561327e5760185461323c8261322e8961171d565b61272390919063ffffffff16565b111561327d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401613274906150d4565b60405180910390fd5b5b6132d081600d60008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461272390919063ffffffff16565b600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508573ffffffffffffffffffffffffffffffffffffffff168773ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef836040516133709190614380565b60405180910390a3600193505050505b9392505050565b60008383111582906133cf576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016133c69190614120565b60405180910390fd5b50600083856133de91906150f4565b9050809150509392505050565b600061342d83836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250613387565b905092915050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008083118290613540576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016135379190614120565b60405180910390fd5b506000838561354f9190614ae1565b9050809150509392505050565b60006135e7826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600d60008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546133879092919063ffffffff16565b600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061367c82600d60008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461272390919063ffffffff16565b600d60008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8460405161371c9190614380565b60405180910390a3600190509392505050565b6001601e60146101000a81548160ff021916908315150217905550600061376360095460085461272390919063ffffffff16565b9050600081036137735750613920565b600061378c60065460045461272390919063ffffffff16565b905060006137c860026137ba856137ac868961265f90919063ffffffff16565b6126d990919063ffffffff16565b6126d990919063ffffffff16565b905060006137df82866133eb90919063ffffffff16565b905060004790506137ef82613d14565b600061380482476133eb90919063ffffffff16565b9050600061382e61381f6002886126d990919063ffffffff16565b886133eb90919063ffffffff16565b9050600061386a600261385c8461384e8b8861265f90919063ffffffff16565b6126d990919063ffffffff16565b6126d990919063ffffffff16565b9050600061388182856133eb90919063ffffffff16565b905060008111156138f657600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166108fc829081150290604051600060405180830381858888f193505050501580156138f4573d6000803e3d6000fd5b505b6000821180156139065750600087115b15613916576139158783613f90565b5b5050505050505050505b6000601e60146101000a81548160ff02191690831515021790555050565b6000600f60008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16806139e15750600f60008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b156139ef5760019050613aa3565b601060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1680613a905750601060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b15613a9e5760009050613aa3565b600090505b92915050565b600080601060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613b2e57613b27601554613b196008548661265f90919063ffffffff16565b6126d990919063ffffffff16565b9050613bf3565b601060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615613bb057613ba9601554613b9b6009548661265f90919063ffffffff16565b6126d990919063ffffffff16565b9050613bf2565b601960009054906101000a900460ff1615613bf157613bee601554613be0601a548661265f90919063ffffffff16565b6126d990919063ffffffff16565b90505b5b5b6000811115613cf757613c4e81600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461272390919063ffffffff16565b600d60003073ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055503073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051613cee9190614380565b60405180910390a35b613d0a81846133eb90919063ffffffff16565b9150509392505050565b6000600267ffffffffffffffff811115613d3157613d30615128565b5b604051908082528060200260200182016040528015613d5f5781602001602082028036833780820191505090505b5090503081600081518110613d7757613d76614743565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663ad5c46486040518163ffffffff1660e01b8152600401602060405180830381865afa158015613e1e573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190613e42919061516c565b81600181518110613e5657613e55614743565b5b602002602001019073ffffffffffffffffffffffffffffffffffffffff16908173ffffffffffffffffffffffffffffffffffffffff1681525050613ebd30601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612789565b601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663791ac9478360008430426040518663ffffffff1660e01b8152600401613f21959493929190615292565b600060405180830381600087803b158015613f3b57600080fd5b505af1158015613f4f573d6000803e3d6000fd5b505050507f32cde87eb454f3a0b875ab23547023107cfad454363ec88ba5695e2c24aa52a78282604051613f849291906152ec565b60405180910390a15050565b613fbd30601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1684612789565b601d60039054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1663f305d719823085600080600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16426040518863ffffffff1660e01b81526004016140469695949392919061531c565b60606040518083038185885af1158015614064573d6000803e3d6000fd5b50505050506040513d601f19601f820116820180604052508101906140899190615392565b5050505050565b600081519050919050565b600082825260208201905092915050565b60005b838110156140ca5780820151818401526020810190506140af565b60008484015250505050565b6000601f19601f8301169050919050565b60006140f282614090565b6140fc818561409b565b935061410c8185602086016140ac565b614115816140d6565b840191505092915050565b6000602082019050818103600083015261413a81846140e7565b905092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b600061416d82614142565b9050919050565b61417d81614162565b82525050565b60006020820190506141986000830184614174565b92915050565b600080fd5b600080fd5b6141b181614162565b81146141bc57600080fd5b50565b6000813590506141ce816141a8565b92915050565b6000819050919050565b6141e7816141d4565b81146141f257600080fd5b50565b600081359050614204816141de565b92915050565b600080604083850312156142215761422061419e565b5b600061422f858286016141bf565b9250506020614240858286016141f5565b9150509250929050565b60008115159050919050565b61425f8161424a565b82525050565b600060208201905061427a6000830184614256565b92915050565b600080fd5b600080fd5b600080fd5b60008083601f8401126142a5576142a4614280565b5b8235905067ffffffffffffffff8111156142c2576142c1614285565b5b6020830191508360208202830111156142de576142dd61428a565b5b9250929050565b6142ee8161424a565b81146142f957600080fd5b50565b60008135905061430b816142e5565b92915050565b60008060006040848603121561432a5761432961419e565b5b600084013567ffffffffffffffff811115614348576143476141a3565b5b6143548682870161428f565b93509350506020614367868287016142fc565b9150509250925092565b61437a816141d4565b82525050565b60006020820190506143956000830184614371565b92915050565b6000602082840312156143b1576143b061419e565b5b60006143bf848285016141bf565b91505092915050565b6000806000606084860312156143e1576143e061419e565b5b60006143ef868287016141bf565b9350506020614400868287016141bf565b9250506040614411868287016141f5565b9150509250925092565b600060ff82169050919050565b6144318161441b565b82525050565b600060208201905061444c6000830184614428565b92915050565b6000602082840312156144685761446761419e565b5b6000614476848285016142fc565b91505092915050565b6000602082840312156144955761449461419e565b5b60006144a3848285016141f5565b91505092915050565b600080604083850312156144c3576144c261419e565b5b60006144d1858286016141bf565b92505060206144e2858286016142fc565b9150509250929050565b600080604083850312156145035761450261419e565b5b6000614511858286016141f5565b9250506020614522858286016141f5565b9150509250929050565b6000819050919050565b600061455161454c61454784614142565b61452c565b614142565b9050919050565b600061456382614536565b9050919050565b600061457582614558565b9050919050565b6145858161456a565b82525050565b60006020820190506145a0600083018461457c565b92915050565b60006145b182614162565b9050919050565b6145c1816145a6565b81146145cc57600080fd5b50565b6000813590506145de816145b8565b92915050565b6000806000606084860312156145fd576145fc61419e565b5b600061460b868287016145cf565b935050602061461c868287016141bf565b925050604061462d868287016141f5565b9150509250925092565b6000806040838503121561464e5761464d61419e565b5b600061465c858286016141bf565b925050602061466d858286016141bf565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806146be57607f821691505b6020821081036146d1576146d0614677565b5b50919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b600061470d60208361409b565b9150614718826146d7565b602082019050919050565b6000602082019050818103600083015261473c81614700565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006147ac826141d4565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036147de576147dd614772565b5b600182019050919050565b7f45524332303a20416c726561647920456e61626c656400000000000000000000600082015250565b600061481f60168361409b565b915061482a826147e9565b602082019050919050565b6000602082019050818103600083015261484e81614812565b9050919050565b7f4572726f723a2047756172646564210000000000000000000000000000000000600082015250565b600061488b600f8361409b565b915061489682614855565b602082019050919050565b600060208201905081810360008301526148ba8161487e565b9050919050565b60006040820190506148d66000830185614174565b6148e36020830184614371565b9392505050565b6000815190506148f9816142e5565b92915050565b6000602082840312156149155761491461419e565b5b6000614923848285016148ea565b91505092915050565b600081905092915050565b50565b600061494760008361492c565b915061495282614937565b600082019050919050565b60006149688261493a565b9150819050919050565b7f5472616e73616374696f6e204661696c65642121000000000000000000000000600082015250565b60006149a860148361409b565b91506149b382614972565b602082019050919050565b600060208201905081810360008301526149d78161499b565b9050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b6000614a3a60268361409b565b9150614a45826149de565b604082019050919050565b60006020820190508181036000830152614a6981614a2d565b9050919050565b6000614a7b826141d4565b9150614a86836141d4565b9250828202614a94816141d4565b91508282048414831517614aab57614aaa614772565b5b5092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b6000614aec826141d4565b9150614af7836141d4565b925082614b0757614b06614ab2565b5b828204905092915050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b6000614b6e60218361409b565b9150614b7982614b12565b604082019050919050565b60006020820190508181036000830152614b9d81614b61565b9050919050565b6000614baf826141d4565b9150614bba836141d4565b9250828201905080821115614bd257614bd1614772565b5b92915050565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b6000614c0e601b8361409b565b9150614c1982614bd8565b602082019050919050565b60006020820190508181036000830152614c3d81614c01565b9050919050565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b6000614ca060248361409b565b9150614cab82614c44565b604082019050919050565b60006020820190508181036000830152614ccf81614c93565b9050919050565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b6000614d3260228361409b565b9150614d3d82614cd6565b604082019050919050565b60006020820190508181036000830152614d6181614d25565b9050919050565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b6000614dc460258361409b565b9150614dcf82614d68565b604082019050919050565b60006020820190508181036000830152614df381614db7565b9050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b6000614e5660238361409b565b9150614e6182614dfa565b604082019050919050565b60006020820190508181036000830152614e8581614e49565b9050919050565b7f5472616e7366657220616d6f756e74206d75737420626520677265617465722060008201527f7468616e207a65726f0000000000000000000000000000000000000000000000602082015250565b6000614ee860298361409b565b9150614ef382614e8c565b604082019050919050565b60006020820190508181036000830152614f1781614edb565b9050919050565b7f45524332303a20426f7420646574656374656400000000000000000000000000600082015250565b6000614f5460138361409b565b9150614f5f82614f1e565b602082019050919050565b60006020820190508181036000830152614f8381614f47565b9050919050565b7f45524332303a2074726164696e67206e6f7420656e61626c6520796574000000600082015250565b6000614fc0601d8361409b565b9150614fcb82614f8a565b602082019050919050565b60006020820190508181036000830152614fef81614fb3565b9050919050565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b600061505260288361409b565b915061505d82614ff6565b604082019050919050565b6000602082019050818103600083015261508181615045565b9050919050565b7f4d61782057616c6c6574204c696d697420457863656564656421210000000000600082015250565b60006150be601b8361409b565b91506150c982615088565b602082019050919050565b600060208201905081810360008301526150ed816150b1565b9050919050565b60006150ff826141d4565b915061510a836141d4565b925082820390508181111561512257615121614772565b5b92915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600081519050615166816141a8565b92915050565b6000602082840312156151825761518161419e565b5b600061519084828501615157565b91505092915050565b6000819050919050565b60006151be6151b96151b484615199565b61452c565b6141d4565b9050919050565b6151ce816151a3565b82525050565b600081519050919050565b600082825260208201905092915050565b6000819050602082019050919050565b61520981614162565b82525050565b600061521b8383615200565b60208301905092915050565b6000602082019050919050565b600061523f826151d4565b61524981856151df565b9350615254836151f0565b8060005b8381101561528557815161526c888261520f565b975061527783615227565b925050600181019050615258565b5085935050505092915050565b600060a0820190506152a76000830188614371565b6152b460208301876151c5565b81810360408301526152c68186615234565b90506152d56060830185614174565b6152e26080830184614371565b9695505050505050565b60006040820190506153016000830185614371565b81810360208301526153138184615234565b90509392505050565b600060c0820190506153316000830189614174565b61533e6020830188614371565b61534b60408301876151c5565b61535860608301866151c5565b6153656080830185614174565b61537260a0830184614371565b979650505050505050565b60008151905061538c816141de565b92915050565b6000806000606084860312156153ab576153aa61419e565b5b60006153b98682870161537d565b93505060206153ca8682870161537d565b92505060406153db8682870161537d565b915050925092509256fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa26469706673582212206c4bab062e8a8c4a258dfaf2ded0f1ac1c1c95e81e0c1cb946e1817318aed9a464736f6c63430008120033