package Ġcom . github . s urs mob il . wer ner Ċ Ċ import Ġcom . github . s urs mob il . wer ner . data . t anks . T anks Registry Ċ import Ġcom . github . s urs mob il . wer ner . model . Man eu ver Ċ import Ġcom . github . s urs mob il . wer ner . model . Stage Ċ Ċ type alias ĠStage Restriction Ġ= Ġ( Stage ) Ġ-> ĠBoolean Ċ type alias ĠM ane u ver Restriction Ġ= Ġ( Man eu ver ) Ġ-> ĠStage Restriction Ċ type alias ĠM ane u ver Restriction Factory Ġ= Ġ( T anks Registry ) Ġ-> ĠM ane u ver Restriction Ċ Ċ object ĠRe strictions Ġ{ ĊĠĠĠ Ġfun Ġmax Burn Time ( seconds : ĠLong ): ĠM ane u ver Restriction Factory Ġ= Ġ{ Ġt anks Reg Ġ-> Ġ{ Ġm Ġ-> Ġ{ Ġstage Ġ-> ĊĠĠĠĠĠĠĠ ĠStage Calculator ( t anks Reg , Ġstage ). burn TimeTo Delta V ( m ) Ġ<= Ġseconds ĊĠĠĠ Ġ} Ġ}} ĊĊĠĠĠ Ġfun Ġmin T WR ( min T WR : ĠDouble ): ĠM ane u ver Restriction Factory Ġ= { Ġ_ Ġ-> Ġ Ġ{ Ġm Ġ-> Ġ{ Ġstage Ġ-> ĊĠĠĠĠĠĠĠ Ġm . tw r ( stage ) Ġ>= Ġmin T WR ĊĠĠĠ Ġ} Ġ} Ġ} Ċ }