package Ġtech . k zen . auto . client . objects . document . script Ċ Ċ import Ġkotlinx . coroutines . delay Ċ import Ġkotlinx . css .* Ċ import Ġkotlinx . html . js . on Mouse Out Function Ċ import Ġkotlinx . html . js . on Mouse Over Function Ċ import Ġreact .* Ċ import Ġreact . dom . attrs Ċ import Ġreact . dom . div Ċ import Ġtech . k zen . auto . client . service . ClientContext Ċ import Ġtech . k zen . auto . client . util . async Ċ import Ġtech . k zen . auto . client . wrap . material .* Ċ import Ġtech . k zen . auto . client . wrap . react Style Ċ import Ġtech . k zen . auto . common . par adig m . imp er ative . model . Imp er ative Model Ċ import Ġtech . k zen . auto . common . par adig m . imp er ative . model . Imp er ative Phase Ċ import Ġtech . k zen . auto . common . par adig m . imp er ative . model . control . Initial Control State Ċ import Ġtech . k zen . auto . common . par adig m . imp er ative . service . Execution Repository Ċ import Ġtech . k zen . auto . common . par adig m . imp er ative . util . Imp er ative Utils Ċ import Ġtech . k zen . lib . common . model . document . Document Path Ċ import Ġtech . k zen . lib . common . model . locate . Object Location Ċ import Ġtech . k zen . lib . common . model . structure . Graph Structure ĊĊ Ċ class ĠScript Run Controller ( ĊĠĠĠĠĠĠĠ Ġprops : ĠProps Ċ ): ĊĠĠĠĠĠĠĠ ĠRP ure Component < Script Run Controller . Props , ĠScript Run Controller . State >( props ), ĊĠĠĠĠĠĠĠ ĠExecution Repository . Observer Ċ { ĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġclass ĠProps ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġdocument Path : ĠDocument Path ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġrunning Host : ĠDocument Path ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġstructure : ĠGraph Structure ?, ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġexecution : ĠImp er ative Model ? ĊĠĠĠ Ġ): Ġreact . Props ĊĊĊĠĠĠ Ġclass ĠState ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġfab Hover : ĠBoolean ĊĠĠĠ Ġ): Ġreact . State ĊĊĊĠĠĠ Ġprivate Ġenum Ġclass ĠPhase Ġ{ ĊĠĠĠĠĠĠĠ ĠEmpty , ĊĠĠĠĠĠĠĠ ĠPending , ĊĠĠĠĠĠĠĠ ĠPartial , ĊĠĠĠĠĠĠĠ ĠRunning , ĊĠĠĠĠĠĠĠ ĠLoop ing , ĊĠĠĠĠĠĠĠ ĠDone ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġprivate Ġvar Ġprevious Control Run : ĠObject Location ? Ġ= Ġnull ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġbefore Execution ( host : ĠDocument Path , Ġobject Location : ĠObject Location ) Ġ{ ĊĠĠĠĠĠĠĠ Ġprevious Control Run Ġ= Ġnull ĊĊĠĠĠĠĠĠĠ Ġval Ġframe Ġ= Ġprops . execution ?. find Last ( object Location ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġval Ġcontrol Ġ= Ġframe . states [ object Location . object Path ]?. control State ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġif Ġ( control Ġ! is ĠInitial Control State ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġprevious Control Run Ġ= Ġobject Location ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġsuspend Ġfun Ġon Execution Model ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġhost : ĠDocument Path , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model : ĠImp er ative Model ? ĊĠĠĠ Ġ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġconsole . log (" ^^^ Ġon Execution Model : Ġ$ host Ġ- Ġ$ execution Model ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( host Ġ!= Ġprops . document Path Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model ?. frames ?. find Ġ{ Ġit . path Ġ== Ġprops . document Path } Ġ== Ġnull ) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( execution Model Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! Ġexecution Model . contains Status ( Imp er ative Phase . Running )) ĊĠĠĠĠĠĠĠ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnext Ġ= ĠImp er ative Utils . next ( props . structure !! , Ġexecution Model ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( next Ġ== Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ClientContext . execution Loop . is Loop ing ( host )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġnested Ġ= Ġprops . execution ?. frames ?. size Ġ?: Ġ 0 Ġ> Ġ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( nested ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Loop . return Frame ( host ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Return () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Loop . pause ( host ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Intent Global . clear () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( previous Control Run Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! Ġexecution Model . isRunning () Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model . frames . size Ġ> Ġ 1 Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ! Ġexecution Model . frames . last (). isActive ( null )) ĊĠĠĠĠĠĠĠ Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġconsole . log (" ^^^^ ĠENTER ED : Ġ" Ġ+ Ġexecution Model . frames . last (). path . asString ()) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdelay ( 1 ) ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . navigation Global . goto ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model . frames . last (). path ) Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . navigation Global . parameter ize ( Request Params ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmap Of ( R ibbon Run . running Key Ġto ĠlistOf ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model . frames . last (). path . asString ())) Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ)) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġoverride Ġfun ĠcomponentDidMount () Ġ{ ĊĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Repository . observe ( this ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠcomponentWill Unmount () Ġ{ ĊĠĠĠĠĠĠĠ ĠClient Context . execution Repository . un observe ( this ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġoverride Ġfun ĠcomponentDid Update ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprev Props : ĠProps , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġprev State : ĠState , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġsnapshot : ĠAny ĊĠĠĠ Ġ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġexecution Ġ= Ġprops . execution Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ċ // Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( execution . frames . isEmpty ()) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġasync Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution State To Fresh Start () Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ċ // ĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġrunning Host Ġ= Ġprops . running Host Ċ Ċ // ĠĠĠĠĠĠĠ Ġconsole . log (" ! @ #! #! @ #! @ #! @ Ġ ĠcomponentDid Update Ġ- Ġ" Ġ+ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ props . document Path } Ġ- Ġ${ prev Props . document Path } Ġ- Ġ$ running Host Ġ- Ġ" Ġ+ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ"${ running Host ?. let Ġ{ ClientContext . execution Loop . is Continu ing Frame ( it )}} ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( props . document Path Ġ!= Ġprev Props . document Path Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġrunning Host Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Loop . is Continu ing Frame ( running Host )) ĊĠĠĠĠĠĠĠ Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġconsole . log (" ^^^^^^^^ ^ Ġcontinuing Ġexecution ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Loop . continue Frame ( running Host ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - Ċ // ĠĠĠ Ġprivate Ġsuspend Ġfun Ġexecution State To Fresh Start () Ġ{ Ċ //// ĠĠĠĠĠĠĠ Ġval Ġgraph Structure Ġ= Ġstate . structure Ċ // ĠĠĠĠĠĠĠ Ġval Ġgraph Structure Ġ= Ġprops . structure Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġdocument Path Ġ= Ġprops . document Path Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġexpected Digest Ġ= ĠClient Context . execution Repository . start ( Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġdocument Path , Ġgraph Structure ) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġval Ġactual Digest Ġ= ĠClient Context . rest Client . start Execution ( document Path ) Ċ // Ċ //// ĠĠĠĠĠĠĠ Ġconsole . log (" ^^^ Ġexecution State To Fresh Start ", Ġexpected Digest . asString (), Ġactual Digest . asString ()) Ċ // Ċ // ĠĠĠĠĠĠĠ Ġif Ġ( expected Digest Ġ!= Ġactual Digest ) Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠTODO Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġconsole . log (" Digest Ġmismatch , Ġrefresh Ġrequired ") Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġon Refresh () Ċ // ĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġprivate Ġfun Ġphase (): ĠPhase Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġprintln (" %%%% %% Ġphase Ġ- Ġ${ state . execution }") ĊĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġprops . document Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĠPhase . Empty Ċ Ċ // ĠĠĠĠĠĠĠ Ġval Ġexecution Model Ġ= Ġstate . execution ĊĠĠĠĠĠĠĠ Ġval Ġexecution Model Ġ= Ġprops . execution ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĠPhase . Empty ĊĊĠĠĠĠĠĠĠ Ġif Ġ( execution Model . frames . isEmpty () Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model . frames . size Ġ== Ġ 1 Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model . frames [ 0 ]. states . isEmpty ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPhase . Empty ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġlooping Ġ= ĠClient Context . execution Loop . is Loop ing ( host ) ĊĊĠĠĠĠĠĠĠ Ġif Ġ( execution Model . contains Status ( Imp er ative Phase . Running )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( loop ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPhase . Loop ing ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPhase . Running ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ ĠImp er ative Utils . next ( props . structure !! , Ġexecution Model ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĠPhase . Done ĊĊĠĠĠĠĠĠĠ Ġif Ġ( loop ing ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPhase . Loop ing ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġif Ġ( execution Model . contains Status ( Imp er ative Phase . Success ) Ġ|| ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġexecution Model . contains Status ( Imp er ative Phase . Error )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠPhase . Partial ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn ĠPhase . Pending ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġprivate Ġsuspend Ġfun Ġon Run () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgraph Structure Ġ= Ġprops . structure !! ĊĠĠĠĠĠĠĠ Ġval Ġimper ative Model Ġ= Ġprops . execution !! ĊĊĠĠĠĠĠĠĠ Ġif Ġ(! Ġimper ative Model . isActive ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . rest Client . start Execution ( props . document Path !! ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġnext To Run Ġ= ĠImp er ative Utils . next ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Structure , Ġimper ative Model ) !! ĊĊĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Repository . execute ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimper ative Model . frames . first (). path , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnext To Run , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġgraph Structure ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Return () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġgraph Structure Ġ= Ġprops . structure !! ĊĠĠĠĠĠĠĠ Ġval Ġimper ative Model Ġ= Ġprops . execution !! Ċ Ċ // ĠĠĠĠĠĠĠ Ġconsole . log (" && %^ & ^ % Ġreturning Ġframe ") ĊĊĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġprevious Frame Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( imp er ative Model . frames . size Ġ> Ġ 1 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimper ative Model . frames [ imp er ative Model . frames . size Ġ- Ġ 2 ]. path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġconsole . log (" && %^ & ^ % Ġreturning Ġframe Ġ- Ġasync ") ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Repository . return Frame ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġimper ative Model . frames . first (). path , Ġgraph Structure ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( previous Frame Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . navigation Global . return To ( previous Frame ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Run All () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġprops . document Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Intent Global . clear () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( props . execution ?. isActive () Ġ!= Ġtrue ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Repository . start ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhost , Ġprops . structure !! ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Loop . run ( host ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Pause () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġprops . document Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ ĠClient Context . execution Loop . pause ( host ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Reset () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhost Ġ= Ġprops . document Path ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġreturn ĊĊĠĠĠĠĠĠĠ Ġon Pause () ĊĊĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Repository . reset ( host ) ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . rest Client . reset Execution ( host ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Outer Enter () Ġ{ ĊĠĠĠĠĠĠĠ ĠsetState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfab Hover Ġ= Ġtrue ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Outer Leave () Ġ{ ĊĠĠĠĠĠĠĠ ĠsetState Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġfab Hover Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Run Enter () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġnext To Run Ġ= Ġstate . execution ?. next () ĊĠĠĠĠĠĠĠ Ġval Ġnext To Run Ġ= Ġprops . execution ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImp er ative Utils . next ( props . structure !! , Ġit ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġif Ġ( next To Run Ġ== ĠClient Context . execution Intent Global . action Location ()) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġprintln ("^ $ %^ $ %^ % Ġon Run All Enter Ġ- Ġ${ state . execution } Ġ- Ġ$ next To Run ") ĊĠĠĠĠĠĠĠ Ġif Ġ( next To Run Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Intent Global . set ( next To Run ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun Ġon Run Leave () Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġval Ġnext To Run Ġ= Ġstate . execution ?. next () ĊĠĠĠĠĠĠĠ Ġval Ġnext To Run Ġ= Ġprops . execution ?. let Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠImp er ative Utils . next ( props . structure !! , Ġit ) ĊĠĠĠĠĠĠĠ Ġ} Ċ // ĠĠĠĠĠĠĠ Ġprintln ("^ $ %^ $ %^ % Ġon Run All Leave Ġ- Ġ$ next To Run ") ĊĠĠĠĠĠĠĠ Ġif Ġ( next To Run Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠClient Context . execution Intent Global . clear If ( next To Run ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġ// ---------------------------------------------------------------- ------------------------------------------------ - ĊĠĠĠ Ġoverride Ġfun ĠR Builder . render () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( props . running Host Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprops . execution Ġ!= Ġnull Ġ&& ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprops . execution !!. frames . none Ġ{ Ġit . path Ġ== Ġprops . document Path Ġ}) ĊĠĠĠĠĠĠĠ Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠ Ġ+" [ Running Ġ\" ${ props . running Host !!. name . value }\ "] " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} Ċ Ċ // ĠĠĠĠĠĠĠ Ġ+" Path : Ġ${ props . document Path ?. asString () }" Ċ // ĠĠĠĠĠĠĠ Ġbr Ġ{} Ċ // ĠĠĠĠĠĠĠ Ġ+" Exec : Ġ${ state . execution ?. frames ?. last OrNull ()?. path }" ĊĊĠĠĠĠĠĠĠ Ġval Ġphase Ġ= Ġphase () Ċ // ĠĠĠĠĠĠĠ Ġprintln ("# $ # % #$ % #$ % Ġphase Ġ- Ġ$ phase ") ĊĊĠĠĠĠĠĠĠ Ġif Ġ( phase Ġ== ĠPhase . Empty ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġdiv Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonMouse Over Function Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Outer Enter () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonMouse Out Function Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Outer Leave () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġrender Inner ( phase ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠR Builder . render Inner ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphase : ĠPhase ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnested Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġprops . execution ?. frames ?. size Ġ?: Ġ 0 Ġ> Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġrender Secondary Actions ( phase ) ĊĊĠĠĠĠĠĠĠ Ġrender Main Action ( phase , Ġnested ) ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠR Builder . render Secondary Actions ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphase : ĠPhase ĊĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġhas Reset Ġ= Ġphase Ġ== ĠPhase . Partial ĊĠĠĠĠĠĠĠ Ġchild ( Material IconButton :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Reset " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Ġstate . fab Hover Ġ|| Ġ! Ġhas Reset ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠVisibility . hidden ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠmarginRight Ġ= Ġ(- 0 . 5 ). em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ:: on Reset ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild ( Replay Icon :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 . 5 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġval Ġhas Run Next Ġ= Ġhas Reset Ġ|| Ġphase Ġ== ĠPhase . Pending ĊĠĠĠĠĠĠĠ Ġchild ( Material IconButton :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonMouse Over Ġ= Ġ:: on Run Enter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonMouse Out Ġ= Ġ:: on Run Leave ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġ" Run Ġnext " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! Ġstate . fab Hover Ġ|| Ġ! Ġhas Run Next ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġvisibility Ġ= ĠVisibility . hidden ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġasync Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Run () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġchild ( Redo Icon :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 1 . 5 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĊĠĠĠ Ġprivate Ġfun ĠR Builder . render Main Action ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġphase : ĠPhase , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġnested : ĠBoolean ĊĠĠĠ Ġ) Ġ{ Ċ // ĠĠĠĠĠĠĠ Ġ+" phase : Ġ$ phase " ĊĊĠĠĠĠĠĠĠ Ġchild ( Material Fab :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġhas More To Run Ġ= Ġphase Ġ== ĠPhase . Pending Ġ|| Ġphase Ġ== ĠPhase . Partial ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġlooping Ġ= Ġphase Ġ== ĠPhase . Loop ing ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġtitle Ġ= Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphase Ġ== ĠPhase . Done Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( nested ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Continue " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Reset " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlooping Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Pause " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphase Ġ== ĠPhase . Pending Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Run Ġall " ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Continue " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonClick Ġ= Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlooping Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Pause () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas More To Run Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Run All () ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġphase Ġ== ĠPhase . Done Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( nested ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Return () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġon Reset () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonMouse Over Ġ= Ġ:: on Run Enter ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠonMouse Out Ġ= Ġ:: on Run Leave ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠbackgroundColor Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( hasMore To Run Ġ|| Ġlooping ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . gold Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor ("# ffb 8 2 d ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ{ Ċ // ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor ("# 6 4 9 fff ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠColor . white ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwidth Ġ= Ġ 5 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġheight Ġ= Ġ 5 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhen Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġlooping Ġ-> Ġchild ( Pause Icon :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 3 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġhas More To Run Ġ-> Ġchild ( Play Arrow Icon :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 3 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġnested Ġ-> Ġchild ( Keyboard Return Icon :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 3 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> Ġchild ( Replay Icon :: class ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġattrs Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġstyle Ġ= Ġreact Style Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠfontSize Ġ= Ġ 3 . em ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }