60806040526b1027e72f1f128130880000006000556003805460ff1916905534801561002a57600080fd5b5060018054600160a060020a0319163317905560008054308083526005602090815260408085208490558051938452519193927fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef929081900390910190a3611325806100976000396000f3006080604052600436106101325763ffffffff7c0100000000000000000000000000000000000000000000000000000000600035041663037c983a811461013757806306fdde031461014e578063095ea7b3146101d857806318160ddd146102105780631ca8b6cb146102375780631e83409a1461024c57806323b872dd1461026d57806327e235e3146102975780632ccb1b30146102b8578063313ce567146102dc57806342966c68146103075780635b7f415c1461031f578063661884631461033457806370a08231146103585780637c65a48d146103795780638da5cb5b1461039d57806395d89b41146103ce578063a9059cbb146103e3578063bd7d383614610407578063d73dd6231461041c578063d89135cd14610440578063dd62ed3e14610455578063f2fde38b1461047c575b600080fd5b34801561014357600080fd5b5061014c61049d565b005b34801561015a57600080fd5b506101636104c0565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561019d578181015183820152602001610185565b50505050905090810190601f1680156101ca5780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b3480156101e457600080fd5b506101fc600160a060020a03600435166024356104f7565b604080519115158252519081900360200190f35b34801561021c57600080fd5b50610225610587565b60408051918252519081900360200190f35b34801561024357600080fd5b5061022561058d565b34801561025857600080fd5b5061014c600160a060020a0360043516610593565b34801561027957600080fd5b506101fc600160a060020a03600435811690602435166044356107c2565b3480156102a357600080fd5b50610225600160a060020a03600435166109fa565b3480156102c457600080fd5b506101fc600160a060020a0360043516602435610a0c565b3480156102e857600080fd5b506102f1610b78565b6040805160ff9092168252519081900360200190f35b34801561031357600080fd5b506101fc600435610b7d565b34801561032b57600080fd5b50610225610ca3565b34801561034057600080fd5b506101fc600160a060020a0360043516602435610caf565b34801561036457600080fd5b50610225600160a060020a0360043516610daf565b34801561038557600080fd5b5061014c600160a060020a0360043516602435610dca565b3480156103a957600080fd5b506103b2610e95565b60408051600160a060020a039092168252519081900360200190f35b3480156103da57600080fd5b50610163610ea4565b3480156103ef57600080fd5b506101fc600160a060020a0360043516602435610edb565b34801561041357600080fd5b5061014c611065565b34801561042857600080fd5b506101fc600160a060020a036004351660243561108b565b34801561044c57600080fd5b50610225611137565b34801561046157600080fd5b50610225600160a060020a036004358116906024351661113d565b34801561048857600080fd5b5061014c600160a060020a03600435166111a7565b600154600160a060020a031633146104b457600080fd5b6003805460ff19169055565b60408051808201909152600681527f4465786167650000000000000000000000000000000000000000000000000000602082015281565b60035460009060ff161561050a57600080fd5b600160a060020a038316151561051f57600080fd5b336000818152600660209081526040808320600160a060020a03881680855290835292819020869055805186815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060015b92915050565b60005490565b60005481565b6000600160a060020a03821615156105f5576040805160e560020a62461bcd02815260206004820152601160248201527f496e76616c696420726563697069656e74000000000000000000000000000000604482015290519081900360640190fd5b33600160a060020a0383161415610656576040805160e560020a62461bcd02815260206004820152600d60248201527f53656c66207472616e7366657200000000000000000000000000000000000000604482015290519081900360640190fd5b3360009081526004602052604090206001015460ff1615156106c2576040805160e560020a62461bcd02815260206004820152600d60248201527f4c696d6974206e6f742073657400000000000000000000000000000000000000604482015290519081900360640190fd5b336000908152600460205260409020544211610728576040805160e560020a62461bcd02815260206004820152600a60248201527f54696d65206c696d697400000000000000000000000000000000000000000000604482015290519081900360640190fd5b5033600090815260056020526040902054610749818063ffffffff61129116565b3360009081526005602052604080822092909255600160a060020a0384168152205461077b908263ffffffff6112a316565b600160a060020a0383166000818152600560209081526040918290209390935580518481529051919233926000805160206112da8339815191529281900390910190a35050565b60035460009060ff16156107d557600080fd5b81151561081d5782600160a060020a031684600160a060020a03166000805160206112da833981519152846040518082815260200191505060405180910390a35060016109f3565b3360009081526004602052604090206001015460ff1615610888576040805160e560020a62461bcd02815260206004820152601a60248201527f4c696d69742069732073657420616e642075736520636c61696d000000000000604482015290519081900360640190fd5b600160a060020a038316151561089d57600080fd5b600160a060020a03841660009081526005602052604090205482118015906108e85750600160a060020a03841660009081526006602090815260408083203384529091529020548211155b80156108f5575060008210155b151561090057600080fd5b600160a060020a038416600090815260056020526040902054610929908363ffffffff61129116565b600160a060020a0385166000908152600560209081526040808320939093556006815282822033835290522054610966908363ffffffff61129116565b600160a060020a0380861660009081526006602090815260408083203384528252808320949094559186168152600590915220546109aa908363ffffffff6112a316565b600160a060020a0380851660008181526005602090815260409182902094909455805186815290519193928816926000805160206112da83398151915292918290030190a35060015b9392505050565b60056020526000908152604090205481565b600154600090600160a060020a03163314610a2657600080fd5b600160a060020a0383161515610a3b57600080fd5b610a5382670de0b6b3a764000063ffffffff6112b016565b3060009081526005602052604090205410801590610a8857506000610a8683670de0b6b3a764000063ffffffff6112b016565b115b1515610a9357600080fd5b610aca610aae83670de0b6b3a764000063ffffffff6112b016565b306000908152600560205260409020549063ffffffff61129116565b30600090815260056020526040902055610b1a610af583670de0b6b3a764000063ffffffff6112b016565b600160a060020a0385166000908152600560205260409020549063ffffffff6112a316565b600160a060020a038416600081815260056020526040902091909155306000805160206112da833981519152610b5e85670de0b6b3a764000063ffffffff6112b016565b60408051918252519081900360200190a350600192915050565b601281565b6001546000908190600160a060020a03163314610b9957600080fd5b60035460ff1615610ba957600080fd5b33600090815260056020526040902054831115610bc557600080fd5b5033600081815260056020526040902054610be6908463ffffffff61129116565b600160a060020a03821660009081526005602052604081209190915554610c13908463ffffffff61129116565b600055600254610c29908463ffffffff6112a316565b600255604080518481529051600160a060020a038316917fcc16f5dbb4873280815c1ee09dbd06736cffcc184412cf7a71a0fdb75d397ca5919081900360200190a2604080518481529051600091600160a060020a038416916000805160206112da8339815191529181900360200190a350600192915050565b670de0b6b3a764000081565b336000908152600660209081526040808320600160a060020a038616845290915281205460035460ff1615610ce357600080fd5b80831115610d1457336000908152600660209081526040808320600160a060020a0388168452909152812055610d49565b610d24818463ffffffff61129116565b336000908152600660209081526040808320600160a060020a03891684529091529020555b336000818152600660209081526040808320600160a060020a0389168085529083529281902054815190815290519293927f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929181900390910190a35060019392505050565b600160a060020a031660009081526005602052604090205490565b600154600160a060020a03163314610de157600080fd5b600160a060020a03821660009081526005602052604081205411610e4f576040805160e560020a62461bcd02815260206004820152600960248201527f4e6f20746f6b656e730000000000000000000000000000000000000000000000604482015290519081900360640190fd5b610e62816201518063ffffffff6112b016565b600160a060020a03909216600090815260046020526040902042929092018255506001908101805460ff19169091179055565b600154600160a060020a031681565b60408051808201909152600381527f4458470000000000000000000000000000000000000000000000000000000000602082015281565b60035460009060ff1615610eee57600080fd5b811515610f2b57604080518381529051600160a060020a0385169133916000805160206112da8339815191529181900360200190a3506001610581565b3360009081526004602052604090206001015460ff1615610f96576040805160e560020a62461bcd02815260206004820152601a60248201527f4c696d69742069732073657420616e642075736520636c61696d000000000000604482015290519081900360640190fd5b600160a060020a0383161515610fab57600080fd5b33600090815260056020526040902054821115610fc757600080fd5b33600090815260056020526040902054610fe7908363ffffffff61129116565b3360009081526005602052604080822092909255600160a060020a03851681522054611019908363ffffffff6112a316565b600160a060020a0384166000818152600560209081526040918290209390935580518581529051919233926000805160206112da8339815191529281900390910190a350600192915050565b600154600160a060020a0316331461107c57600080fd5b6003805460ff19166001179055565b60035460009060ff161561109e57600080fd5b336000908152600660209081526040808320600160a060020a03871684529091529020546110d2908363ffffffff6112a316565b336000818152600660209081526040808320600160a060020a0389168085529083529281902085905580519485525191937f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925929081900390910190a350600192915050565b60025481565b60035460009060ff161561115057600080fd5b600160a060020a038316158015906111705750600160a060020a03821615155b151561117b57600080fd5b50600160a060020a03918216600090815260066020908152604080832093909416825291909152205490565b600154600160a060020a031633146111be57600080fd5b60035460ff16156111ce57600080fd5b600160a060020a03811615156111e357600080fd5b600154600160a060020a039081166000908152600560205260408082205492841682529020546112189163ffffffff6112a316565b600160a060020a038083166000818152600560209081526040808320958655600180549095168352808320839055845473ffffffffffffffffffffffffffffffffffffffff1916841790945590829052925482519081529151909233926000805160206112da833981519152929081900390910190a350565b60008282111561129d57fe5b50900390565b8181018281101561058157fe5b60008215156112c157506000610581565b508181028183828115156112d157fe5b041461058157fe00ddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3efa165627a7a723058206b962d18cf1c4fe9a10858e580bfa0a04b552700f18e4094de72e991b8a7276d0029