iY      !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~SafePath from root to function.     None258A B R(A) := R(B) 68A Bx R(A) := Kst(Bx) 78A R(A) := Kst(extra arg) 88A B C R(A) := (Bool)B; if (C) pc++ 98A B R(A), R(A+1), ..., R(A+B) := nil :8A B R(A) := UpValue[B] ;8A B C R(A) := UpValue[B][RK(C)] <8A B C R(A) := R(B)[RK(C)] =8A B C UpValue[A][RK(B)] := RK(C) >8A B UpValue[B] := R(A) ?8A B C R(A)[RK(B)] := RK(C) @8A B C R(A) := {} (size = B,C) A8A B C R(A+1) := R(B); R(A) := R(B)[RK(C)] B8A B C R(A) := RK(B) + RK(C) C8A B C R(A) := RK(B) - RK(C) D8A B C R(A) := RK(B) * RK(C) E8A B C R(A) := RK(B) % RK(C) F8A B C R(A) := RK(B) ^ RK(C) G8A B C R(A) := RK(B) / RK(C) H8A B C R(A) := RK(B) // RK(C) I8A B C R(A) := RK(B) & RK(C) J8A B C R(A) := RK(B) | RK(C) K8A B C R(A) := RK(B) ~ RK(C) L8A B C R(A) := RK(B) << RK(C) M8A B C R(A) := RK(B) >> RK(C) N8A B R(A) := -R(B) O8A B R(A) := ~R(B) P8A B R(A) := not R(B) Q8A B R(A) := length of R(B) R8A B C R(A) := R(B).. ... ..R(C) S8A sBx pc+=sBx; if (A) close all upvalues >= R(A - 1) T8A B C if ((RK(B) == RK(C)) ~= A) then pc++ U8A B C if ((RK(B) < RK(C)) ~= A) then pc++ V8A B C if ((RK(B) <= RK(C)) ~= A) then pc++ WA C if not (R(A)  = C) then pc++ XA B C if (R(B)  =$ C) then R(A) := R(B) else pc++ Y;A B C R(A), ... ,R(A+C-2) := R(A)(R(A+1), ... ,R(A+B-1)) Z8A B C return R(A)(R(A+1), ... ,R(A+B-1)) [8A B return R(A), ... ,R(A+B-2) (see note) \FA sBx R(A)+=R(A+2); if R(A) <?= R(A+1) then { pc+=sBx; R(A+3)=R(A) }]8A sBx R(A)-=R(A+2); pc+=sBx ^8A C R(A+3), ... ,R(A+2+C) := R(A)(R(A+1), R(A+2)); _8A sBx if R(A+1) ~= nil then { R(A)=R(A+1); pc += sBx }`8A B C R(A)[(C-1)*FPF+i] := R(A+i), 1 <= i <= B a8A Bx R(A) := closure(KPROTO[Bx]) b8A B R(A), R(A+1), ..., R(A+B-2) = vararg c8Ax extra (larger) argument for previous opcode e$number of upvalues and function bodyr'Compute a register relative to another.s@Compute a list of registers given a startin register and length.f !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqroffset sstart length te !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrsfoptmnklijfghde456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abc123$%&'()*+,-./0 !"#qrs !"#$ %&'()*+,-./01234/56789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstNone!"Given a function, compute a map from line numbers to op-codes in the function. This is useful for adding break-points identified by line number. Does not consider nested functions. IGiven a function, compute a map from line numbers to op-codes in this function or a nested function. For each line number we return a list of pairs (typically just 1). The first element in the pair is the path to the nested function---empty if not nested---and the second one are the PC locations associated with that function. xCompute the locals at a specific program counter. This function is memoized, so it is fast to lookup things many times.MCompute the names for the functions defined withing the given function. The . is the index of the sub-function's prototype.Figure out a name for the function defined at the given program counter in a function. Note that this operation could be fairly expensive, so probably a good idea to cache the results.program counter None!"converts an integer to a "floating point byte", represented as (eeeeexxx), where the real value is (1xxx) * 2^(eeeee - 1) if eeeee != 0 and (xxx) otherwise.kOptional source name  Bytecodes       !"#$%&'()*+,-./0123456c      !"#$%&'()*+,-./0123456None7      !"#$%&''()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdeffghijjkkllmmnopqrstuvwxyz{|}~      !"#$%&'()*+,-./01234!lua-bc-0.1-3hDeDVYP35P5KfgrEcraZrLanguage.Lua.Bytecode.FunIdLanguage.Lua.BytecodeLanguage.Lua.Bytecode.DebugLanguage.Lua.Bytecode.ParserLanguage.Lua.Bytecode.PrettyFunId isRootFungetRootnoFunisNoFunrootFunsubFun funIdStringfunIdFromString funIdList funNestDepth $fEqFunId $fOrdFunId $fShowFunIdVarInfo varInfoName varInfoStart varInfoEnd DebugInfodebugInfoLines debugInfoVarsdebugInfoUpvalues LineNumberUpvalueUpRegUpUpConstantKNilKBoolKNumKIntKString KLongStringFunction funcSourcefuncLineDefinedfuncLastLineDefined funcNumParams funcIsVarargfuncMaxStackSizefuncCode funcConstants funcUpvalues funcProtos funcDebugCountCountIntCountTopOpCodeOP_MOVEOP_LOADK OP_LOADKX OP_LOADBOOL OP_LOADNIL OP_GETUPVAL OP_GETTABUP OP_GETTABLE OP_SETTABUP OP_SETUPVAL OP_SETTABLE OP_NEWTABLEOP_SELFOP_ADDOP_SUBOP_MULOP_MODOP_POWOP_DIVOP_IDIVOP_BANDOP_BOROP_BXOROP_SHLOP_SHROP_UNMOP_BNOTOP_NOTOP_LEN OP_CONCATOP_JMPOP_EQOP_LTOP_LEOP_TEST OP_TESTSETOP_CALL OP_TAILCALL OP_RETURN OP_FORLOOP OP_FORPREP OP_TFORCALL OP_TFORLOOP OP_SETLIST OP_CLOSURE OP_VARARG OP_EXTRAARGChunkRKRK_RegRK_KstKstProtoIxUpIxRegpropagateSourcesplusRegregRange $fEnumReg $fReadReg $fShowReg$fEqReg$fOrdReg $fReadUpIx $fShowUpIx$fEqUpIx $fOrdUpIx $fReadProtoIx $fShowProtoIx $fEqProtoIx $fOrdProtoIx $fReadKst $fShowKst$fEqKst$fOrdKst$fReadRK$fShowRK$fEqRK$fOrdRK $fReadCount $fShowCount $fEqCount $fOrdCount $fReadOpCode $fShowOpCode $fEqOpCode $fOrdOpCode$fReadConstant$fShowConstant $fEqConstant $fOrdConstant $fReadUpvalue $fShowUpvalue $fEqUpvalue $fOrdUpvalue $fReadVarInfo $fShowVarInfo $fEqVarInfo$fReadDebugInfo$fShowDebugInfo $fEqDebugInfo$fReadFunction$fShowFunction $fEqFunction $fReadChunk $fShowChunk $fEqChunklookupLineNumbershallowLineNumberMapdeepLineNumberMaplookupLocalNameinferSubFunctionNamesinferFunctionNameparseLuaBytecodedumpLuaBytecodeparseLuaBytecodeFiledumpLuaBytecodeFile $fOpArgCount $fOpArgRK $fOpArgBool $fOpArgWord32 $fOpArgInt$fOpArgProtoIx $fOpArgKst $fOpArgUpIx $fOpArgReg$fEqLuacVersion$fOrdLuacVersion$fShowLuacVersion$fReadLuacVersionPPppPPInfoppVarAt ppConstantppUpIxppFun ppExtraArgppPCppVar blankPPInfoppNextPCppCodeppOpCode ppRegRange ppRegRangeInfppRegRangeCount $fPPOpCode$fPPBool$fPPDoc$fPPRK $fPPProtoIx$fPPUpIx$fPPKst$fPPReg $fPPFunId $fPPConstantghc-prim GHC.TypesIntfb2intOpArgopArg BytecodeModebytecodeVersion bytecodeSizetSizetSizet32Sizet64 LuacVersionLuac52Luac53Puts sizetSizemode53 setSourceName unpackUtf8packUtf8 luaSignature mkLuaVersion luacFormatluacDataluacIntluacNumintSizeinstructionSizeluaIntegerSize luaNumberSize loadChunk saveChunk loadSizeT saveSizeT loadString loadString' saveString saveString'loadBytesaveByte loadInteger saveIntegerloadIntsaveInt loadNumber saveNumberloadBoolsaveBool loadVectorOf saveVectorOfstringword8 loadHeader loadHeader52 loadHeader53 getSizetSize saveHeader loadFunction saveFunction loadDebugInfo saveDebugInfo loadConstant saveConstant loadUpvalue saveUpvalue loadVarInfo saveVarInfoloadInstructionloadInstruction52loadInstruction53mkCountsaveInstructionasOpasAasBasCasSBXasBXasAX extractPart createPartint2fbpos_Apos_Axpos_Bpos_Bxpos_Cpos_OPsize_Asize_Axsize_Bsize_Csize_Bxsize_OP