package Ġview . di Ċ Ċ import Ġorg . kode in . di . Multi 2 Ċ import Ġorg . kode in . di . er ased . M Ċ import Ġorg . kode in . di . er ased . instance Ċ import Ġkotlin . reflect . K Property ĊĊ Ċ inline Ġfun Ġ< re ified ĠT : ĠAny > Ġinject ( tag : ĠString ? Ġ= Ġnull ): ĠDelegate Provider < T > ĊĠĠĠ Ġ= ĠDelegate Provider Ġ{ Ġr , Ġp Ġ-> ĠK ode in Container . kode in . instance < T >( tag ). provide Delegate ( r , Ġp ) Ġ} Ċ Ċ inline Ġfun Ġ< re ified ĠT : ĠAny , Ġre ified ĠA : ĠAny > Ġinject ( tag : ĠString ? Ġ= Ġnull , Ġarg : ĠA ): ĠDelegate Provider < T > ĊĠĠĠĠĠĠĠ Ġ= ĠDelegate Provider Ġ{ Ġr , Ġp Ġ-> ĠK ode in Container . kode in . instance < A , ĠT >( tag , Ġarg = arg ). provide Delegate ( r , Ġp ) Ġ} Ċ Ċ inline Ġfun Ġ< re ified ĠT : ĠAny , Ġre ified ĠA 0 : ĠAny , Ġre ified ĠA 1 : ĠAny > Ġinject ( tag : ĠString ? Ġ= Ġnull , Ġarg 0 : ĠA 0 , Ġarg 1 : ĠA 1 ): ĠDelegate Provider < T > ĊĠĠĠĠĠĠĠ Ġ= ĠDelegate Provider Ġ{ Ġr , Ġp Ġ-> ĠK ode in Container . kode in . instance < Multi 2 < A 0 , ĠA 1 >, ĠT >( tag , Ġarg = ĠM ( arg 0 , Ġarg 1 )). provide Delegate ( r , Ġp ) Ġ} Ċ Ċ class ĠDelegate Provider < T : ĠAny >( val Ġdelegate Factory : Ġ( this Ref : ĠAny ?, Ġprop : ĠK Property < Any ?> ) Ġ-> ĠLazy < T >) Ġ{ ĊĊĠĠĠ Ġoperator Ġfun Ġprovide Delegate ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthis Ref : ĠAny ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprop : ĠK Property < *> ĊĠĠĠ Ġ) Ġ= Ġdelegate Factory ( this Ref , Ġprop ) Ċ } Ċ