/* Ċ Ġ* ĠCopyright Ġ( C ) Ġ 2 0 1 0 - 2 0 1 9 , ĠD ani lo ĠP ian ini Ġand Ġcontributors Ġlisted Ġin Ġthe Ġmain Ġproject 's Ġal che mist / build . gradle Ġfile . Ċ Ġ* Ċ Ġ* ĠThis Ġfile Ġis Ġpart Ġof ĠAl che mist , Ġand Ġis Ġdistributed Ġunder Ġthe Ġterms Ġof Ġthe Ċ Ġ* ĠGNU ĠGeneral ĠPublic ĠLicense , Ġwith Ġa Ġlinking Ġexception , Ċ Ġ* Ġas Ġdescribed Ġin Ġthe Ġfile ĠLICENSE Ġin Ġthe ĠAl che mist Ġdistribution 's Ġtop Ġdirectory . Ċ Ġ*/ Ċ package Ġit . uni bo . al che mist . kotlin Ċ Ċ import Ġit . uni bo . al che mist . model . implement ations . times . Double Time Ċ import Ġit . uni bo . al che mist . model . interfaces . Time Ċ Ċ /** Ċ Ġ* ĠThe Ġopposite Ġof Ġ[ fold ]. Ċ Ġ* Ċ Ġ* Ġ@ param Ġextractor ĠA Ġfunction Ġthat Ġprovides Ġa Ġsequence Ġof Ċ Ġ* Ġelements Ġgiven Ġa Ġspecific Ġelement Ġof Ġthe Ġsame Ġtype . Ċ Ġ* Ġ@ receiver ĠThe Ġstarting Ġelement Ġto Ġun fold . Ċ Ġ* Ġ@ return ĠA Ġsequence Ġof Ġ[ E ] Ġgenerated Ġby Ġun fold ing Ġon Ġeach Ċ Ġ* Ġelement Ġprovided Ġby Ġthe Ġ[ extractor ] Ġfunction . Ċ Ġ* Ċ Ġ* Ġ@ See Ġ[ fold ]. Ċ Ġ*/ Ċ fun Ġ< E > ĠE . un fold ( extractor : Ġ( E ) Ġ-> ĠSequence < E >): ĠSequence < E > Ġ= ĊĠĠĠ Ġsequence Of ( this ) Ġ+ Ġextractor ( this ). flatMap Ġ{ Ġit . un fold ( extractor ) Ġ} Ċ operator Ġfun ĠTime . plus ( other : ĠDouble ): ĠTime Ġ= Ġplus ( Double Time ( other )) Ċ operator Ġfun ĠTime . minus ( other : ĠDouble ): ĠTime Ġ= Ġminus ( Double Time ( other )) Ċ