package Ġorg . sage b ion etwork s . assessment model . serialization Ċ Ċ import Ġkotlinx . serialization . Serial Name Ċ import Ġkotlinx . serialization . Serializable Ċ import Ġkotlinx . serialization . json . Json Element Ċ import Ġkotlinx . serialization . modules .* Ċ import Ġorg . sage b ion etwork s . assessment model .* Ċ import Ġorg . sage b ion etwork s . assessment model . navigation . Result Navigation Rule Ċ import Ġorg . sage b ion etwork s . assessment model . survey . Answer Type Ċ Ċ val Ġresult Serial izers Module Ġ= ĠSerial izers Module Ġ{ ĊĠĠĠ Ġpol ymorphic ( Result :: class ) Ġ{ ĊĠĠĠĠĠĠĠ Ġsubclass ( Answer Result Object :: class ) ĊĠĠĠĠĠĠĠ Ġsubclass ( Assessment Result Object :: class ) ĊĠĠĠĠĠĠĠ Ġsubclass ( Branch Node Result Object :: class ) ĊĠĠĠĠĠĠĠ Ġsubclass ( Collection Result Object :: class ) ĊĠĠĠĠĠĠĠ Ġsubclass ( Result Object :: class ) ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Serializable Ċ @ Serial Name (" answer ") Ċ data Ġclass ĠAnswer Result Object ( override Ġval Ġidentifier : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġanswer Type : ĠAnswer Type ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" value ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġjson Value : ĠJson Element ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" startDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠstartDate String : ĠString Ġ= ĠDate Generator . now String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" endDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠendDate String : ĠString ? Ġ= Ġnull ) Ġ: ĠAnswer Result Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcopy Result ( identifier : ĠString ): ĠAnswer Result Ġ= Ġthis . copy ( identifier Ġ= Ġidentifier ) Ċ } Ċ Ċ @ Serializable Ċ @ Serial Name (" assessment ") Ċ data Ġclass ĠAssessment Result Object ( override Ġval Ġidentifier : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġassessment Identifier : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġschema Identifier : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġversion String : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" step History ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġpath History Results : ĠMutable List < Result > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" async Results ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġinput Results : ĠMutable Set < Result > Ġ= Ġmutable Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" task Run UUID ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġrun UUID String : ĠString Ġ= ĠUUID Generator . uuid String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" startDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠstartDate String : ĠString Ġ= ĠDate Generator . now String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" endDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠendDate String : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġpath : ĠMutable List < Path Marker > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" skip To Identifier ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġnext Node Identifier : ĠString ? Ġ= Ġnull ) ĊĠĠĠ Ġ: ĠAssessment Result , ĠResult Navigation Rule Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcopy Result ( identifier : ĠString ): ĠAssessment Result Ġ= Ġthis . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidentifier Ġ= Ġidentifier , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath History Results Ġ= Ġpath History Results . copy Results (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Results Ġ= Ġinput Results . copy Results ()) Ċ } Ċ Ċ @ Serializable Ċ @ Serial Name (" base ") Ċ data Ġclass ĠResult Object ( override Ġval Ġidentifier : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" startDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠstartDate String : ĠString Ġ= ĠDate Generator . now String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" endDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠendDate String : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" skip To Identifier ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġnext Node Identifier : ĠString ? Ġ= Ġnull ) Ġ: ĠResult , ĠResult Navigation Rule Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcopy Result ( identifier : ĠString ): ĠResult Ġ= Ġthis . copy ( identifier Ġ= Ġidentifier ) Ċ } Ċ Ċ @ Serializable Ċ @ Serial Name (" collection ") Ċ data Ġclass ĠCollection Result Object ( override Ġval Ġidentifier : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġinput Results : ĠMutable Set < Result > Ġ= Ġmutable Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" startDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠstartDate String : ĠString Ġ= ĠDate Generator . now String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" endDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠendDate String : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" skip To Identifier ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġnext Node Identifier : ĠString ? Ġ= Ġnull ) Ġ: ĠCollection Result , ĠResult Navigation Rule Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcopy Result ( identifier : ĠString ): ĠCollection Result Ġ= Ġthis . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidentifier Ġ= Ġidentifier , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Results Ġ= Ġinput Results . copy Results ()) Ċ } Ċ Ċ @ Serializable Ċ @ Serial Name (" section ") Ċ data Ġclass ĠBranch Node Result Object ( override Ġval Ġidentifier : ĠString , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" step History ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġpath History Results : ĠMutable List < Result > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" async Results ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġinput Results : ĠMutable Set < Result > Ġ= Ġmutable Set Of (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" startDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠstartDate String : ĠString Ġ= ĠDate Generator . now String (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" endDate ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar ĠendDate String : ĠString ? Ġ= Ġnull , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġval Ġpath : ĠMutable List < Path Marker > Ġ= Ġmutable ListOf (), ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ@ Serial Name (" skip To Identifier ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġvar Ġnext Node Identifier : ĠString ? Ġ= Ġnull ) Ġ: ĠBranch Node Result , ĠResult Navigation Rule Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcopy Result ( identifier : ĠString ): ĠBranch Node Result Ġ= Ġthis . copy ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġidentifier Ġ= Ġidentifier , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġpath History Results Ġ= Ġpath History Results . copy Results (), ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput Results Ġ= Ġinput Results . copy Results ()) Ċ } ĊĊĊ