package Ġdev . d res . run Ċ Ċ import Ġdev . d res . data . model . UID Ċ import Ġdev . d res . data . model . comp etition . Comp etition Description Ċ import Ġdev . d res . data . model . comp etition . Task Description Ċ import Ġdev . d res . data . model . run .* Ċ import Ġdev . d res . data . model . run . interfaces . Task Ċ import Ġdev . d res . data . model . submissions . Submission Ċ import Ġdev . d res . data . model . submissions . Submission Status Ċ import Ġdev . d res . run . score . Score Time Point Ċ import Ġdev . d res . run . score . score board . Score board Ċ Ċ interface ĠInteractive Run Manager Ġ: ĠRun Manager Ġ{ ĊĊĠĠĠ Ġcompanion Ġobject Ġ{ ĊĠĠĠĠĠĠĠ Ġconst Ġval ĠCOUNT DOWN _ DURATION Ġ= Ġ 5 _ 0 0 0 Ġ// countdown Ġtime Ġin Ġmilliseconds ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġ/** ĠList Ġof Ġ[ Score Time Point ] s Ġtracking Ġthe Ġstates Ġof Ġthe Ġdifferent Ġ[ Score board ] s Ġover Ġtime */ ĊĠĠĠ Ġval Ġscore History : ĠList < Score Time Point > ĊĊĠĠĠ Ġ/** ĠList Ġof Ġall Ġ[ Submission ] s Ġfor Ġthis Ġ[ Interactive Run Manager ], Ġir res pective Ġof Ġthe Ġ[ Interactive S ynchronous Comp etition . Task ] Ġit Ġbelongs Ġto . Ġ*/ ĊĠĠĠ Ġval Ġall Sub missions : ĠList < Submission > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrep ares Ġthis Ġ[ Interactive Run Manager ] Ġfor Ġthe Ġexecution Ġof Ġprevious Ġ[ Task Description ] Ġas Ġper Ġorder Ġdefined Ġin ĊĠĠĠĠ Ġ* Ġ[ Comp etition Description . tasks ]. ĠRequires Ġ[ Run Manager . status ] Ġto Ġbe Ġ[ Run Manager Status . ACTIVE ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġis Ġpart Ġof Ġthe Ġ[ Interactive Run Manager ]' s Ġnavig ational Ġstate . Ġ ĠAs Ġall Ġstate Ġaffect ing Ġmethods , Ġthis Ġmethod Ġthrows ĊĠĠĠĠ Ġ* Ġan Ġ[ IllegalStateException ] Ġif Ġinvocation Ġdoes Ġnot Ġmatch Ġthe Ġcurrent Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġ[ Task ] Ġwas Ġmoved , Ġfalse Ġotherwise . ĠUsually Ġhappens Ġif Ġlast Ġ[ Task ] Ġhas Ġbeen Ġreached . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . ACTIVE ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġprevious ( context : ĠRun Action Context ): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrep ares Ġthis Ġ[ Interactive Run Manager ] Ġfor Ġthe Ġexecution Ġof Ġnext Ġ[ Task Description ] Ġas Ġper Ġorder Ġdefined Ġin ĊĠĠĠĠ Ġ* Ġ[ Comp etition Description . tasks ]. ĠRequires Ġ[ Run Manager . status ] Ġto Ġbe Ġ[ Run Manager Status . ACTIVE ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġis Ġpart Ġof Ġthe Ġ[ Interactive Run Manager ]' s Ġnavig ational Ġstate . ĠAs Ġall Ġstate Ġaffect ing Ġmethods , Ġthis Ġmethod Ġthrows ĊĠĠĠĠ Ġ* Ġan Ġ[ IllegalStateException ] Ġif Ġinvocation Ġo es Ġnot Ġmatch Ġthe Ġcurrent Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return ĠTrue Ġif Ġ[ Task ] Ġwas Ġmoved , Ġfalse Ġotherwise . ĠUsually Ġhappens Ġif Ġlast Ġ[ Task ] Ġhas Ġbeen Ġreached . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . ACTIVE ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġnext ( context : ĠRun Action Context ): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠPrep ares Ġthis Ġ[ Interactive Run Manager ] Ġfor Ġthe Ġexecution Ġof Ġthe Ġ[ Task Description ] Ġgiven Ġby Ġthe Ġindex Ġas Ġper Ġorder ĊĠĠĠĠ Ġ* Ġdefined Ġin Ġ[ Comp etition Description . tasks ]. ĠRequires Ġ[ Run Manager . status ] Ġto Ġbe Ġ[ Run Manager Status . ACTIVE ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġis Ġpart Ġof Ġthe Ġ[ Interactive Run Manager ]' s Ġnavig ational Ġstate . ĠAs Ġall Ġstate Ġaffect ing Ġmethods , Ġthis Ġmethod Ġthrows ĊĠĠĠĠ Ġ* Ġan Ġ[ IllegalStateException ] Ġif Ġinvocation Ġdoes Ġnot Ġmatch Ġthe Ġcurrent Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ param Ġindex ĠThe Ġindex Ġto Ġnavigate Ġto . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . ACTIVE ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġgo To ( context : ĠRun Action Context , Ġindex : ĠInt ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReference Ġto Ġthe Ġcurrently Ġactive Ġ[ Task Description ]. ĠThis Ġis Ġpart Ġof Ġthe Ġ[ Interactive Run Manager ]' s ĊĠĠĠĠ Ġ* Ġnavig ational Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Task Description ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcurrent Task Description ( context : ĠRun Action Context ): ĠTask Description ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠStarts Ġthe Ġ[ current Task ] Ġand Ġthus Ġmoves Ġthe Ġ[ Run Manager . status ] Ġfrom ĊĠĠĠĠ Ġ* Ġ[ Run Manager Status . ACTIVE ] Ġto Ġeither Ġ[ Run Manager Status . PRE PAR ING _ TASK ] Ġor Ġ[ Run Manager Status . RUNNING _ TASK ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAs Ġall Ġstate Ġaffect ing Ġmethods , Ġthis Ġmethod Ġthrows Ġan Ġ[ IllegalStateException ] Ġif Ġinvocation Ġo es Ġnot Ġmatch Ġthe Ġcurrent Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . ACTIVE ] Ġor Ġ[ current Task ] Ġis Ġnot Ġset . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġstart Task ( context : ĠRun Action Context ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠForce - abort Ġthe Ġ[ current Task ] Ġand Ġthus Ġmoves Ġthe Ġ[ Run Manager . status ] Ġfrom ĊĠĠĠĠ Ġ* Ġ[ Run Manager Status . PRE PAR ING _ TASK ] Ġor Ġ[ Run Manager Status . RUNNING _ TASK ] Ġto Ġ[ Run Manager Status . ACTIVE ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠAs Ġall Ġstate Ġaffect ing Ġmethods , Ġthis Ġmethod Ġthrows Ġan Ġ[ IllegalStateException ] Ġif Ġinvocation Ġdoes Ġnot Ġmatch Ġthe Ġcurrent Ġstate . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . RUNNING _ TASK ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġabort Task ( context : ĠRun Action Context ) ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠAdjust s Ġthe Ġduration Ġof Ġthe Ġcurrent Ġ[ Abstract Interactive Task ] Ġby Ġthe Ġspecified Ġamount . ĠAmount Ġcan Ġbe Ġpositive Ġor Ġnegative . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ param Ġs ĠThe Ġnumber Ġof Ġseconds Ġto Ġadjust Ġthe Ġduration Ġby . ĊĠĠĠĠ Ġ* Ġ@ return ĠTime Ġremaining Ġuntil Ġthe Ġtask Ġwill Ġend . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalArgumentException ĠIf Ġthe Ġspecified Ġcorrection Ġcannot Ġbe Ġapplied . ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . RUNNING _ TASK ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġadjust Duration ( context : ĠRun Action Context , Ġs : ĠInt ): ĠLong ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġtime Ġin Ġmilliseconds Ġthat Ġis Ġleft Ġuntil Ġthe Ġend Ġof Ġthe Ġcurrently Ġrunning Ġtask . ĊĠĠĠĠ Ġ* ĠOnly Ġworks Ġif Ġthe Ġ[ Interactive Run Manager ] Ġis Ġin Ġstate Ġ[ Run Manager Status . RUNNING _ TASK ]. ĠIf Ġno Ġtask Ġis Ġrunning , ĊĠĠĠĠ Ġ* Ġthis Ġmethod Ġreturns Ġ- 1 L . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return ĠTime Ġremaining Ġuntil Ġthe Ġtask Ġwill Ġend Ġor Ġ- 1 , Ġif Ġno Ġtask Ġis Ġrunning . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtime Left ( context : ĠRun Action Context ): ĠLong ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġthe Ġtime Ġin Ġmilliseconds Ġthat Ġhas Ġelapsed Ġsince Ġthe Ġstart Ġof Ġthe Ġcurrently Ġrunning Ġtask . ĊĠĠĠĠ Ġ* ĠOnly Ġworks Ġif Ġthe Ġ[ Interactive Run Manager ] Ġis Ġin Ġstate Ġ[ Run Manager Status . RUNNING _ TASK ]. ĠIf Ġno Ġtask Ġis Ġrunning , ĊĠĠĠĠ Ġ* Ġthis Ġmethod Ġreturns Ġ- 1 L . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return ĠTime Ġremaining Ġuntil Ġthe Ġtask Ġwill Ġend Ġor Ġ- 1 , Ġif Ġno Ġtask Ġis Ġrunning . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtime Elapsed ( context : ĠRun Action Context ): ĠLong ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġlist Ġof Ġall Ġ[ Abstract Interactive Task ] s Ġfor Ġthis Ġ[ Interactive Run Manager ]. ĠDep ending Ġon Ġthe ĊĠĠĠĠ Ġ* Ġimplementation , Ġthat Ġlist Ġmay Ġbe Ġfiltered Ġdepending Ġon Ġthe Ġ[ Run Action Context ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ List ] Ġof Ġ[ Abstract Interactive Task ] s ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġoverride Ġfun Ġtasks ( context : ĠRun Action Context ): ĠList < Abstract Interactive Task > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġa Ġreference Ġto Ġthe Ġcurrently Ġactive Ġ[ Abstract Interactive Task ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Abstract Interactive Task ] Ġthat Ġis Ġcurrently Ġactive Ġor Ġnull , Ġif Ġno Ġsuch Ġtask Ġis Ġactive . ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġcurrent Task ( context : ĠRun Action Context ): ĠAbstract Interactive Task ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠReturns Ġ[ Abstract Interactive Task ] s Ġfor Ġthe Ġspecified Ġindex . ĠThe Ġindex Ġis Ġzero Ġbased , Ġi . e ., Ġan Ġindex Ġof Ġ 0 Ġreturns Ġthe ĊĠĠĠĠ Ġ* Ġfirst Ġ[ Abstract Interactive Task ], Ġindex Ġof Ġ 1 Ġthe Ġsecond Ġetc . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ param ĠtaskId ĠThe Ġ[ UID ] Ġof Ġthe Ġdesired Ġ[ Abstract Interactive Task ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġtask For Id ( context : ĠRun Action Context , ĠtaskId : ĠUID ): ĠAbstract Interactive Task ? ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠList Ġof Ġ[ Submission ] s Ġfor Ġthe Ġcurrent Ġ[ Abstract Interactive Task ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ return ĠList Ġof Ġ[ Submission ] Ġfor Ġthe Ġcurrent , Ġ[ Abstract Interactive Task ] ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġsubmissions ( context : ĠRun Action Context ): ĠList < Submission > ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠOverride Ġthe Ġready Ġstate Ġfor Ġa Ġgiven Ġviewer ĠID . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation . ĊĠĠĠĠ Ġ* Ġ@ param Ġviewer Id ĠThe ĠID Ġof Ġthe Ġviewer Ġthat Ġshould Ġbe Ġoverridden . ĊĠĠĠĠ Ġ* Ġ@ return Ġtrue Ġon Ġsuccess , Ġfalse Ġotherwise ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġoverride Ready State ( context : ĠRun Action Context , Ġviewer Id : ĠString ): ĠBoolean ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInv oked Ġby Ġan Ġexternal Ġcaller Ġto Ġpost Ġa Ġnew Ġ[ Submission ] Ġfor Ġthe Ġ[ Task ] Ġthat Ġis Ġcurrently Ġbeing ĊĠĠĠĠ Ġ* Ġexecuted Ġby Ġthis Ġ[ Interactive Run Manager ]. Ġ[ Submission ] s Ġusually Ġcause Ġupdates Ġto Ġthe Ġinternal Ġstate Ġand / or ĊĠĠĠĠ Ġ* Ġthe Ġ[ Score board ] Ġof Ġthis Ġ[ Interactive Run Manager ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġmethod Ġwill Ġnot Ġthrow Ġan Ġexception Ġand Ġinstead Ġreturns Ġfalse Ġif Ġa Ġ[ Submission ] Ġwas ĊĠĠĠĠ Ġ* Ġignored Ġfor Ġwhatever Ġreason Ġ( usually Ġa Ġstate Ġmismatch ). ĠIt Ġis Ġup Ġto Ġthe Ġcaller Ġto Ġre - invoke ĊĠĠĠĠ Ġ* Ġthis Ġmethod Ġagain . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation ĊĠĠĠĠ Ġ* Ġ@ param Ġsub ĠThe Ġ[ Submission ] Ġto Ġbe Ġposted . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return Ġ[ Submission Status ] Ġof Ġthe Ġ[ Submission ] ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . RUNNING _ TASK ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġpost Submission ( context : ĠRun Action Context , Ġsub : ĠSubmission ): ĠSubmission Status ĊĊĠĠĠ Ġ/** ĊĠĠĠĠ Ġ* ĠInv oked Ġby Ġan Ġexternal Ġcaller Ġto Ġupdate Ġan Ġexisting Ġ[ Submission ] Ġby Ġits Ġ[ Submission . uid ] Ġwith Ġa Ġnew Ġ[ Submission Status ]. ĊĠĠĠĠ Ġ* Ġ[ Submission ] s Ġusually Ġcause Ġupdates Ġto Ġthe Ġinternal Ġstate Ġand / or Ġthe Ġ[ Score board ] Ġof Ġthis Ġ[ Interactive Run Manager ]. ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* ĠThis Ġmethod Ġwill Ġnot Ġthrow Ġan Ġexception Ġand Ġinstead Ġreturns Ġfalse Ġif Ġa Ġ[ Submission ] Ġwas ĊĠĠĠĠ Ġ* Ġignored Ġfor Ġwhatever Ġreason Ġ( usually Ġa Ġstate Ġmismatch ). ĠIt Ġis Ġup Ġto Ġthe Ġcaller Ġto Ġre - invoke ĊĠĠĠĠ Ġ* Ġthis Ġmethod Ġagain . ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ param Ġcontext ĠThe Ġ[ Run Action Context ] Ġused Ġfor Ġthe Ġinvocation ĊĠĠĠĠ Ġ* Ġ@ param Ġsubmission Id ĠThe Ġ[ UID ] Ġof Ġthe Ġ[ Submission ] Ġto Ġupdate . ĊĠĠĠĠ Ġ* Ġ@ param Ġsubmission Status ĠThe Ġnew Ġ[ Submission Status ] ĊĠĠĠĠ Ġ* ĊĠĠĠĠ Ġ* Ġ@ return ĠWhether Ġthe Ġupdate Ġwas Ġsuccessful Ġor Ġnot ĊĠĠĠĠ Ġ* Ġ@ throws ĠIllegalStateException ĠIf Ġ[ Interactive Run Manager ] Ġwas Ġnot Ġin Ġstatus Ġ[ Run Manager Status . RUNNING _ TASK ]. ĊĠĠĠĠ Ġ*/ ĊĠĠĠ Ġfun Ġupdate Submission ( context : ĠRun Action Context , Ġsubmission Id : ĠUID , Ġsubmission Status : ĠSubmission Status ): ĠBoolean Ċ }