package Ġformula ide . api . types Ċ Ċ import Ġkotlinx . serialization . Serializable Ċ Ċ /** Ċ Ġ* ĠA Ġdate , Ġrepresented Ġin Ġthe Ġformat Ġ` yyyy - mm - dd `. Ċ Ġ* Ċ Ġ* Ġ@ property Ġyear Ġ` 0 .. 3 0 0 0 ` Ċ Ġ* Ġ@ property Ġmonth Ġ` 1 .. 1 2 ` Ċ Ġ* Ġ@ property Ġday Ġ` 1 .. 3 1 ` Ċ Ġ*/ Ċ @ Serializable Ċ data Ġclass ĠDate ( Ċ ĉ val Ġyear : ĠInt , Ċ ĉ val Ġmonth : ĠInt , Ċ ĉ val Ġday : ĠInt , Ċ ) Ġ{ ĊĊ ĉ init Ġ{ Ċĉ ĉ require ( year Ġin Ġ 0 .. 3 _ 0 0 0 ) Ġ{ Ġ" L ' ann Ã©e Ġest Ġin val ide Ġ: Ġ$ year " Ġ} Ċĉ ĉ require ( month Ġin Ġ 1 .. 1 2 ) Ġ{ Ġ" Le Ġmo is Ġest Ġin val ide Ġ: Ġ$ month " Ġ} Ċĉ ĉ require ( day Ġin Ġ 1 .. 3 1 ) Ġ{ Ġ" Le Ġjour Ġest Ġin val ide Ġ: Ġ$ day " Ġ} Ċ ĉ } ĊĊ ĉ override Ġfun ĠtoString () Ġ= Ġ"$ year -$ month -$ day " Ċ } Ċ Ċ /** Ċ Ġ* ĠA Ġtime , Ġrepresented Ġin Ġ` hh : mm `. Ċ Ġ* Ċ Ġ* Ġ@ property Ġhour Ġ` 0 .. 2 3 ` Ċ Ġ* Ġ@ property Ġminute Ġ` 0 .. 5 9 ` Ċ Ġ*/ Ċ @ Serializable Ċ data Ġclass ĠTime ( Ċ ĉ val Ġhour : ĠInt , Ċ ĉ val Ġminute : ĠInt , Ċ ) Ġ{ ĊĊ ĉ init Ġ{ Ċĉ ĉ require ( hour Ġin Ġ 0 .. 2 3 ) Ġ{ Ġ" L ' he ure Ġest Ġin val ide Ġ: Ġ$ hour " Ġ} Ċĉ ĉ require ( minute Ġin Ġ 0 .. 5 9 ) Ġ{ Ġ" Les Ġminutes Ġsont Ġin val ides Ġ: Ġ$ minute " Ġ} Ċ ĉ } ĊĊ ĉ override Ġfun ĠtoString () Ġ= Ġ"$ hour :$ minute " Ċ } Ċ