package Ġcom . github . ats ush i 1 3 0 . practice . domain . models Ċ Ċ interface ĠVersion Ġ{ ĊĠĠĠ Ġval Ġversion : ĠString ĊĠĠĠ Ġval Ġsplit ted : ĠList < Int > ĊĠĠĠĠĠĠĠ Ġget () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġsplit ted Ġ= Ġthis . version ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. split (".") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġit . toInt OrNull () Ġ?: Ġ 0 Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ( 0 .. 2 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. map Ġ{ Ġsplit ted . get OrNull ( it ) Ġ?: Ġ 0 Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġval Ġmajor : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis . split ted . first () ĊĠĠĠ Ġval Ġminor : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis . split ted [ 1 ] ĊĠĠĠ Ġval Ġpatch : ĠInt ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis . split ted . last () Ċ } Ċ Ċ data Ġclass ĠOS Version ( override Ġval Ġversion : ĠString ): ĠVersion Ċ Ċ interface ĠApp Version : ĠVersion Ġ{ ĊĊĠĠĠ Ġval Ġrecommended : ĠApp Version ĊĠĠĠ Ġval Ġrequired : ĠApp Version ĊĊĠĠĠ Ġval Ġme ets Recommended Version : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis . me ets Version ( this . recommended ) ĊĊĠĠĠ Ġval Ġme ets Required Version : ĠBoolean ĊĠĠĠĠĠĠĠ Ġget () Ġ= Ġthis . me ets Version ( this . required ) ĊĊĠĠĠ Ġprivate Ġfun Ġme ets Version ( target Version : ĠApp Version ): ĠBoolean Ġ{ ĊĠĠĠĠĠĠĠ Ġthis . split ted . zip ( target Version . split ted ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ. forEach Ġ{ Ġ( version , Ġrequired Version ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( version Ġ> Ġrequired Version ) Ġreturn Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( version Ġ< Ġrequired Version ) Ġreturn Ġfalse ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġequals ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġtrue ĊĠĠĠ Ġ} Ċ } Ċ Ċ data Ġclass ĠiOS App Version ( override Ġval Ġversion : ĠString ): ĠApp Version Ġ{ ĊĠĠĠ Ġoverride Ġval Ġrecommended : ĠiOS App Version ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠiOS App Version (" 0 . 0 . 1 ") ĊĠĠĠ Ġoverride Ġval Ġrequired : ĠiOS App Version ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠiOS App Version (" 0 . 0 . 1 ") Ċ } Ċ Ċ data Ġclass ĠAndroid App Version ( override Ġval Ġversion : ĠString ): ĠApp Version Ġ{ ĊĠĠĠ Ġoverride Ġval Ġrecommended : ĠAndroid App Version ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠAndroid App Version (" 1 . 0 . 0 ") ĊĠĠĠ Ġoverride Ġval Ġrequired : ĠAndroid App Version ĊĠĠĠĠĠĠĠ Ġget () Ġ= ĠAndroid App Version (" 1 . 0 . 0 ") Ċ }