package Ġpage . sm ir nov . w alle ster . core _ network . domain Ċ Ċ import Ġandroid . net . Uri Ċ import Ġjava . net . URL Ċ Ċ interface ĠBuild Url Ġ{ ĊĠĠĠ Ġfun Ġexec ( baseUrl : ĠString , Ġparameters : ĠMap < String , ĠAny > Ġ= Ġempty Map ()): ĠURL Ċ } Ċ Ċ // ĠShould Ġbe Ġinternal Ġif Ġwe Ġuse ĠDI Ċ class ĠBuild Url Impl Ġ: ĠBuild Url Ġ{ ĊĊĠĠĠ Ġoverride Ġfun Ġexec ( baseUrl : ĠString , Ġparameters : ĠMap < String , ĠAny >): ĠURL Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn ĠUri ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. parse ( baseUrl ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build Up on () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġparameters . forEach Ġ{ Ġ( key , Ġvalue ) Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġappend QueryParameter ( key , Ġvalue . toString ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. build () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ. let (:: URL ) ĊĠĠĠ Ġ} Ċ } Ċ