/* Ċ Ġ* ĠCopyright Ġ 2 0 1 6 - 2 0 1 8 ĠJetBrains Ġs . r . o . ĠUse Ġof Ġthis Ġsource Ġcode Ġis Ġgoverned Ġby Ġthe ĠApache Ġ 2 . 0 Ġlicense . Ċ Ġ*/ Ċ Ċ package Ġkotlinx . coroutines . internal Ċ Ċ // Ġnumber Ġof Ġprocessors Ġat Ġstartup Ġfor Ġconsistent Ġprop Ġinitialization Ċ internal Ġval ĠA VA IL ABLE _ PROCESS ORS Ġ= ĠRuntime . get Runtime (). available Processors () Ċ Ċ internal Ġfun Ġsystem Prop ( ĊĠĠĠ ĠpropertyName : ĠString Ċ ): ĠString ? Ġ= ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . getProperty ( propertyName ) ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠSecurity Exception ) Ġ{ ĊĠĠĠĠĠĠĠ Ġnull ĊĠĠĠ Ġ} Ċ Ċ internal Ġfun Ġsystem Prop ( ĊĠĠĠ ĠpropertyName : ĠString , ĊĠĠĠ ĠdefaultValue : ĠBoolean Ċ ): ĠBoolean Ġ= ĊĠĠĠ Ġtry Ġ{ ĊĠĠĠĠĠĠĠ ĠSystem . getProperty ( propertyName )?. to Boolean () Ġ?: ĠdefaultValue ĊĠĠĠ Ġ} Ġcatch Ġ( e : ĠSecurity Exception ) Ġ{ ĊĠĠĠĠĠĠĠ ĠdefaultValue ĊĠĠĠ Ġ} Ċ Ċ internal Ġfun Ġsystem Prop ( ĊĠĠĠ ĠpropertyName : ĠString , ĊĠĠĠ ĠdefaultValue : ĠInt , ĊĠĠĠ Ġmin Value : ĠInt Ġ= Ġ 1 , ĊĠĠĠ ĠmaxValue : ĠInt Ġ= ĠInt . MAX _ VALUE Ċ ): ĠInt ĊĠĠĠ Ġ= Ġsystem Prop ( propertyName , ĠdefaultValue . to Long (), Ġmin Value . to Long (), ĠmaxValue . to Long ()). toInt () Ċ Ċ internal Ġfun Ġsystem Prop ( ĊĠĠĠ ĠpropertyName : ĠString , ĊĠĠĠ ĠdefaultValue : ĠLong , ĊĠĠĠ Ġmin Value : ĠLong Ġ= Ġ 1 , ĊĠĠĠ ĠmaxValue : ĠLong Ġ= ĠLong . MAX _ VALUE Ċ ): ĠLong Ġ{ ĊĠĠĠ Ġval Ġvalue Ġ= Ġsystem Prop ( propertyName ) Ġ?: Ġreturn ĠdefaultValue ĊĠĠĠ Ġval Ġparsed Ġ= Ġvalue . to Long OrNull () ĊĠĠĠĠĠĠĠ Ġ?: Ġerror (" System Ġproperty Ġ'$ propertyName ' Ġhas Ġun recognized Ġvalue Ġ'$ value '") ĊĠĠĠ Ġif Ġ( parsed Ġ! in Ġmin Value .. max Value ) Ġ{ ĊĠĠĠĠĠĠĠ Ġerror (" System Ġproperty Ġ'$ propertyName ' Ġshould Ġbe Ġin Ġrange Ġ$ min Value .. $ max Value , Ġbut Ġis Ġ'$ parsed '") ĊĠĠĠ Ġ} ĊĠĠĠ Ġreturn Ġparsed Ċ } Ċ