60a06040526006805460ff60a01b1916600160a01b179055620249f0600a5569152d02c7e14af6800000600b553480156200003957600080fd5b5060408051808201825260048082526311d3d11360e21b602080840182815285518087019096529285528401528151919291620000799160039162000975565b5080516200008f90600490602084019062000975565b5050506000620000a4620005a560201b60201c565b600580546001600160a01b0319166001600160a01b038316908117909155604051919250906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350620001006003600562000a52565b6008146200011e57634e487b7160e01b600052600160045260246000fd5b6040516200012c9062000a04565b604051809103906000f08015801562000149573d6000803e3d6000fd5b50600880546001600160a01b03199081166001600160a01b0393841617909155600554600980549190931691161790556040805163c45a015560e01b81529051737a250d5630b4cf539739df2c5dacb4c659f2488d91600091839163c45a0155916004808301926020929190829003018186803b158015620001ca57600080fd5b505afa158015620001df573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000205919062000a29565b6001600160a01b031663c9c6539630846001600160a01b031663ad5c46486040518163ffffffff1660e01b815260040160206040518083038186803b1580156200024e57600080fd5b505afa15801562000263573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019062000289919062000a29565b6040516001600160e01b031960e085901b1681526001600160a01b03928316600482015291166024820152604401602060405180830381600087803b158015620002d257600080fd5b505af1158015620002e7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200030d919062000a29565b6006805473cd5312d086f078d1554e8813c27cf6c9d1c3d9b36001600160a01b03199182168117909255600780549091166001600160a01b038616179055606082901b6001600160601b0319166080529091506200036d826001620005a9565b60085460405163031e79db60e41b81526001600160a01b0390911660048201819052906331e79db090602401600060405180830381600087803b158015620003b457600080fd5b505af1158015620003c9573d6000803e3d6000fd5b505060085460405163031e79db60e41b81523060048201526001600160a01b0390911692506331e79db09150602401600060405180830381600087803b1580156200041357600080fd5b505af115801562000428573d6000803e3d6000fd5b50506008546001600160a01b031691506331e79db09050620004526005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b1580156200049457600080fd5b505af1158015620004a9573d6000803e3d6000fd5b505060085460405163031e79db60e41b81526001600160a01b03878116600483015290911692506331e79db09150602401600060405180830381600087803b158015620004f557600080fd5b505af11580156200050a573d6000803e3d6000fd5b50506009546200052692506001600160a01b0316905062000710565b620005313062000710565b6001600e60006200054a6005546001600160a01b031690565b6001600160a01b031681526020810191909152604001600020805460ff19169115159190911790556200059c620005896005546001600160a01b031690565b6b033b2e3c9fd0803ce80000006200080f565b50505062000ab4565b3390565b6001600160a01b0382166000908152600f602052604090205460ff1615158115151415620006445760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a204175746f6d61746564206d61726b6574206d616b65722070616960448201527f7220697320616c72656164792073657420746f20746861742076616c7565000060648201526084015b60405180910390fd5b6001600160a01b0382166000908152600f60205260409020805460ff19168215801591909117909155620006d45760085460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b158015620006ba57600080fd5b505af1158015620006cf573d6000803e3d6000fd5b505050505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6005546001600160a01b031633146200076c5760405162461bcd60e51b815260206004820181905260248201527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e657260448201526064016200063b565b6001600160a01b0381166000908152600d602052604090205460ff1615620007eb5760405162461bcd60e51b815260206004820152602b60248201527f474f444c3a204163636f756e7420697320616c7265616479206578636c75646560448201526a642066726f6d206665657360a81b60648201526084016200063b565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b6001600160a01b038216620008675760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f20616464726573730060448201526064016200063b565b62000883816002546200090b60201b62001e311790919060201c565b6002556001600160a01b03821660009081526020818152604090912054620008b691839062001e316200090b821b17901c565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef910160405180910390a35050565b6000806200091a838562000a52565b9050838110156200096e5760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f77000000000060448201526064016200063b565b9392505050565b828054620009839062000a77565b90600052602060002090601f016020900481019282620009a75760008555620009f2565b82601f10620009c257805160ff1916838001178555620009f2565b82800160010185558215620009f2579182015b82811115620009f2578251825591602001919060010190620009d5565b5062000a0092915062000a12565b5090565b6123568062003fcf83390190565b5b8082111562000a00576000815560010162000a13565b60006020828403121562000a3b578081fd5b81516001600160a01b03811681146200096e578182fd5b6000821982111562000a7257634e487b7160e01b81526011600452602481fd5b500190565b600181811c9082168062000a8c57607f821691505b6020821081141562000aae57634e487b7160e01b600052602260045260246000fd5b50919050565b60805160601c6134d962000af66000396000818161050101528181611632015281816120b5015281816120f001528181612154015261221e01526134d96000f3fe60806040526004361061031e5760003560e01c80638649847c116101ab578063ad56c13c116100f7578063e37ba8f911610095578063e98030c71161006f578063e98030c71461099e578063f27fd254146109be578063f2fde38b146109de578063fd5db2af146109fe57600080fd5b8063e37ba8f914610949578063e57f14e114610969578063e7841ec01461098957600080fd5b8063c816e4b6116100d1578063c816e4b6146108ad578063d3b5be1a146108c3578063d4698016146108e3578063dd62ed3e1461090357600080fd5b8063ad56c13c14610803578063af74ff5b14610868578063b62496f51461087d57600080fd5b80639a7a23d611610164578063a26579ad1161013e578063a26579ad1461078e578063a457c2d7146107a3578063a8b9d240146107c3578063a9059cbb146107e357600080fd5b80639a7a23d6146107385780639c1b8af5146107585780639d55d16f1461076e57600080fd5b80638649847c14610690578063871c128d146106b057806388bdd9be146106d05780638da5cb5b146106f057806392ca1e8d1461070e57806395d89b411461072357600080fd5b806345b08aa11161026a57806364b0f65311610223578063700bb191116101fd578063700bb191146105f557806370a0823114610615578063715018a61461064b5780637e0e155c1461066057600080fd5b806364b0f653146105a057806365b8dbc0146105b55780636843cd84146105d557600080fd5b806345b08aa1146104cf57806349bd5a5e146104ef5780634ada218b146105235780634e71d92d1461053d5780634fbee1931461055257806353ab431b1461058b57600080fd5b8063294222be116102d75780632d17f269116102b15780632d17f2691461046957806330bb4cff1461047e578063313ce5671461049357806339509351146104af57600080fd5b8063294222be146104135780632a8407b4146104345780632c1f52161461044957600080fd5b806306fdde031461032a578063095ea7b3146103555780630f15f4c0146103855780631694505e1461039c57806318160ddd146103d457806323b872dd146103f357600080fd5b3661032557005b600080fd5b34801561033657600080fd5b5061033f610a1c565b60405161034c9190613136565b60405180910390f35b34801561036157600080fd5b50610375610370366004613092565b610aae565b604051901515815260200161034c565b34801561039157600080fd5b5061039a610ac5565b005b3480156103a857600080fd5b506007546103bc906001600160a01b031681565b6040516001600160a01b03909116815260200161034c565b3480156103e057600080fd5b506002545b60405190815260200161034c565b3480156103ff57600080fd5b5061037561040e366004612fbc565b610b5a565b34801561041f57600080fd5b5060065461037590600160a01b900460ff1681565b34801561044057600080fd5b506103e5610bc3565b34801561045557600080fd5b506008546103bc906001600160a01b031681565b34801561047557600080fd5b506103e5600581565b34801561048a57600080fd5b506103e5610c45565b34801561049f57600080fd5b506040516012815260200161034c565b3480156104bb57600080fd5b506103756104ca366004613092565b610c8a565b3480156104db57600080fd5b5061039a6104ea366004612f4c565b610cc0565b3480156104fb57600080fd5b506103bc7f000000000000000000000000000000000000000000000000000000000000000081565b34801561052f57600080fd5b50600c546103759060ff1681565b34801561054957600080fd5b5061039a610d4b565b34801561055e57600080fd5b5061037561056d366004612f4c565b6001600160a01b03166000908152600d602052604090205460ff1690565b34801561059757600080fd5b506103e5600381565b3480156105ac57600080fd5b506103e5610dd2565b3480156105c157600080fd5b5061039a6105d0366004612f4c565b610e17565b3480156105e157600080fd5b506103e56105f0366004612f4c565b610f0e565b34801561060157600080fd5b5061039a6106103660046130d9565b610f8d565b34801561062157600080fd5b506103e5610630366004612f4c565b6001600160a01b031660009081526020819052604090205490565b34801561065757600080fd5b5061039a61106e565b34801561066c57600080fd5b5061037561067b366004612f4c565b600e6020526000908152604090205460ff1681565b34801561069c57600080fd5b5061039a6106ab366004612f4c565b6110e2565b3480156106bc57600080fd5b5061039a6106cb3660046130d9565b6111ce565b3480156106dc57600080fd5b5061039a6106eb366004612f4c565b61124d565b3480156106fc57600080fd5b506005546001600160a01b03166103bc565b34801561071a57600080fd5b506103e56115e8565b34801561072f57600080fd5b5061033f6115f7565b34801561074457600080fd5b5061039a610753366004612ffc565b611606565b34801561076457600080fd5b506103e5600a5481565b34801561077a57600080fd5b5061039a6107893660046130d9565b6116f6565b34801561079a57600080fd5b506103e5611782565b3480156107af57600080fd5b506103756107be366004613092565b6117c7565b3480156107cf57600080fd5b506103e56107de366004612f4c565b611816565b3480156107ef57600080fd5b506103756107fe366004613092565b611849565b34801561080f57600080fd5b5061082361081e366004612f4c565b611856565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161034c565b34801561087457600080fd5b5061039a611900565b34801561088957600080fd5b50610375610898366004612f4c565b600f6020526000908152604090205460ff1681565b3480156108b957600080fd5b506103e5600b5481565b3480156108cf57600080fd5b5061039a6108de3660046130d9565b611991565b3480156108ef57600080fd5b506009546103bc906001600160a01b031681565b34801561090f57600080fd5b506103e561091e366004612f84565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561095557600080fd5b5061039a610964366004612f4c565b611a90565b34801561097557600080fd5b5061039a610984366004612f4c565b611b99565b34801561099557600080fd5b506103e5611c64565b3480156109aa57600080fd5b5061039a6109b93660046130d9565b611ca9565b3480156109ca57600080fd5b506108236109d93660046130d9565b611d04565b3480156109ea57600080fd5b5061039a6109f9366004612f4c565b611d46565b348015610a0a57600080fd5b506103e569d3c21bcecceda100000081565b606060038054610a2b906133bc565b80601f0160208091040260200160405190810160405280929190818152602001828054610a57906133bc565b8015610aa45780601f10610a7957610100808354040283529160200191610aa4565b820191906000526020600020905b815481529060010190602001808311610a8757829003601f168201915b5050505050905090565b6000610abb338484611e97565b5060015b92915050565b6005546001600160a01b03163314610af85760405162461bcd60e51b8152600401610aef9061321e565b60405180910390fd5b600c5460ff1615610b4b5760405162461bcd60e51b815260206004820181905260248201527f474f444c3a2054726164696e6720697320616c726561647920656e61626c65646044820152606401610aef565b600c805460ff19166001179055565b6000610b67848484611fbc565b610bb98433610bb485604051806060016040528060288152602001613457602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061280a565b611e97565b5060019392505050565b6008546040805163079cda8160e51b815290516000926001600160a01b03169163f39b5020916004808301926020929190829003018186803b158015610c0857600080fd5b505afa158015610c1c573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610c4091906130f1565b905090565b600854604080516342d359d760e11b815290516000926001600160a01b0316916385a6b3ae916004808301926020929190829003018186803b158015610c0857600080fd5b3360008181526001602090815260408083206001600160a01b03871684529091528120549091610abb918590610bb49086611e31565b6005546001600160a01b03163314610cea5760405162461bcd60e51b8152600401610aef9061321e565b60065460405182916001600160a01b0390811691908316907f915747054d7e91058ebbf3d553f6ea46e33b1c71449946af836c6c30495c1d6d90600090a3600680546001600160a01b0319166001600160a01b039290921691909117905550565b60085460405163bc4c4b3760e01b8152336004820152600060248201526001600160a01b039091169063bc4c4b3790604401602060405180830381600087803b158015610d9757600080fd5b505af1158015610dab573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610dcf91906130bd565b50565b600854604080516304ddf6ef60e11b815290516000926001600160a01b0316916309bbedde916004808301926020929190829003018186803b158015610c0857600080fd5b6005546001600160a01b03163314610e415760405162461bcd60e51b8152600401610aef9061321e565b6007546001600160a01b0382811691161415610eb15760405162461bcd60e51b815260206004820152602960248201527f474f444c3a2054686520726f7574657220616c7265616479206861732074686160448201526874206164647265737360b81b6064820152608401610aef565b6007546040516001600160a01b03918216918316907fcd2acde3ae4de754da8074077404027fae40be67d89638ee1ceca2427883da7d90600090a3600780546001600160a01b0319166001600160a01b0392909216919091179055565b6008546040516370a0823160e01b81526001600160a01b03838116600483015260009216906370a08231906024015b60206040518083038186803b158015610f5557600080fd5b505afa158015610f69573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610abf91906130f1565b6008546040516001624d3b8760e01b0319815260048101839052600091829182916001600160a01b03169063ffb2c47990602401606060405180830381600087803b158015610fdb57600080fd5b505af1158015610fef573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906110139190613109565b604080518481526020810184905290810182905260608101889052929550909350915032906000907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a350505050565b6005546001600160a01b031633146110985760405162461bcd60e51b8152600401610aef9061321e565b6005546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600580546001600160a01b0319169055565b6005546001600160a01b0316331461110c5760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b0381166000908152600e602052604090205460ff16156111aa5760405162461bcd60e51b815260206004820152604660248201527f474f444c3a204163636f756e7420697320616c726561647920616c6c6f77656460448201527f20746f207472616e73666572206265666f72652074726164696e6720697320656064820152651b98589b195960d21b608482015260a401610aef565b6001600160a01b03166000908152600e60205260409020805460ff19166001179055565b6005546001600160a01b031633146111f85760405162461bcd60e51b8152600401610aef9061321e565b600a5481141561121a5760405162461bcd60e51b8152600401610aef906131cc565b600a5460405182907f40d7e40e79af4e8e5a9b3c57030d8ea93f13d669c06d448c4d631d4ae7d23db790600090a3600a55565b6005546001600160a01b031633146112775760405162461bcd60e51b8152600401610aef9061321e565b6008546001600160a01b03828116911614156112f15760405162461bcd60e51b815260206004820152603360248201527f474f444c3a20546865206469766964656e6420747261636b657220616c7265616044820152726479206861732074686174206164647265737360681b6064820152608401610aef565b6000819050306001600160a01b0316816001600160a01b0316638da5cb5b6040518163ffffffff1660e01b815260040160206040518083038186803b15801561133957600080fd5b505afa15801561134d573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113719190612f68565b6001600160a01b0316146113fd5760405162461bcd60e51b815260206004820152604760248201527f474f444c3a20546865206e6577206469766964656e6420747261636b6572206d60448201527f757374206265206f776e65642062792074686520474f444c20746f6b656e20636064820152661bdb9d1c9858dd60ca1b608482015260a401610aef565b60405163031e79db60e41b81526001600160a01b03821660048201819052906331e79db090602401600060405180830381600087803b15801561143f57600080fd5b505af1158015611453573d6000803e3d6000fd5b505060405163031e79db60e41b81523060048201526001600160a01b03841692506331e79db09150602401600060405180830381600087803b15801561149857600080fd5b505af11580156114ac573d6000803e3d6000fd5b50505050806001600160a01b03166331e79db06114d16005546001600160a01b031690565b6040516001600160e01b031960e084901b1681526001600160a01b039091166004820152602401600060405180830381600087803b15801561151257600080fd5b505af1158015611526573d6000803e3d6000fd5b505060075460405163031e79db60e41b81526001600160a01b03918216600482015290841692506331e79db09150602401600060405180830381600087803b15801561157157600080fd5b505af1158015611585573d6000803e3d6000fd5b50506008546040516001600160a01b03918216935090851691507f1ae8fd4f008d9dd6f83c1182b3f30d87aed4ac15a15833ad625bbb740463e3c990600090a3600880546001600160a01b0319166001600160a01b039290921691909117905550565b6115f46003600561334e565b81565b606060048054610a2b906133bc565b6005546001600160a01b031633146116305760405162461bcd60e51b8152600401610aef9061321e565b7f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316826001600160a01b031614156116e85760405162461bcd60e51b815260206004820152604760248201527f474f444c3a2054686520556e697377617020706169722063616e6e6f7420626560448201527f2072656d6f7665642066726f6d206175746f6d617465644d61726b65744d616b6064820152666572506169727360c81b608482015260a401610aef565b6116f28282612844565b5050565b6005546001600160a01b031633146117205760405162461bcd60e51b8152600401610aef9061321e565b600854604051639d55d16f60e01b8152600481018390526001600160a01b0390911690639d55d16f906024015b600060405180830381600087803b15801561176757600080fd5b505af115801561177b573d6000803e3d6000fd5b5050505050565b60085460408051631bc9e27b60e21b815290516000926001600160a01b031691636f2789ec916004808301926020929190829003018186803b158015610c0857600080fd5b6000610abb3384610bb48560405180606001604052806025815260200161347f602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061280a565b6008546040516302a2e74960e61b81526001600160a01b038381166004830152600092169063a8b9d24090602401610f3d565b6000610abb338484611fbc565b60085460405163fbcbc0f160e01b81526001600160a01b038381166004830152600092839283928392839283928392839291169063fbcbc0f1906024015b6101006040518083038186803b1580156118ad57600080fd5b505afa1580156118c1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118e59190613029565b97509750975097509750975097509750919395975091939597565b6005546001600160a01b0316331461192a5760405162461bcd60e51b8152600401610aef9061321e565b60065460408051600160a01b90920460ff161580835280156020840152917f81492e889bb01fbcb80dd006d7f1229e16f8f98757b8dbfcf6b55343d8b7c5c2910160405180910390a160068054911515600160a01b0260ff60a01b19909216919091179055565b6005546001600160a01b031633146119bb5760405162461bcd60e51b8152600401610aef9061321e565b692a5a058fc295ed000000811115611a3b5760405162461bcd60e51b815260206004820152603760248201527f474f444c3a206c6971756964617465546f6b656e734174416d6f756e74206d7560448201527f7374206265206c657373207468616e203230302c3030300000000000000000006064820152608401610aef565b600b54811415611a5d5760405162461bcd60e51b8152600401610aef906131cc565b600b5460405182907fcdadd717dc9ee3550a289071d1af75e229726888d51e3a31c9e3dfc693d4852b90600090a3600b55565b6005546001600160a01b03163314611aba5760405162461bcd60e51b8152600401610aef9061321e565b6009546001600160a01b0382811691161415611b335760405162461bcd60e51b815260206004820152603260248201527f474f444c3a20546865206c69717569646974792077616c6c657420697320616c60448201527172656164792074686973206164647265737360701b6064820152608401610aef565b611b3c81611b99565b6009546040516001600160a01b03918216918316907f6080503d1da552ae8eb4b7b8a20245d9fabed014180510e7d1a05ea08fdb0f3e90600090a3600980546001600160a01b0319166001600160a01b0392909216919091179055565b6005546001600160a01b03163314611bc35760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b0381166000908152600d602052604090205460ff1615611c405760405162461bcd60e51b815260206004820152602b60248201527f474f444c3a204163636f756e7420697320616c7265616479206578636c75646560448201526a642066726f6d206665657360a81b6064820152608401610aef565b6001600160a01b03166000908152600d60205260409020805460ff19166001179055565b6008546040805163039e107b60e61b815290516000926001600160a01b03169163e7841ec0916004808301926020929190829003018186803b158015610c0857600080fd5b6005546001600160a01b03163314611cd35760405162461bcd60e51b8152600401610aef9061321e565b60085460405163e98030c760e01b8152600481018390526001600160a01b039091169063e98030c79060240161174d565b600854604051635183d6fd60e01b81526004810183905260009182918291829182918291829182916001600160a01b0390911690635183d6fd90602401611894565b6005546001600160a01b03163314611d705760405162461bcd60e51b8152600401610aef9061321e565b6001600160a01b038116611dd55760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610aef565b6005546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600580546001600160a01b0319166001600160a01b0392909216919091179055565b600080611e3e838561334e565b905083811015611e905760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610aef565b9392505050565b6001600160a01b038316611ef95760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610aef565b6001600160a01b038216611f5a5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610aef565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92591015b60405180910390a3505050565b6001600160a01b038316611fe25760405162461bcd60e51b8152600401610aef90613253565b6001600160a01b0382166120085760405162461bcd60e51b8152600401610aef90613189565b600c5460ff16806120a1576001600160a01b0384166000908152600e602052604090205460ff166120a15760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a2054686973206163636f756e742063616e6e6f742073656e64207460448201527f6f6b656e7320756e74696c2074726164696e6720697320656e61626c656400006064820152608401610aef565b600654600160a01b900460ff16156122c6577f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316846001600160a01b0316148061212457507f00000000000000000000000000000000000000000000000000000000000000006001600160a01b0316836001600160a01b0316145b801561212d5750805b156122c6576006546040516312bdf42360e01b81526001600160a01b0386811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152326044830152909116906312bdf42390606401602060405180830381600087803b1580156121a757600080fd5b505af11580156121bb573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121df91906130bd565b156121fc5760405162461bcd60e51b8152600401610aef90613298565b6006546040516312bdf42360e01b81526001600160a01b0385811660048301527f000000000000000000000000000000000000000000000000000000000000000081166024830152326044830152909116906312bdf42390606401602060405180830381600087803b15801561227157600080fd5b505af1158015612285573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a991906130bd565b156122c65760405162461bcd60e51b8152600401610aef90613298565b816122dd576122d7848460006129a2565b50505050565b600754600160a01b900460ff161580156122f45750805b801561231857506001600160a01b0383166000908152600f602052604090205460ff165b801561233257506007546001600160a01b03858116911614155b801561235757506001600160a01b0383166000908152600d602052604090205460ff16155b156123dc5769d3c21bcecceda10000008211156123dc5760405162461bcd60e51b815260206004820152603d60248201527f53656c6c207472616e7366657220616d6f756e7420657863656564732074686560448201527f204d41585f53454c4c5f5452414e53414354494f4e5f414d4f554e542e0000006064820152608401610aef565b30600090815260208190526040902054600b548110158280156123fc5750805b80156124125750600754600160a01b900460ff16155b801561243757506001600160a01b0386166000908152600f602052604090205460ff16155b801561245157506009546001600160a01b03878116911614155b801561246b57506009546001600160a01b03868116911614155b156124d9576007805460ff60a01b1916600160a01b17905560006124a56124946003600561334e565b61249f856003612aab565b90612b2a565b90506124b081612b6c565b306000908152602081905260409020546124c981612bf3565b50506007805460ff60a01b191690555b60008380156124f25750600754600160a01b900460ff16155b6001600160a01b0388166000908152600d602052604090205490915060ff168061253457506001600160a01b0386166000908152600d602052604090205460ff165b1561253d575060005b801561257b576000612560606461249f6125596003600561334e565b8990612aab565b905061256c8682612c9b565b95506125798830836129a2565b505b6125868787876129a2565b6008546001600160a01b031663e30443bc886125b7816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b1580156125fd57600080fd5b505af192505050801561260e575060015b506008546001600160a01b031663e30443bc87612640816001600160a01b031660009081526020819052604090205490565b6040516001600160e01b031960e085901b1681526001600160a01b0390921660048301526024820152604401600060405180830381600087803b15801561268657600080fd5b505af1925050508015612697575060015b50600654600160a01b900460ff16156127185760065460405163155d0ed960e01b81526001600160a01b03898116600483015288811660248301523260448301529091169063155d0ed990606401600060405180830381600087803b1580156126ff57600080fd5b505af1158015612713573d6000803e3d6000fd5b505050505b600754600160a01b900460ff1661280157600a546008546040516001624d3b8760e01b03198152600481018390526001600160a01b039091169063ffb2c47990602401606060405180830381600087803b15801561277557600080fd5b505af19250505080156127a5575060408051601f3d908101601f191682019092526127a291810190613109565b60015b6127ae576127ff565b60408051848152602081018490529081018290526060810185905232906001907fc864333d6121033635ab41b29ae52f10a22cf4438c3e4f1c4c68518feb2f8a989060800160405180910390a35050505b505b50505050505050565b6000818484111561282e5760405162461bcd60e51b8152600401610aef9190613136565b50600061283b84866133a5565b95945050505050565b6001600160a01b0382166000908152600f602052604090205460ff16151581151514156128d95760405162461bcd60e51b815260206004820152603e60248201527f474f444c3a204175746f6d61746564206d61726b6574206d616b65722070616960448201527f7220697320616c72656164792073657420746f20746861742076616c756500006064820152608401610aef565b6001600160a01b0382166000908152600f60205260409020805460ff191682158015919091179091556129665760085460405163031e79db60e41b81526001600160a01b038481166004830152909116906331e79db090602401600060405180830381600087803b15801561294d57600080fd5b505af1158015612961573d6000803e3d6000fd5b505050505b604051811515906001600160a01b038416907fffa9187bf1f18bf477bd0ea1bcbb64e93b6a98132473929edfce215cd9b16fab90600090a35050565b6001600160a01b0383166129c85760405162461bcd60e51b8152600401610aef90613253565b6001600160a01b0382166129ee5760405162461bcd60e51b8152600401610aef90613189565b612a2b81604051806060016040528060268152602001613431602691396001600160a01b038616600090815260208190526040902054919061280a565b6001600160a01b038085166000908152602081905260408082209390935590841681522054612a5a9082611e31565b6001600160a01b038381166000818152602081815260409182902094909455518481529092918616917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef9101611faf565b600082612aba57506000610abf565b6000612ac68385613386565b905082612ad38583613366565b14611e905760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610aef565b6000611e9083836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250612cdd565b6000612b79826002612b2a565b90506000612b878383612c9b565b905047612b9383612d0b565b6000612b9f4783612c9b565b9050612bab8382612e90565b60408051858152602081018390529081018490527ffb82c2300f807cc60e7abf909b045a028ef3b1807785a6b675eb0fa21e461fa19060600160405180910390a15050505050565b612bfc81612d0b565b60085460405147916000916001600160a01b039091169083908381818185875af1925050503d8060008114612c4d576040519150601f19603f3d011682016040523d82523d6000602084013e612c52565b606091505b505090508015612c965760408051848152602081018490527f5e8c953468549261e19b5df2c0776259d823043f64befbef757760c2800c07ca910160405180910390a15b505050565b6000611e9083836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061280a565b60008183612cfe5760405162461bcd60e51b8152600401610aef9190613136565b50600061283b8486613366565b6040805160028082526060820183526000926020830190803683370190505090503081600081518110612d4e57634e487b7160e01b600052603260045260246000fd5b6001600160a01b03928316602091820292909201810191909152600754604080516315ab88c960e31b81529051919093169263ad5c4648926004808301939192829003018186803b158015612da257600080fd5b505afa158015612db6573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190612dda9190612f68565b81600181518110612dfb57634e487b7160e01b600052603260045260246000fd5b6001600160a01b039283166020918202929092010152600754612e219130911684611e97565b60075460405163791ac94760e01b81526001600160a01b039091169063791ac94790612e5a9085906000908690309042906004016132de565b600060405180830381600087803b158015612e7457600080fd5b505af1158015612e88573d6000803e3d6000fd5b505050505050565b600754612ea89030906001600160a01b031684611e97565b60075460095460405163f305d71960e01b81523060048201526024810185905260006044820181905260648201526001600160a01b0391821660848201524260a482015291169063f305d71990839060c4016060604051808303818588803b158015612f1357600080fd5b505af1158015612f27573d6000803e3d6000fd5b50505050506040513d601f19601f8201168201806040525081019061177b9190613109565b600060208284031215612f5d578081fd5b8135611e908161340d565b600060208284031215612f79578081fd5b8151611e908161340d565b60008060408385031215612f96578081fd5b8235612fa18161340d565b91506020830135612fb18161340d565b809150509250929050565b600080600060608486031215612fd0578081fd5b8335612fdb8161340d565b92506020840135612feb8161340d565b929592945050506040919091013590565b6000806040838503121561300e578182fd5b82356130198161340d565b91506020830135612fb181613422565b600080600080600080600080610100898b031215613045578384fd5b88516130508161340d565b809850506020890151965060408901519550606089015194506080890151935060a0890151925060c0890151915060e089015190509295985092959890939650565b600080604083850312156130a4578182fd5b82356130af8161340d565b946020939093013593505050565b6000602082840312156130ce578081fd5b8151611e9081613422565b6000602082840312156130ea578081fd5b5035919050565b600060208284031215613102578081fd5b5051919050565b60008060006060848603121561311d578283fd5b8351925060208401519150604084015190509250925092565b6000602080835283518082850152825b8181101561316257858101830151858201604001528201613146565b818111156131735783604083870101525b50601f01601f1916929092016040019392505050565b60208082526023908201527f45524332303a207472616e7366657220746f20746865207a65726f206164647260408201526265737360e81b606082015260800190565b60208082526032908201527f474f444c3a2043616e6e6f742075706461746520676173466f7250726f63657360408201527173696e6720746f2073616d652076616c756560701b606082015260800190565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b60208082526025908201527f45524332303a207472616e736665722066726f6d20746865207a65726f206164604082015264647265737360d81b606082015260800190565b60208082526026908201527f42656570204265657020426f6f702c20596f752772652061207069656365206f60408201526506620706f6f760d41b606082015260800190565b600060a082018783526020878185015260a0604085015281875180845260c0860191508289019350845b8181101561332d5784516001600160a01b031683529383019391830191600101613308565b50506001600160a01b03969096166060850152505050608001529392505050565b60008219821115613361576133616133f7565b500190565b60008261338157634e487b7160e01b81526012600452602481fd5b500490565b60008160001904831182151516156133a0576133a06133f7565b500290565b6000828210156133b7576133b76133f7565b500390565b600181811c908216806133d057607f821691505b602082108114156133f157634e487b7160e01b600052602260045260246000fd5b50919050565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b0381168114610dcf57600080fd5b8015158114610dcf57600080fdfe45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa2646970667358221220d86d93a55138d3756297da7ecd6bee88ba8c22db1a1c1c978daff6a685ba2b9964736f6c6343000804003360806040523480156200001157600080fd5b5060408051808201825260158082527f474f444c5f4469766964656e645f547261636b65720000000000000000000000602080840182815285518087019096529285528401528151919291839183916200006e91600391620000e0565b50805162000084906004906020840190620000e0565b5050610bb86008555050600a80546001600160a01b0319163390811790915560405190915081906000907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908290a350610e10601255620001c3565b828054620000ee9062000186565b90600052602060002090601f0160209004810192826200011257600085556200015d565b82601f106200012d57805160ff19168380011785556200015d565b828001600101855582156200015d579182015b828111156200015d57825182559160200191906001019062000140565b506200016b9291506200016f565b5090565b5b808211156200016b576000815560010162000170565b600181811c908216806200019b57607f821691505b60208210811415620001bd57634e487b7160e01b600052602260045260246000fd5b50919050565b61218380620001d36000396000f3fe60806040526004361061021e5760003560e01c806385a6b3ae11610123578063bc4c4b37116100ab578063e98030c71161006f578063e98030c714610695578063f2fde38b146106b5578063f39b5020146106d5578063fbcbc0f1146106eb578063ffb2c4791461070b57600080fd5b8063bc4c4b37146105dc578063c38f9cad146105fc578063dd62ed3e1461061a578063e30443bc14610660578063e7841ec01461068057600080fd5b80639d55d16f116100f25780639d55d16f14610526578063a457c2d714610546578063a8b9d24014610566578063a9059cbb14610586578063aafd847a146105a657600080fd5b806385a6b3ae146104b35780638da5cb5b146104c957806391b89fba146104f157806395d89b411461051157600080fd5b8063313ce567116101a65780635183d6fd116101755780635183d6fd146103d85780636a4740021461043d5780636f2789ec1461045257806370a0823114610468578063715018a61461049e57600080fd5b8063313ce5671461034c57806331e79db01461036857806339509351146103885780634e7b827f146103a857600080fd5b806318160ddd116101ed57806318160ddd146102b4578063226cfa3d146102c957806323b872dd146102f657806327ce0147146103165780633009a6091461033657600080fd5b806303c833021461023257806306fdde031461023a578063095ea7b31461026557806309bbedde1461029557600080fd5b3661022d5761022b610746565b005b600080fd5b61022b610746565b34801561024657600080fd5b5061024f6107d9565b60405161025c9190611ee4565b60405180910390f35b34801561027157600080fd5b50610285610280366004611e1c565b61086b565b604051901515815260200161025c565b3480156102a157600080fd5b50600b545b60405190815260200161025c565b3480156102c057600080fd5b506002546102a6565b3480156102d557600080fd5b506102a66102e4366004611da8565b60116020526000908152604090205481565b34801561030257600080fd5b50610285610311366004611e74565b610882565b34801561032257600080fd5b506102a6610331366004611da8565b6108eb565b34801561034257600080fd5b506102a6600f5481565b34801561035857600080fd5b506040516012815260200161025c565b34801561037457600080fd5b5061022b610383366004611da8565b610947565b34801561039457600080fd5b506102856103a3366004611e1c565b610a77565b3480156103b457600080fd5b506102856103c3366004611da8565b60106020526000908152604090205460ff1681565b3480156103e457600080fd5b506103f86103f3366004611ecc565b610aad565b604080516001600160a01b0390991689526020890197909752958701949094526060860192909252608085015260a084015260c083015260e08201526101000161025c565b34801561044957600080fd5b5061022b610c1f565b34801561045e57600080fd5b506102a660125481565b34801561047457600080fd5b506102a6610483366004611da8565b6001600160a01b031660009081526020819052604090205490565b3480156104aa57600080fd5b5061022b610cc1565b3480156104bf57600080fd5b506102a660095481565b3480156104d557600080fd5b50600a546040516001600160a01b03909116815260200161025c565b3480156104fd57600080fd5b506102a661050c366004611da8565b610d35565b34801561051d57600080fd5b5061024f610d40565b34801561053257600080fd5b5061022b610541366004611ecc565b610d4f565b34801561055257600080fd5b50610285610561366004611e1c565b610e2e565b34801561057257600080fd5b506102a6610581366004611da8565b610e7d565b34801561059257600080fd5b506102856105a1366004611e1c565b610ea9565b3480156105b257600080fd5b506102a66105c1366004611da8565b6001600160a01b031660009081526007602052604090205490565b3480156105e857600080fd5b506102856105f7366004611de0565b610eb6565b34801561060857600080fd5b506102a669021e19e0c9bab240000081565b34801561062657600080fd5b506102a6610635366004611e47565b6001600160a01b03918216600090815260016020908152604080832093909416825291909152205490565b34801561066c57600080fd5b5061022b61067b366004611e1c565b610f64565b34801561068c57600080fd5b50600f546102a6565b3480156106a157600080fd5b5061022b6106b0366004611ecc565b6110da565b3480156106c157600080fd5b5061022b6106d0366004611da8565b611249565b3480156106e157600080fd5b506102a660085481565b3480156106f757600080fd5b506103f8610706366004611da8565b611334565b34801561071757600080fd5b5061072b610726366004611ecc565b6114ac565b6040805193845260208401929092529082015260600161025c565b600061075160025490565b1161075b57600080fd5b34156107d75761078e61076d60025490565b61077b34600160801b6115d5565b6107859190611fc5565b6005549061165b565b60055560405134815233907fa493a9229478c3fcd73f66d2cdeb7f94fd0f341da924d1054236d784541165119060200160405180910390a26009546107d3903461165b565b6009555b565b6060600380546107e89061205a565b80601f01602080910402602001604051908101604052809291908181526020018280546108149061205a565b80156108615780601f1061083657610100808354040283529160200191610861565b820191906000526020600020905b81548152906001019060200180831161084457829003601f168201915b5050505050905090565b60006108783384846116ba565b5060015b92915050565b600061088f8484846117de565b6108e184336108dc85604051806060016040528060288152602001612101602891396001600160a01b038a166000908152600160209081526040808320338452909152902054919061183a565b6116ba565b5060019392505050565b6001600160a01b03811660009081526006602090815260408083205491839052822054600554600160801b9261093d92610938926109329161092d91906115d5565b611874565b90611884565b6118c2565b61087c9190611fc5565b600a546001600160a01b0316331461097a5760405162461bcd60e51b815260040161097190611f37565b60405180910390fd5b6001600160a01b03811660009081526010602052604090205460ff16156109a057600080fd5b6001600160a01b0381166000908152601060205260408120805460ff191660011790556109ce9082906118d5565b60405163131836e760e21b8152600b60048201526001600160a01b038216602482015273af1da175cf30d036b53d1e94c3173a78a5a59e7f90634c60db9c9060440160006040518083038186803b158015610a2857600080fd5b505af4158015610a3c573d6000803e3d6000fd5b50506040516001600160a01b03841692507fbc358c1a6bbec2cf1d21c2fb5a564b55d7828e32fb5da64adf3c5479264650109150600090a250565b3360008181526001602090815260408083206001600160a01b038716845290915281205490916108789185906108dc908661165b565b600080600080600080600080600b73af1da175cf30d036b53d1e94c3173a78a5a59e7f63deb3d89690916040518263ffffffff1660e01b8152600401610af591815260200190565b60206040518083038186803b158015610b0d57600080fd5b505af4158015610b21573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610b459190611eb4565b8910610b6a575060009650600019955085945086935083925082915081905080610c14565b6040516368d54f3f60e11b8152600b6004820152602481018a905260009073af1da175cf30d036b53d1e94c3173a78a5a59e7f9063d1aa9e7e9060440160206040518083038186803b158015610bbf57600080fd5b505af4158015610bd3573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610bf79190611dc4565b9050610c0281611334565b98509850985098509850985098509850505b919395975091939597565b60405162461bcd60e51b815260206004820152606560248201527f474f444c5f4469766964656e645f547261636b65723a2077697468647261774460448201527f69766964656e642064697361626c65642e20557365207468652027636c61696d60648201527f272066756e6374696f6e206f6e20746865206d61696e20474f444c20636f6e746084820152643930b1ba1760d91b60a482015260c401610971565b600a546001600160a01b03163314610ceb5760405162461bcd60e51b815260040161097190611f37565b600a546040516000916001600160a01b0316907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e0908390a3600a80546001600160a01b0319169055565b600061087c82610e7d565b6060600480546107e89061205a565b600a546001600160a01b03163314610d795760405162461bcd60e51b815260040161097190611f37565b600854811415610dfb5760405162461bcd60e51b815260206004820152604160248201527f474f444c5f4469766964656e645f547261636b65723a2043616e6e6f7420757060448201527f6461746520676173466f725472616e7366657220746f2073616d652076616c756064820152606560f81b608482015260a401610971565b60085460405182907f5e2963a3d7c88b344b101641f89a2f7da9734fc777ed11ad0097b2775a9e9d1790600090a3600855565b600061087833846108dc85604051806060016040528060258152602001612129602591393360009081526001602090815260408083206001600160a01b038d168452909152902054919061183a565b6001600160a01b03811660009081526007602052604081205461087c90610ea3846108eb565b90611934565b60006108783384846117de565b600a546000906001600160a01b03163314610ee35760405162461bcd60e51b815260040161097190611f37565b6000610eee84611976565b90508015610f5a576001600160a01b038416600081815260116020526040908190204290555184151591907fa2c38e2d2fb7e3e1912d937fd1ca11ed6d51864dee4cfa7a7bf02becd7acf09290610f489085815260200190565b60405180910390a3600191505061087c565b5060009392505050565b600a546001600160a01b03163314610f8e5760405162461bcd60e51b815260040161097190611f37565b6001600160a01b03821660009081526010602052604090205460ff1615610fb3575050565b69021e19e0c9bab2400000811061104c57610fce82826118d5565b604051632f0ad01760e21b8152600b60048201526001600160a01b03831660248201526044810182905273af1da175cf30d036b53d1e94c3173a78a5a59e7f9063bc2b405c9060640160006040518083038186803b15801561102f57600080fd5b505af4158015611043573d6000803e3d6000fd5b505050506110ca565b6110578260006118d5565b60405163131836e760e21b8152600b60048201526001600160a01b038316602482015273af1da175cf30d036b53d1e94c3173a78a5a59e7f90634c60db9c9060440160006040518083038186803b1580156110b157600080fd5b505af41580156110c5573d6000803e3d6000fd5b505050505b6110d5826001610eb6565b505050565b600a546001600160a01b031633146111045760405162461bcd60e51b815260040161097190611f37565b610e1081101580156111195750620151808111155b61119e5760405162461bcd60e51b815260206004820152604a60248201527f474f444c5f4469766964656e645f547261636b65723a20636c61696d5761697460448201527f206d757374206265207570646174656420746f206265747765656e203120616e6064820152696420323420686f75727360b01b608482015260a401610971565b6012548114156112165760405162461bcd60e51b815260206004820152603c60248201527f474f444c5f4469766964656e645f547261636b65723a2043616e6e6f7420757060448201527f6461746520636c61696d5761697420746f2073616d652076616c7565000000006064820152608401610971565b60125460405182907f474ea64804364a1e29a4487ddb63c3342a2dd826ccd8acf48825e680a0e6f20f90600090a3601255565b600a546001600160a01b031633146112735760405162461bcd60e51b815260040161097190611f37565b6001600160a01b0381166112d85760405162461bcd60e51b815260206004820152602660248201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160448201526564647265737360d01b6064820152608401610971565b600a546040516001600160a01b038084169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600a80546001600160a01b0319166001600160a01b0392909216919091179055565b6040516317e142d160e01b8152600b60048201526001600160a01b0382166024820152819060009081908190819081908190819073af1da175cf30d036b53d1e94c3173a78a5a59e7f906317e142d19060440160206040518083038186803b15801561139f57600080fd5b505af41580156113b3573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113d79190611eb4565b965060001995506000871261143957600f5487111561140557600f546113fe908890611ab9565b9550611439565b600f54600b546000911061141a576000611429565b600f54600b5461142991611934565b90506114358882611884565b9650505b61144288610e7d565b945061144d886108eb565b6001600160a01b038916600090815260116020526040902054909450925082611477576000611485565b60125461148590849061165b565b915042821161149557600061149f565b61149f8242611934565b9050919395975091939597565b600b5460009081908190806114cc575050600f54600092508291506115ce565b600f546000805a90506000805b89841080156114e757508582105b156115bd57846114f681612095565b600b549096508610905061150957600094505b6000600b600001868154811061152f57634e487b7160e01b600052603260045260246000fd5b60009182526020808320909101546001600160a01b0316808352601190915260409091205490915061156090611af6565b1561158357611570816001610eb6565b15611583578161157f81612095565b9250505b8261158d81612095565b93505060005a9050808511156115b4576115b16115aa8683611934565b879061165b565b95505b93506114d99050565b600f85905590975095509193505050505b9193909250565b6000826115e45750600061087c565b60006115f08385611fe5565b9050826115fd8583611fc5565b146116545760405162461bcd60e51b815260206004820152602160248201527f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f6044820152607760f81b6064820152608401610971565b9392505050565b6000806116688385611fad565b9050838110156116545760405162461bcd60e51b815260206004820152601b60248201527f536166654d6174683a206164646974696f6e206f766572666c6f7700000000006044820152606401610971565b6001600160a01b03831661171c5760405162461bcd60e51b8152602060048201526024808201527f45524332303a20617070726f76652066726f6d20746865207a65726f206164646044820152637265737360e01b6064820152608401610971565b6001600160a01b03821661177d5760405162461bcd60e51b815260206004820152602260248201527f45524332303a20617070726f766520746f20746865207a65726f206164647265604482015261737360f01b6064820152608401610971565b6001600160a01b0383811660008181526001602090815260408083209487168084529482529182902085905590518481527f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925910160405180910390a3505050565b60405162461bcd60e51b815260206004820152602b60248201527f474f444c5f4469766964656e645f547261636b65723a204e6f207472616e736660448201526a195c9cc8185b1b1bddd95960aa1b6064820152608401610971565b6000818484111561185e5760405162461bcd60e51b81526004016109719190611ee4565b50600061186b8486612043565b95945050505050565b6000818181121561087c57600080fd5b6000806118918385611f6c565b9050600083121580156118a45750838112155b806118b957506000831280156118b957508381125b61165457600080fd5b6000808212156118d157600080fd5b5090565b6001600160a01b038216600090815260208190526040902054808211156119145760006119028383611934565b905061190e8482611b1d565b50505050565b808210156110d55760006119288284611934565b905061190e8482611b81565b600061165483836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f77000081525061183a565b60008061198283610e7d565b90508015611ab0576001600160a01b0383166000908152600760205260409020546119ad908261165b565b6001600160a01b038416600081815260076020526040908190209290925590517fee503bee2bb6a87e57bc57db795f98137327401a0e7b7ce42e37926cc1a9ca4d906119fc9084815260200190565b60405180910390a26008546040516000916001600160a01b03861691849084818181858888f193505050503d8060008114611a53576040519150601f19603f3d011682016040523d82523d6000602084013e611a58565b606091505b5050905080611aa9576001600160a01b038416600090815260076020526040902054611a849083611934565b6001600160a01b03909416600090815260076020526040812094909455509192915050565b5092915050565b50600092915050565b600080611ac68385612004565b905060008312158015611ad95750838113155b806118b957506000831280156118b9575083811361165457600080fd5b600042821115611b0857506000919050565b601254611b154284611934565b101592915050565b611b278282611bc5565b611b61611b4261092d836005546115d590919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611ab9565b6001600160a01b0390921660009081526006602052604090209190915550565b611b8b8282611ca4565b611b61611ba661092d836005546115d590919063ffffffff16565b6001600160a01b03841660009081526006602052604090205490611884565b6001600160a01b038216611c1b5760405162461bcd60e51b815260206004820152601f60248201527f45524332303a206d696e7420746f20746865207a65726f2061646472657373006044820152606401610971565b600254611c28908261165b565b6002556001600160a01b038216600090815260208190526040902054611c4e908261165b565b6001600160a01b038316600081815260208181526040808320949094559251848152919290917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91015b60405180910390a35050565b6001600160a01b038216611d045760405162461bcd60e51b815260206004820152602160248201527f45524332303a206275726e2066726f6d20746865207a65726f206164647265736044820152607360f81b6064820152608401610971565b611d41816040518060600160405280602281526020016120df602291396001600160a01b038516600090815260208190526040902054919061183a565b6001600160a01b038316600090815260208190526040902055600254611d679082611934565b6002556040518181526000906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef90602001611c98565b600060208284031215611db9578081fd5b8135611654816120c6565b600060208284031215611dd5578081fd5b8151611654816120c6565b60008060408385031215611df2578081fd5b8235611dfd816120c6565b915060208301358015158114611e11578182fd5b809150509250929050565b60008060408385031215611e2e578182fd5b8235611e39816120c6565b946020939093013593505050565b60008060408385031215611e59578182fd5b8235611e64816120c6565b91506020830135611e11816120c6565b600080600060608486031215611e88578081fd5b8335611e93816120c6565b92506020840135611ea3816120c6565b929592945050506040919091013590565b600060208284031215611ec5578081fd5b5051919050565b600060208284031215611edd578081fd5b5035919050565b6000602080835283518082850152825b81811015611f1057858101830151858201604001528201611ef4565b81811115611f215783604083870101525b50601f01601f1916929092016040019392505050565b6020808252818101527f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572604082015260600190565b600080821280156001600160ff1b0384900385131615611f8e57611f8e6120b0565b600160ff1b8390038412811615611fa757611fa76120b0565b50500190565b60008219821115611fc057611fc06120b0565b500190565b600082611fe057634e487b7160e01b81526012600452602481fd5b500490565b6000816000190483118215151615611fff57611fff6120b0565b500290565b60008083128015600160ff1b850184121615612022576120226120b0565b6001600160ff1b038401831381161561203d5761203d6120b0565b50500390565b600082821015612055576120556120b0565b500390565b600181811c9082168061206e57607f821691505b6020821081141561208f57634e487b7160e01b600052602260045260246000fd5b50919050565b60006000198214156120a9576120a96120b0565b5060010190565b634e487b7160e01b600052601160045260246000fd5b6001600160a01b03811681146120db57600080fd5b5056fe45524332303a206275726e20616d6f756e7420657863656564732062616c616e636545524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636545524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726fa264697066735822122025ce86633c7c2ece637005e849b3a7d090fd2106327e62d47b4e47a9c8586c4c64736f6c63430008040033