// File ĠIt . java Ċ import Ġkotlin . Metadata ; Ċ import Ġkotlin . jvm . internal . Intr insics ; Ċ import Ġorg . jetbrains . annotations . NotNull ; Ċ Ċ public Ġfinal Ġclass ĠIt Ġ{ ĊĠĠ Ġ@ NotNull ĊĠĠ Ġprivate Ġfinal ĠString Ġid ; ĊĊĠĠ Ġ@ NotNull ĊĠĠ Ġpublic Ġfinal ĠString ĠgetId () Ġ{ ĊĠĠĠĠĠ Ġreturn Ġthis . id ; ĊĠĠ Ġ} ĊĊĠĠ Ġpublic ĠIt (@ NotNull ĠString Ġid ) Ġ{ ĊĠĠĠĠĠ Ġsuper (); ĊĠĠĠĠĠ Ġthis . id Ġ= Ġid ; ĊĠĠ Ġ} Ċ } ĊĊ Ċ // File ĠMain . kt ĊĊ Ċ fun Ġbox (): ĠString Ġ{ ĊĠĠĠ Ġval ĠprojectId Ġ= Ġ" projectId " ĊĠĠĠ Ġval Ġit Ġ= ĠIt (" it ") ĊĊĊĠĠĠ Ġfun Ġselect Meta Runner Id (): ĠString Ġ{ ĊĠĠĠĠĠĠĠ Ġoperator Ġfun ĠInt ?. inc () Ġ= Ġ( this Ġ?: Ġ 0 ) Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġvar Ġcounter : ĠInt ? Ġ= Ġnull ĊĠĠĠĠĠĠĠ Ġfun Ġpath ( meta Runner Id : ĠString ) Ġ= Ġcounter Ġ!= Ġ 2 ĊĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġwhile Ġ( true ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġname Ġ= ĠprojectId Ġ+ Ġ"_" Ġ+ Ġit . id Ġ+ Ġ( if Ġ( counter Ġ== Ġnull ) Ġ"" Ġelse Ġ"_ $ counter ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! path ( name )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġname ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter ++ ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( i Ġ> Ġ 2 ) Ġreturn Ġ" Infinity Ġloop : Ġ$ counter " ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĠĠĠ Ġval ĠX Ġ= Ġselect Meta Runner Id () ĊĠĠĠ Ġif Ġ( X Ġ!= ĠprojectId Ġ+ Ġ"_" Ġ+ Ġit . id Ġ+ Ġ"_ 2 ") Ġreturn Ġ" fail : Ġ$ X " ĊĠĠĠ Ġreturn Ġ" OK " Ċ } ĊĊ