package Ġrh mod ding . tick omp iler . de compiler Ċ Ċ import Ġrh mod ding . tick omp iler .* Ċ import Ġrh mod ding . tick omp iler . Function Ċ import Ġrh mod ding . tick omp iler . util . escape Ċ import Ġjava . io . ByteArray InputStream Ċ import Ġjava . nio . Byte Order Ċ import Ġjava . util .* Ċ Ċ class ĠDe compiler ( val Ġarray : ĠByteArray , Ġval Ġorder : ĠByte Order , Ġval Ġfunctions : ĠFunctions ) Ġ{ ĊĠĠĠ Ġvar Ġinput Ġ= ĠByteArrayInputStream ( array ) ĊĊĠĠĠ Ġprivate Ġfun Ġread (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġr Ġ= Ġinput . read () ĊĠĠĠĠĠĠĠ Ġif Ġ( r Ġ== Ġ- 1 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġthrow ĠIllegalStateException (" End Ġof Ġstream Ġreached ") ĊĠĠĠĠĠĠĠ Ġreturn Ġr . to Long () ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġread Int (): ĠLong Ġ{ ĊĠĠĠĠĠĠĠ Ġreturn Ġif Ġ( order Ġ== ĠByte Order . LIT TLE _ ENDIAN ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread () Ġor Ġ( read () Ġshl Ġ 8 ) Ġor Ġ( read () Ġshl Ġ 1 6 ) Ġor Ġ( read () Ġshl Ġ 2 4 ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ( read () Ġshl Ġ 2 4 ) Ġor Ġ( read () Ġshl Ġ 1 6 ) Ġor Ġ( read () Ġshl Ġ 8 ) Ġor Ġread () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġread String Auto (): ĠPair < String , ĠInt > Ġ{ ĊĠĠĠĠĠĠĠ Ġvar Ġresult Ġ= Ġ"" ĊĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 2 ĊĠĠĠĠĠĠĠ Ġvar Ġr Ġ= Ġread () ĊĠĠĠĠĠĠĠ Ġif Ġ( r Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġreturn Ġ"" Ġto Ġ 1 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġu Ġ= Ġfalse ĊĠĠĠĠĠĠĠ Ġresult Ġ+= Ġr . to Char () ĊĠĠĠĠĠĠĠ Ġr Ġ= Ġread () ĊĠĠĠĠĠĠĠ Ġif Ġ( r Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġu Ġ= Ġtrue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġr Ġ= Ġread () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ+= Ġ 2 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwhile Ġ( r Ġ!= Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġresult Ġ+= Ġr . to Char () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġr Ġ= Ġread () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( u ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ% Ġ 4 Ġ!= Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġread () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġi ++ ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġreturn ĠPair ( result , Ġi ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġfun Ġde compile ( add Comments : ĠComment Type , Ġuse Metadata : ĠBoolean , Ġindent : ĠString Ġ= Ġ"\ t ", Ġmacros : ĠMap < Int , ĠInt > Ġ= Ġmap Of ()): ĠPair < Double , ĠString > Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġnano Time Ġ= ĠSystem . nano Time () ĊĠĠĠĠĠĠĠ Ġval Ġbuilder Ġ= ĠStringBuilder () ĊĠĠĠĠĠĠĠ Ġval Ġstate Ġ= ĠDe compiler State () ĊĊĠĠĠĠĠĠĠ Ġrun Ġde compiler Info @ Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ("// ĠDe compiled Ġusing ĠTick omp iler Ġ$ VERSION \ n // Ġ$ GITHUB \ n ") ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġval Ġmarkers Ġ= Ġmutable Map Of < Long , ĠString >() ĊĊĠĠĠĠĠĠĠ Ġif Ġ( use Metadata ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ("# index Ġ 0 x ${ readInt (). toString ( 1 6 ). toUpperCase () }\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmarkers [ readInt ()] Ġ= Ġ" start " ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmarkers [ readInt ()] Ġ= Ġ" assets " ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġfor Ġ(( key , Ġvalue ) Ġin Ġmacros ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġmarkers [ key . to Long ()] Ġ= Ġ" sub ${ value . toString ( 1 6 ). toUpperCase () }" ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġvar Ġmarker C Ġ= Ġ 0 ĊĠĠĠĠĠĠĠ Ġval Ġstrings Ġ= Ġmutable Map Of < Long , ĠString >() ĊĊĠĠĠĠĠĠĠ Ġvar Ġcounter Ġ= Ġ 0 L ĊĠĠĠĠĠĠĠ Ġ// Ġfirst Ġpass Ġis Ġto Ġconstruct Ġa Ġlist Ġof Ġmarkers : ĊĠĠĠĠĠĠĠ Ġwhile Ġ( input . available () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġan ns Ġ= Ġmutable ListOf < Long >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġop int : ĠLong Ġ= Ġread Int () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op int Ġ== Ġ 0 x FFFFFF FE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op int Ġ== Ġ 0 xFFFFFFFF ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġread Int () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. amount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġan ns . add ( readInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġop int Ġ= Ġread Int () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopcode : ĠLong Ġ= Ġop int Ġand Ġ 0 b 1 1 1 1 1 1 1 1 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspecial : ĠLong Ġ= Ġ( op int Ġ ush r Ġ 1 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarg Count : ĠLong Ġ= Ġ( op int Ġ ush r Ġ 1 0 ) Ġand Ġ 0 b 1 1 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs : ĠMutable List < Long > Ġ= Ġmutable ListOf () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arg Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. arg Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . add ( readInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġan ns . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġann code Ġ= Ġit Ġand Ġ 0 xFF ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġann Arg Ġ= Ġ( it Ġ ush r Ġ 8 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( ann code Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(! markers . contains ( args [ ann Arg ])) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġmarkers [ args [ ann Arg ]] Ġ= Ġ" loc ${ marker C ++ }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter Ġ+= Ġ 4 Ġ* Ġ( 1 Ġ+ Ġarg Count ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġand Ġalso Ġstrings ĊĠĠĠĠĠĠĠ Ġwhile Ġ( input . available () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġp Ġ= Ġread String Auto () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstrings [ counter ] Ġ= Ġp . first . escape () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter Ġ+= Ġp . second ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġ// Ġreset Ġinput Ġstream Ġfor Ġthe Ġsecond Ġpass : ĊĠĠĠĠĠĠĠ Ġinput Ġ= ĠByteArrayInputStream ( array ) ĊĠĠĠĠĠĠĠ Ġif Ġ( use Metadata ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġinput . skip ( 1 2 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcounter Ġ= Ġ 0 L ĊĊĠĠĠĠĠĠĠ Ġwhile Ġ( input . available () Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( markers . contains ( counter )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ("${ markers [ counter ]} :\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspecial Arg Strings : ĠMutable Map < Int , ĠString > Ġ= Ġmutable Map Of () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġan ns Ġ= Ġmutable ListOf < Long >() ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġop int : ĠLong Ġ= Ġread Int () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op int Ġ== Ġ 0 x FFFFFF FE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbreak ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op int Ġ== Ġ 0 xFFFFFFFF ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġamount Ġ= Ġread Int () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. amount ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġan ns . add ( readInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġbytes Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġan ns . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ(( it Ġand Ġ 0 xFF ) Ġ== Ġ 3 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbytes Ġ= Ġ( it Ġ ush r Ġ 8 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( bytes Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġpadding Ġ= Ġ 4 Ġ- Ġ( bytes Ġ% Ġ 4 ) Ġ- Ġ( if Ġ( bytes Ġ% Ġ 4 Ġ== Ġ 0 ) Ġ 4 Ġelse Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcounter Ġ+= Ġbytes Ġ+ Ġpadding ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġbyte List Ġ= Ġmutable ListOf < Long >() ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. bytes ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbyte List . add ( read ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. padding ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġread () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfunction : ĠFunction Ġ= ĠBytes Function () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtick flow Ġ= Ġfunction . produce Tick flow ( state , Ġ 0 , Ġ 0 , Ġbyte List . to Long Array (), Ġadd Comments , Ġspecial Arg Strings ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. state . next Indent Level ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( indent ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( tick flow Ġ+ Ġ"\ n ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontinue ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( op int Ġ== Ġ 0 xFFFFFFFF ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġop int Ġ= Ġread Int () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġopcode : ĠLong Ġ= Ġop int Ġand Ġ 0 b 1 1 1 1 1 1 1 1 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġspecial : ĠLong Ġ= Ġ( op int Ġ ush r Ġ 1 4 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġarg Count : ĠLong Ġ= Ġ( op int Ġ ush r Ġ 1 0 ) Ġand Ġ 0 b 1 1 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġfunction : ĠFunction Ġ= Ġfunctions [ op int ] ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġargs : ĠMutable List < Long > Ġ= Ġmutable ListOf () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( arg Count Ġ> Ġ 0 ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. arg Count ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġargs . add ( readInt ()) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġan ns . forEach Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġann code Ġ= Ġit Ġand Ġ 0 b 1 1 1 1 1 1 1 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġann Arg Ġ= Ġ( it Ġ ush r Ġ 8 ). toInt () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġwhen ( ann code ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 0 L Ġ-> Ġspecial Arg Strings [ ann Arg ] Ġ= Ġmarkers [ args [ ann Arg ]] Ġ?: Ġargs [ ann Arg ]. toString () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 L Ġ-> Ġspecial Arg Strings [ ann Arg ] Ġ= Ġ" u \"" Ġ+ Ġ( strings [ args [ ann Arg ]] Ġ?: Ġ"") Ġ+ Ġ'"' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 L Ġ-> Ġspecial Arg Strings [ ann Arg ] Ġ= Ġ'"' Ġ+ Ġ( strings [ args [ ann Arg ]] Ġ?: Ġ"") Ġ+ Ġ'"' ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġold Indent Ġ= Ġstate . next Indent Level ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġtick Flow Ġ= Ġfunction . produce Tick flow ( state , Ġopcode , Ġspecial , Ġargs . to Long Array (), Ġadd Comments , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġspecial Arg Strings ) ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġfor Ġ( i Ġin Ġ 1 .. ( old Indent Ġ+ Ġstate . current Adjust )) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( indent ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ( tick Flow ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( add Comments Ġ== ĠComment Type . BYTE CODE ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġfun ĠInt . to LittleEndian Hex (): ĠString Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĠtoString ( 1 6 ). pad Start ( 8 , Ġ' 0 '). toUpperCase ( Locale . ROOT ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append (" Ġ// Ġbytecode : Ġ${ op int . toInt (). to LittleEndian Hex ()} Ġ${ args . join ToString (" Ġ" ){ it . toInt (). to LittleEndian Hex ()}} ") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġbuilder . append ('\ n ') ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . current Adjust Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstate . next Indent Level Ġ= ĠMath . max ( state . next Indent Level , Ġ 0 ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcounter Ġ+= Ġ 4 Ġ* Ġ( 1 Ġ+ Ġarg Count ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġreturn Ġ(( System . nano Time () Ġ- Ġnano Time ) Ġ/ Ġ 1 _ 0 0 0 _ 0 0 0 . 0 ) Ġto Ġbuilder . toString () ĊĠĠĠ Ġ} Ċ Ċ } Ċ Ċ data Ġclass ĠDe compiler State ( var Ġnext Indent Level : ĠInt Ġ= Ġ 0 , Ġvar Ġcurrent Adjust : ĠInt Ġ= Ġ 0 ) Ċ Ċ enum Ġclass ĠComment Type Ġ{ ĊĠĠĠ ĠNONE , ĠNORMAL , ĠBYTE CODE Ċ } Ċ