package Ġcom . s ug art own 0 2 . gold f inger console . client Ċ Ċ sealed Ġclass ĠConsole Input < T >( value : ĠString ) Ġ{ ĊĠĠĠ Ġclass ĠInt Input ( value : ĠString ): ĠConsole Input < Int >( value ) ĊĠĠĠ Ġclass ĠDouble Input ( value : ĠString ): ĠConsole Input < Double >( value ) ĊĠĠĠ Ġclass ĠString Input ( value : ĠString ): ĠConsole Input < String >( value ) ĊĊĠĠĠ Ġval Ġcommand Ġ= ĠCommand . from ( value ) ĊĠĠĠ Ġval Ġtranslation : ĠT ? Ġ= Ġcommand ?. let Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ġ?: Ġrun Ġ{ ĊĠĠĠĠĠĠĠ Ġ@ Suppress (" UN CHECK ED _ CAST ") ĊĠĠĠĠĠĠĠ Ġwhen Ġ( this ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠInt Input Ġ-> Ġvalue . toInt OrNull () Ġas ĠT ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠDouble Input Ġ-> Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . toDouble OrNull () Ġas ĠT ? Ġ?: Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvalue . toInt OrNull ()?. toDouble () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġas ĠT ? ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġis ĠString Input Ġ-> Ġvalue Ġas ĠT ? ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ