package Ġno . nav . su . se . bak over . database . ber eg ning Ċ Ċ import Ġno . nav . su . se . bak over . common . Tid sp unkt Ċ import Ġno . nav . su . se . bak over . common . peri ode . Per i ode Ċ import Ġno . nav . su . se . bak over . domain . Copy Args Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . B ere g ning Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . M Ã¥ ned s ber eg ning Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . S ats Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . fr ad rag . F rad rag Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . fr ad rag . F rad rag Strategy Name Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . fr ad rag . F rad rag Til h Ã¸ rer Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . fr ad rag . F rad rag stype Ċ import Ġno . nav . su . se . bak over . domain . ber eg ning . fr ad rag . U ten land sk In n te kt Ċ import Ġjava . util . UUID Ċ Ċ internal Ġdata Ġclass ĠPers ist ert B ere g ning ( ĊĠĠĠ Ġprivate Ġval Ġid : ĠUUID , ĊĠĠĠ Ġprivate Ġval Ġopp rett et : ĠT id sp unkt , ĊĠĠĠ Ġprivate Ġval Ġs ats : ĠS ats , ĊĠĠĠ Ġprivate Ġval ĠmÃ¥ ned s ber eg ning er : ĠList < Persist ert M Ã¥ ned s ber eg ning >, ĊĠĠĠ Ġprivate Ġval Ġf rad rag : ĠList < Persist ert F rad rag >, ĊĠĠĠ Ġprivate Ġval Ġsum Yt else : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġsum F rad rag : ĠDouble , ĊĠĠĠ Ġoverride Ġval Ġper i ode : ĠPer i ode , ĊĠĠĠ Ġprivate Ġval Ġf rad rag Strategy Name : ĠF rad rag Strategy Name , ĊĠĠĠ Ġprivate Ġval Ġbe gr un n else : ĠString ?, Ċ ) Ġ: ĠBere g ning Ġ{ ĊĠĠĠ Ġoverride Ġfun ĠgetId (): ĠUUID Ġ= Ġid ĊĠĠĠ Ġoverride Ġfun Ġget Opp rett et (): ĠT id sp unkt Ġ= Ġopp rett et ĊĠĠĠ Ġoverride Ġfun ĠgetS ats (): ĠS ats Ġ= Ġs ats ĊĠĠĠ Ġoverride Ġfun Ġget M Ã¥ ned s ber eg ning er (): ĠList < M Ã¥ ned s ber eg ning > Ġ= ĠmÃ¥ ned s ber eg ning er ĊĠĠĠ Ġoverride Ġfun Ġget F rad rag (): ĠList < F rad rag > Ġ= Ġf rad rag ĊĠĠĠ Ġoverride Ġfun Ġget Sum Yt else (): ĠInt Ġ= Ġsum Yt else ĊĠĠĠ Ġoverride Ġfun Ġget Sum F rad rag (): ĠDouble Ġ= Ġsum F rad rag ĊĠĠĠ Ġoverride Ġfun Ġget F rad rag Strategy Name (): ĠF rad rag Strategy Name Ġ= Ġf rad rag Strategy Name ĊĠĠĠ Ġoverride Ġfun Ġget Be gr un n else (): ĠString ? Ġ= Ġbe gr un n else ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?) Ġ= Ġ( other Ġas ? ĠBere g ning )?. let Ġ{ Ġthis . equals ( other ) Ġ} Ġ?: Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġs ats . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ ĠmÃ¥ ned s ber eg ning er . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġf rad rag . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġsum Yt else ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġsum F rad rag . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġper i ode . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġf rad rag Strategy Name . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġdata Ġclass ĠPers ist ert M Ã¥ ned s ber eg ning ( ĊĠĠĠ Ġprivate Ġval Ġsum Yt else : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġsum F rad rag : ĠDouble , ĊĠĠĠ Ġprivate Ġval Ġben y tt et G run nb el Ã¸ p : ĠInt , ĊĠĠĠ Ġprivate Ġval Ġs ats : ĠS ats , ĊĠĠĠ Ġprivate Ġval Ġs ats bel Ã¸ p : ĠDouble , ĊĠĠĠ Ġprivate Ġval Ġf rad rag : ĠList < Persist ert F rad rag >, ĊĠĠĠ Ġoverride Ġval Ġper i ode : ĠPer i ode , ĊĠĠĠ Ġprivate Ġval Ġf rib el Ã¸ p For E ps : ĠDouble , Ċ ) Ġ: ĠM Ã¥ ned s ber eg ning Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġget Sum Yt else (): ĠInt Ġ= Ġsum Yt else ĊĠĠĠ Ġoverride Ġfun Ġget Sum F rad rag (): ĠDouble Ġ= Ġsum F rad rag ĊĠĠĠ Ġoverride Ġfun Ġget Ben y tt et G run nb el Ã¸ p (): ĠInt Ġ= Ġben y tt et G run nb el Ã¸ p ĊĠĠĠ Ġoverride Ġfun ĠgetS ats (): ĠS ats Ġ= Ġs ats ĊĠĠĠ Ġoverride Ġfun ĠgetS ats bel Ã¸ p (): ĠDouble Ġ= Ġs ats bel Ã¸ p ĊĠĠĠ Ġoverride Ġfun Ġget F rad rag (): ĠList < F rad rag > Ġ= Ġf rad rag ĊĠĠĠ Ġoverride Ġfun Ġget F rib el Ã¸ p For E ps (): ĠDouble Ġ= Ġf rib el Ã¸ p For E ps ĊĊĠĠĠ Ġoverride Ġfun Ġequals ( other : ĠAny ?) Ġ= Ġ( other Ġas ? ĠM Ã¥ ned s ber eg ning )?. let Ġ{ Ġthis . equals ( other ) Ġ} Ġ?: Ġfalse ĊĊĠĠĠ Ġoverride Ġfun ĠhashCode (): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġsum Yt else ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġsum F rad rag . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġben y tt et G run nb el Ã¸ p ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġs ats . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġs ats bel Ã¸ p . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġf rad rag . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġper i ode . hashCode () ĊĠĠĠĠĠĠĠ Ġresult Ġ= Ġ 3 1 Ġ* Ġresult Ġ+ Ġf rib el Ã¸ p For E ps . hashCode () ĊĠĠĠĠĠĠĠ Ġreturn Ġresult ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġdata Ġclass ĠPers ist ert F rad rag ( ĊĠĠĠ Ġoverride Ġval Ġf rad rag stype : ĠF rad rag stype , ĊĠĠĠ Ġoverride Ġval ĠmÃ¥ ned sb el Ã¸ p : ĠDouble , ĊĠĠĠ Ġoverride Ġval Ġut en land sk In n te kt : ĠU ten land sk In n te kt ?, ĊĠĠĠ Ġoverride Ġval Ġper i ode : ĠPer i ode , ĊĠĠĠ Ġoverride Ġval Ġtil h Ã¸ rer : ĠF rad rag Til h Ã¸ rer , Ċ ) Ġ: ĠF rad rag Ġ{ ĊĠĠĠ Ġoverride Ġfun Ġcopy ( args : ĠCopy Args . Sn itt ): ĠF rad rag ? Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġargs . sn itt For ( peri ode )?. let Ġ{ Ġcopy ( peri ode Ġ= Ġit ) Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ internal Ġfun ĠBere g ning . to Snapshot () Ġ= ĠPers ist ert B ere g ning ( ĊĠĠĠ Ġid Ġ= ĠgetId (), ĊĠĠĠ Ġopp rett et Ġ= Ġget Opp rett et (), ĊĠĠĠ Ġs ats Ġ= ĠgetS ats (), ĊĠĠĠ ĠmÃ¥ ned s ber eg ning er Ġ= Ġget M Ã¥ ned s ber eg ning er (). map Ġ{ Ġit . to Snapshot () Ġ}, ĊĠĠĠ Ġf rad rag Ġ= Ġget F rad rag (). map Ġ{ Ġit . to Snapshot () Ġ}, ĊĠĠĠ Ġsum Yt else Ġ= Ġget Sum Yt else (), ĊĠĠĠ Ġsum F rad rag Ġ= Ġget Sum F rad rag (), ĊĠĠĠ Ġper i ode Ġ= Ġper i ode , ĊĠĠĠ Ġf rad rag Strategy Name Ġ= Ġget F rad rag Strategy Name (), ĊĠĠĠ Ġbe gr un n else Ġ= Ġget Be gr un n else () Ċ ) Ċ Ċ internal Ġfun ĠM Ã¥ ned s ber eg ning . to Snapshot () Ġ= ĠPers ist ert M Ã¥ ned s ber eg ning ( ĊĠĠĠ Ġsum Yt else Ġ= Ġget Sum Yt else (), ĊĠĠĠ Ġsum F rad rag Ġ= Ġget Sum F rad rag (), ĊĠĠĠ Ġben y tt et G run nb el Ã¸ p Ġ= Ġget Ben y tt et G run nb el Ã¸ p (), ĊĠĠĠ Ġs ats Ġ= ĠgetS ats (), ĊĠĠĠ Ġs ats bel Ã¸ p Ġ= ĠgetS ats bel Ã¸ p (), ĊĠĠĠ Ġf rad rag Ġ= Ġget F rad rag (). map Ġ{ Ġit . to Snapshot () Ġ}, ĊĠĠĠ Ġper i ode Ġ= Ġper i ode , ĊĠĠĠ Ġf rib el Ã¸ p For E ps Ġ= Ġget F rib el Ã¸ p For E ps () Ċ ) Ċ Ċ internal Ġfun ĠF rad rag . to Snapshot () Ġ= ĠPers ist ert F rad rag ( ĊĠĠĠ Ġf rad rag stype Ġ= Ġf rad rag stype , ĊĠĠĠ ĠmÃ¥ ned sb el Ã¸ p Ġ= ĠmÃ¥ ned sb el Ã¸ p , ĊĠĠĠ Ġut en land sk In n te kt Ġ= Ġut en land sk In n te kt , ĊĠĠĠ Ġper i ode Ġ= Ġper i ode , ĊĠĠĠ Ġtil h Ã¸ rer Ġ= Ġtil h Ã¸ rer , Ċ ) Ċ