package Ġb aa ah s . app . ui . editor Ċ Ċ import Ġb aa ah s . gl . Tool chain Ċ import Ġb aa ah s . show . Show Ċ import Ġb aa ah s . show . mutable . Mutable Document Ċ import Ġb aa ah s . show . mutable . Mutable Show Ċ Ċ class ĠShow Editable Manager ( ĊĠĠĠ Ġon Apply : Ġ( Show ) Ġ-> ĠUnit Ċ ) Ġ: ĠEdit able Manager < Show >( on Apply ) Ġ{ ĊĠĠĠ Ġfun Ġopen Editor ( base Document : ĠShow , Ġedit Intent : ĠEdit Intent , Ġtoolchain : ĠTool chain ) Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġsession Ġ= ĠShow Session ( base Document , ĠMutable Show ( base Document ), Ġedit Intent , Ġtoolchain ) ĊĠĠĠĠĠĠĠ Ġopen Editor ( session ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġinner Ġclass ĠShow Session ( ĊĠĠĠĠĠĠĠ Ġbase Document : ĠShow , ĊĠĠĠĠĠĠĠ Ġmutable Document : ĠMutable Document < Show >, ĊĠĠĠĠĠĠĠ Ġedit Intent : ĠEdit Intent , ĊĠĠĠĠĠĠĠ Ġval Ġtoolchain : ĠTool chain ĊĠĠĠ Ġ) Ġ: ĠSession ( base Document , Ġmutable Document , Ġedit Intent ) Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġcreate New Session ( new Document : ĠShow , Ġedit Intent : ĠEdit Intent ): ĠSession Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠShow Session ( new Document , ĠMutable Show ( new Document ), Ġedit Intent , Ġtoolchain ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }