aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMike Pall <mike>2012-06-09 15:04:03 +0200
committerMike Pall <mike>2012-06-09 15:12:44 +0200
commit9a9509c66a98d0bf42003ad5d06e8f275c5ff1f5 (patch)
treef5ca35d9ed7cc66f644828233f511f6db4634849 /src
parent0a6c8338d240dd318db2f5269414dcf7ddc9ed35 (diff)
downloadluajit-9a9509c66a98d0bf42003ad5d06e8f275c5ff1f5.tar.gz
luajit-9a9509c66a98d0bf42003ad5d06e8f275c5ff1f5.tar.bz2
luajit-9a9509c66a98d0bf42003ad5d06e8f275c5ff1f5.zip
Reorganize build process.
Drop pre-translated buildvm_*.h. Rename buildvm_*.dasc to vm_*.dasc. Move buildvm* to host directory. Build minilua, unless HOST_LUA is set. Use HOST_LUA to run DynASM. Translate only vm_*.dasc for target architecture.
Diffstat (limited to 'src')
-rw-r--r--src/.gitignore1
-rw-r--r--src/Makefile167
-rw-r--r--src/Makefile.dep26
-rw-r--r--src/buildvm_arm.h7494
-rw-r--r--src/buildvm_mips.h7495
-rw-r--r--src/buildvm_ppc.h9797
-rw-r--r--src/buildvm_ppcspe.h6094
-rw-r--r--src/buildvm_x64.h3406
-rw-r--r--src/buildvm_x64win.h3401
-rw-r--r--src/buildvm_x86.h3561
-rw-r--r--src/host/.gitignore3
-rw-r--r--src/host/buildvm.c (renamed from src/buildvm.c)19
-rw-r--r--src/host/buildvm.h (renamed from src/buildvm.h)0
-rw-r--r--src/host/buildvm_asm.c (renamed from src/buildvm_asm.c)0
-rw-r--r--src/host/buildvm_fold.c (renamed from src/buildvm_fold.c)0
-rw-r--r--src/host/buildvm_lib.c (renamed from src/buildvm_lib.c)0
-rw-r--r--src/host/buildvm_peobj.c (renamed from src/buildvm_peobj.c)0
-rw-r--r--src/msvcbuild.bat25
-rw-r--r--src/vm_arm.dasc (renamed from src/buildvm_arm.dasc)0
-rw-r--r--src/vm_mips.dasc (renamed from src/buildvm_mips.dasc)0
-rw-r--r--src/vm_ppc.dasc (renamed from src/buildvm_ppc.dasc)0
-rw-r--r--src/vm_ppcspe.dasc (renamed from src/buildvm_ppcspe.dasc)0
-rw-r--r--src/vm_x86.dasc (renamed from src/buildvm_x86.dasc)0
23 files changed, 115 insertions, 41374 deletions
diff --git a/src/.gitignore b/src/.gitignore
index 8373308b..fc94e82c 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -1,5 +1,4 @@
1luajit 1luajit
2buildvm
3lj_bcdef.h 2lj_bcdef.h
4lj_ffdef.h 3lj_ffdef.h
5lj_libdef.h 4lj_libdef.h
diff --git a/src/Makefile b/src/Makefile
index 5977c373..86b8b4fa 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -49,12 +49,12 @@ CCOPT= -O2 -fomit-frame-pointer
49# x86/x64 only: For GCC 4.2 or higher and if you don't intend to distribute 49# x86/x64 only: For GCC 4.2 or higher and if you don't intend to distribute
50# the binaries to a different machine you could also use: -march=native 50# the binaries to a different machine you could also use: -march=native
51# 51#
52CCOPT_X86= -march=i686 52CCOPT_x86= -march=i686
53CCOPT_X64= 53CCOPT_x64=
54CCOPT_ARM= 54CCOPT_arm=
55CCOPT_PPC= 55CCOPT_ppc=
56CCOPT_PPCSPE= 56CCOPT_ppcspe=
57CCOPT_MIPS= 57CCOPT_mips=
58# 58#
59CCDEBUG= 59CCDEBUG=
60# Uncomment the next line to generate debug information: 60# Uncomment the next line to generate debug information:
@@ -182,13 +182,11 @@ LDOPTIONS= $(CCDEBUG) $(LDFLAGS)
182 182
183HOST_CC= $(CC) 183HOST_CC= $(CC)
184HOST_RM= rm -f 184HOST_RM= rm -f
185# NOTE: The LuaJIT distribution comes with pre-generated buildvm_*.h files. 185# If left blank, minilua is built and used. You can supply an installed
186# You DO NOT NEED an installed copy of (plain) Lua 5.1 to run DynASM unless 186# copy of (plain) Lua 5.1 or 5.2, e.g. with: HOST_LUA=lua
187# you want to MODIFY the corresponding *.dasc file. You can also use LuaJIT 187HOST_LUA=
188# itself (bootstrapped from a pre-generated file) to run DynASM of course.
189HOST_LUA= lua
190 188
191HOST_XCFLAGS= 189HOST_XCFLAGS= -I.
192HOST_XLDFLAGS= 190HOST_XLDFLAGS=
193HOST_XLIBS= 191HOST_XLIBS=
194HOST_ACFLAGS= $(CCOPTIONS) $(HOST_XCFLAGS) $(TARGET_ARCH) $(HOST_CFLAGS) 192HOST_ACFLAGS= $(CCOPTIONS) $(HOST_XCFLAGS) $(TARGET_ARCH) $(HOST_CFLAGS)
@@ -223,31 +221,25 @@ TARGET_ALIBS= $(TARGET_XLIBS) $(LIBS) $(TARGET_LIBS)
223 221
224TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM) 222TARGET_TESTARCH=$(shell $(TARGET_CC) $(TARGET_TCFLAGS) -E lj_arch.h -dM)
225ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH))) 223ifneq (,$(findstring LJ_TARGET_X64 ,$(TARGET_TESTARCH)))
226 TARGET_CCARCH= x64 224 TARGET_LJARCH= x64
227 TARGET_XCFLAGS+= $(CCOPT_X64)
228else 225else
229ifneq (,$(findstring LJ_TARGET_X86 ,$(TARGET_TESTARCH))) 226ifneq (,$(findstring LJ_TARGET_X86 ,$(TARGET_TESTARCH)))
230 TARGET_CCARCH= x86 227 TARGET_LJARCH= x86
231 TARGET_XCFLAGS+= $(CCOPT_X86)
232else 228else
233ifneq (,$(findstring LJ_TARGET_ARM ,$(TARGET_TESTARCH))) 229ifneq (,$(findstring LJ_TARGET_ARM ,$(TARGET_TESTARCH)))
234 TARGET_CCARCH= arm 230 TARGET_LJARCH= arm
235 TARGET_XCFLAGS+= $(CCOPT_ARM)
236else 231else
237ifneq (,$(findstring LJ_TARGET_PPC ,$(TARGET_TESTARCH))) 232ifneq (,$(findstring LJ_TARGET_PPC ,$(TARGET_TESTARCH)))
238 TARGET_CCARCH= ppc 233 TARGET_LJARCH= ppc
239 TARGET_XCFLAGS+= $(CCOPT_PPC)
240else 234else
241ifneq (,$(findstring LJ_TARGET_PPCSPE ,$(TARGET_TESTARCH))) 235ifneq (,$(findstring LJ_TARGET_PPCSPE ,$(TARGET_TESTARCH)))
242 TARGET_CCARCH= ppcspe 236 TARGET_LJARCH= ppcspe
243 TARGET_XCFLAGS+= $(CCOPT_PPCSPE)
244else 237else
245ifneq (,$(findstring LJ_TARGET_MIPS ,$(TARGET_TESTARCH))) 238ifneq (,$(findstring LJ_TARGET_MIPS ,$(TARGET_TESTARCH)))
246 ifneq (,$(findstring MIPSEL ,$(TARGET_TESTARCH))) 239 ifneq (,$(findstring MIPSEL ,$(TARGET_TESTARCH)))
247 TARGET_ARCH= -D__MIPSEL__=1 240 TARGET_ARCH= -D__MIPSEL__=1
248 endif 241 endif
249 TARGET_CCARCH= mips 242 TARGET_LJARCH= mips
250 TARGET_XCFLAGS+= $(CCOPT_MIPS)
251else 243else
252 $(error Unsupported target architecture) 244 $(error Unsupported target architecture)
253endif 245endif
@@ -257,7 +249,8 @@ endif
257endif 249endif
258endif 250endif
259 251
260TARGET_ARCH+= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET_CCARCH)) 252TARGET_XCFLAGS+= $(CCOPT_$(TARGET_LJARCH))
253TARGET_ARCH+= $(patsubst %,-DLUAJIT_TARGET=LUAJIT_ARCH_%,$(TARGET_LJARCH))
261 254
262ifneq (,$(PREFIX)) 255ifneq (,$(PREFIX))
263ifneq (/usr/local,$(PREFIX)) 256ifneq (/usr/local,$(PREFIX))
@@ -300,7 +293,7 @@ ifeq (Darwin,$(TARGET_SYS))
300 TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC 293 TARGET_XSHLDFLAGS= -dynamiclib -single_module -undefined dynamic_lookup -fPIC
301 TARGET_DYNXLDOPTS= 294 TARGET_DYNXLDOPTS=
302 TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER) 295 TARGET_XSHLDFLAGS+= -install_name $(TARGET_DYLIBPATH) -compatibility_version $(MAJVER).$(MINVER) -current_version $(MAJVER).$(MINVER).$(RELVER)
303 ifeq (x64,$(TARGET_CCARCH)) 296 ifeq (x64,$(TARGET_LJARCH))
304 TARGET_XLDFLAGS+= -pagezero_size 10000 -image_base 100000000 297 TARGET_XLDFLAGS+= -pagezero_size 10000 -image_base 100000000
305 TARGET_XSHLDFLAGS+= -image_base 7fff04c4a000 298 TARGET_XSHLDFLAGS+= -image_base 7fff04c4a000
306 endif 299 endif
@@ -357,24 +350,41 @@ endif
357# Files and pathnames. 350# Files and pathnames.
358############################################################################## 351##############################################################################
359 352
353MINILUA_O= host/minilua.o
354MINILUA_LIBS= -lm
355MINILUA_T= host/minilua
356MINILUA_X= $(MINILUA_T)
357
358ifeq (,$(HOST_LUA))
359 HOST_LUA= $(MINILUA_X)
360 DASM_DEP= $(MINILUA_T)
361endif
362
360DASM_DIR= ../dynasm 363DASM_DIR= ../dynasm
361DASM= $(HOST_LUA) $(DASM_DIR)/dynasm.lua 364DASM= $(HOST_LUA) $(DASM_DIR)/dynasm.lua
362DASM_FLAGS= 365DASM_XFLAGS=
363DASM_DISTFLAGS= -LN 366DASM_AFLAGS=
364DASM_FLAGS_X86= 367DASM_ARCH= $(TARGET_LJARCH)
365DASM_FLAGS_X64= -D X64 368
366DASM_FLAGS_X64WIN= -D X64 -D X64WIN 369ifeq (x64,$(TARGET_LJARCH))
367DASM_FLAGS_ARM= 370 DASM_ARCH= x86
368DASM_FLAGS_PPC= 371 ifeq (Windows,$(TARGET_SYS))
369DASM_FLAGS_PPCSPE= 372 DASM_AFLAGS+= -D X64 -D X64WIN
370DASM_FLAGS_MIPS= 373 else
371 374 DASM_AFLAGS+= -D X64
372BUILDVM_O= buildvm.o buildvm_asm.o buildvm_peobj.o buildvm_lib.o buildvm_fold.o 375 endif
373BUILDVM_T= buildvm 376endif
374BUILDVM_X= ./$(BUILDVM_T) 377
375 378DASM_FLAGS= $(DASM_XFLAGS) $(DASM_AFLAGS)
376HOST_O= $(BUILDVM_O) 379DASM_DASC= vm_$(DASM_ARCH).dasc
377HOST_T= $(BUILDVM_T) 380
381BUILDVM_O= host/buildvm.o host/buildvm_asm.o host/buildvm_peobj.o \
382 host/buildvm_lib.o host/buildvm_fold.o
383BUILDVM_T= host/buildvm
384BUILDVM_X= $(BUILDVM_T)
385
386HOST_O= $(MINILUA_O) $(BUILDVM_O)
387HOST_T= $(MINILUA_T) $(BUILDVM_T)
378 388
379LJVM_S= lj_vm.s 389LJVM_S= lj_vm.s
380LJVM_O= lj_vm.o 390LJVM_O= lj_vm.o
@@ -409,13 +419,12 @@ LUAJIT_A= libluajit.a
409LUAJIT_SO= libluajit.so 419LUAJIT_SO= libluajit.so
410LUAJIT_T= luajit 420LUAJIT_T= luajit
411 421
412ALL_T= $(LUAJIT_T) $(LUAJIT_A) $(LUAJIT_SO) $(BUILDVM_T) 422ALL_T= $(LUAJIT_T) $(LUAJIT_A) $(LUAJIT_SO) $(HOST_T)
413ALL_HDRGEN= lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h 423ALL_HDRGEN= lj_bcdef.h lj_ffdef.h lj_libdef.h lj_recdef.h lj_folddef.h \
424 host/buildvm_arch.h
414ALL_GEN= $(LJVM_S) $(ALL_HDRGEN) $(LIB_VMDEFP) 425ALL_GEN= $(LJVM_S) $(ALL_HDRGEN) $(LIB_VMDEFP)
415ALL_DYNGEN= buildvm_x86.h buildvm_x64.h buildvm_x64win.h buildvm_arm.h \
416 buildvm_ppc.h buildvm_ppcspe.h buildvm_mips.h
417WIN_RM= *.obj *.lib *.exp *.dll *.exe *.manifest *.pdb *.ilk 426WIN_RM= *.obj *.lib *.exp *.dll *.exe *.manifest *.pdb *.ilk
418ALL_RM= $(ALL_T) $(ALL_GEN) *.o $(WIN_RM) 427ALL_RM= $(ALL_T) $(ALL_GEN) *.o host/*.o $(WIN_RM)
419 428
420############################################################################## 429##############################################################################
421# Build mode handling. 430# Build mode handling.
@@ -427,8 +436,11 @@ TARGET_T= $(LUAJIT_T) $(LUAJIT_SO)
427TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO) 436TARGET_DEP= $(LIB_VMDEF) $(LUAJIT_SO)
428 437
429ifeq (Windows,$(HOST_SYS)) 438ifeq (Windows,$(HOST_SYS))
430 BUILDVM_T= buildvm.exe 439 MINILUA_T= host/minilua.exe
431 LIB_VMDEFP= $(subst /,\\,$(LIB_VMDEF)) 440 MINILUA_X= host\minilua
441 BUILDVM_T= host/buildvm.exe
442 BUILDVM_X= host\buildvm
443 ALL_RM:= $(subst /,\,$(ALL_RM))
432endif 444endif
433ifeq (Windows,$(TARGET_SYS)) 445ifeq (Windows,$(TARGET_SYS))
434 TARGET_DYNCC= $(STATIC_CC) 446 TARGET_DYNCC= $(STATIC_CC)
@@ -495,68 +507,39 @@ amalg:
495clean: 507clean:
496 $(HOST_RM) $(ALL_RM) 508 $(HOST_RM) $(ALL_RM)
497 509
498cleaner: 510# Temporary rule for migration from old file layout.
499 $(HOST_RM) $(ALL_RM) $(ALL_DYNGEN) 511cleaner: clean
500 512 $(HOST_RM) buildvm*
501distclean: clean
502 $(E) "DYNASM $@"
503 $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_X86) -o buildvm_x86.h buildvm_x86.dasc
504 $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_X64) -o buildvm_x64.h buildvm_x86.dasc
505 $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_X64WIN) -o buildvm_x64win.h buildvm_x86.dasc
506 $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_ARM) -o buildvm_arm.h buildvm_arm.dasc
507 $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_PPC) -o buildvm_ppc.h buildvm_ppc.dasc
508 $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_PPCSPE) -o buildvm_ppcspe.h buildvm_ppcspe.dasc
509 $(Q)$(DASM) $(DASM_DISTFLAGS) $(DASM_FLAGS_MIPS) -o buildvm_mips.h buildvm_mips.dasc
510 513
511depend: 514depend:
512 @for file in $(ALL_HDRGEN) $(ALL_DYNGEN); do \ 515 @for file in $(ALL_HDRGEN); do \
513 test -f $$file || touch $$file; \ 516 test -f $$file || touch $$file; \
514 done 517 done
515 @$(HOST_CC) $(HOST_ACFLAGS) -MM *.c | \ 518 @$(HOST_CC) $(HOST_ACFLAGS) -MM *.c host/*.c | \
516 sed -e "s| [^ ]*/dasm_\S*\.h||g" \ 519 sed -e "s| [^ ]*/dasm_\S*\.h||g" \
517 -e "s| buildvm_\S*\.h||g" \ 520 -e "s|^\([^l ]\)|host/\1|" \
518 -e "s| lj_target_\S*\.h| lj_target_*.h|g" \ 521 -e "s| lj_target_\S*\.h| lj_target_*.h|g" \
519 -e "s| lj_emit_\S*\.h| lj_emit_*.h|g" \ 522 -e "s| lj_emit_\S*\.h| lj_emit_*.h|g" \
520 -e "s| lj_asm_\S*\.h| lj_asm_*.h|g" >Makefile.dep 523 -e "s| lj_asm_\S*\.h| lj_asm_*.h|g" >Makefile.dep
521 @for file in $(ALL_HDRGEN) $(ALL_DYNGEN); do \ 524 @for file in $(ALL_HDRGEN); do \
522 test -s $$file || $(HOST_RM) $$file; \ 525 test -s $$file || $(HOST_RM) $$file; \
523 done 526 done
524 527
525.PHONY: default all amalg clean cleaner distclean depend 528.PHONY: default all amalg clean cleaner depend
526 529
527############################################################################## 530##############################################################################
528# Rules for generated files. 531# Rules for generated files.
529############################################################################## 532##############################################################################
530 533
531buildvm_x86.h: buildvm_x86.dasc 534$(MINILUA_T): $(MINILUA_O)
532 $(E) "DYNASM $@" 535 $(E) "HOSTLINK $@"
533 $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_X86) -o $@ buildvm_x86.dasc 536 $(Q)$(HOST_CC) $(HOST_ALDFLAGS) -o $@ $(MINILUA_O) $(MINILUA_LIBS) $(HOST_ALIBS)
534
535buildvm_x64.h: buildvm_x86.dasc
536 $(E) "DYNASM $@"
537 $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_X64) -o $@ buildvm_x86.dasc
538
539buildvm_x64win.h: buildvm_x86.dasc
540 $(E) "DYNASM $@"
541 $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_X64WIN) -o $@ buildvm_x86.dasc
542
543buildvm_arm.h: buildvm_arm.dasc
544 $(E) "DYNASM $@"
545 $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_ARM) -o $@ buildvm_arm.dasc
546
547buildvm_ppc.h: buildvm_ppc.dasc
548 $(E) "DYNASM $@"
549 $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_PPC) -o $@ buildvm_ppc.dasc
550
551buildvm_ppcspe.h: buildvm_ppcspe.dasc
552 $(E) "DYNASM $@"
553 $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_PPCSPE) -o $@ buildvm_ppcspe.dasc
554 537
555buildvm_mips.h: buildvm_mips.dasc 538host/buildvm_arch.h: $(DASM_DASC) $(DASM_DEP)
556 $(E) "DYNASM $@" 539 $(E) "DYNASM $@"
557 $(Q)$(DASM) $(DASM_FLAGS) $(DASM_FLAGS_MIPS) -o $@ buildvm_mips.dasc 540 $(Q)$(DASM) $(DASM_FLAGS) -o $@ $(DASM_DASC)
558 541
559buildvm.o: $(ALL_DYNGEN) $(DASM_DIR)/dasm_*.h 542host/buildvm.o: $(DASM_DIR)/dasm_*.h
560 543
561$(BUILDVM_T): $(BUILDVM_O) 544$(BUILDVM_T): $(BUILDVM_O)
562 $(E) "HOSTLINK $@" 545 $(E) "HOSTLINK $@"
diff --git a/src/Makefile.dep b/src/Makefile.dep
index 82cdc0d7..ff4492fb 100644
--- a/src/Makefile.dep
+++ b/src/Makefile.dep
@@ -1,15 +1,3 @@
1buildvm.o: buildvm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \
2 lj_obj.h lj_gc.h lj_bc.h lj_ir.h lj_ircall.h lj_jit.h lj_frame.h \
3 lj_dispatch.h lj_ctype.h lj_ccall.h luajit.h \
4 lj_traceerr.h
5buildvm_asm.o: buildvm_asm.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \
6 lj_bc.h
7buildvm_fold.o: buildvm_fold.c buildvm.h lj_def.h lua.h luaconf.h \
8 lj_arch.h lj_obj.h lj_ir.h
9buildvm_lib.o: buildvm_lib.c buildvm.h lj_def.h lua.h luaconf.h lj_arch.h \
10 lj_obj.h lj_lib.h
11buildvm_peobj.o: buildvm_peobj.c buildvm.h lj_def.h lua.h luaconf.h \
12 lj_arch.h lj_bc.h
13lib_aux.o: lib_aux.c lua.h luaconf.h lauxlib.h lj_obj.h lj_def.h \ 1lib_aux.o: lib_aux.c lua.h luaconf.h lauxlib.h lj_obj.h lj_def.h \
14 lj_arch.h lj_err.h lj_errmsg.h lj_state.h lj_lib.h lj_alloc.h 2 lj_arch.h lj_err.h lj_errmsg.h lj_state.h lj_lib.h lj_alloc.h
15lib_base.o: lib_base.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \ 3lib_base.o: lib_base.c lua.h luaconf.h lauxlib.h lualib.h lj_obj.h \
@@ -207,3 +195,17 @@ ljamalg.o: ljamalg.c lua.h luaconf.h lauxlib.h lj_gc.c lj_obj.h lj_def.h \
207 lj_libdef.h lib_math.c lib_string.c lib_table.c lib_io.c lib_os.c \ 195 lj_libdef.h lib_math.c lib_string.c lib_table.c lib_io.c lib_os.c \
208 lib_package.c lib_debug.c lib_bit.c lib_jit.c lib_ffi.c lib_init.c 196 lib_package.c lib_debug.c lib_bit.c lib_jit.c lib_ffi.c lib_init.c
209luajit.o: luajit.c lua.h luaconf.h lauxlib.h lualib.h luajit.h lj_arch.h 197luajit.o: luajit.c lua.h luaconf.h lauxlib.h lualib.h luajit.h lj_arch.h
198host/buildvm.o: host/buildvm.c host/buildvm.h lj_def.h lua.h luaconf.h \
199 lj_arch.h lj_obj.h lj_def.h lj_arch.h lj_gc.h lj_obj.h lj_bc.h lj_ir.h \
200 lj_ircall.h lj_ir.h lj_jit.h lj_frame.h lj_bc.h lj_dispatch.h lj_ctype.h \
201 lj_gc.h lj_ccall.h lj_ctype.h luajit.h \
202 host/buildvm_arch.h lj_traceerr.h
203host/buildvm_asm.o: host/buildvm_asm.c host/buildvm.h lj_def.h lua.h luaconf.h \
204 lj_arch.h lj_bc.h lj_def.h lj_arch.h
205host/buildvm_fold.o: host/buildvm_fold.c host/buildvm.h lj_def.h lua.h \
206 luaconf.h lj_arch.h lj_obj.h lj_def.h lj_arch.h lj_ir.h lj_obj.h
207host/buildvm_lib.o: host/buildvm_lib.c host/buildvm.h lj_def.h lua.h luaconf.h \
208 lj_arch.h lj_obj.h lj_def.h lj_arch.h lj_lib.h lj_obj.h
209host/buildvm_peobj.o: host/buildvm_peobj.c host/buildvm.h lj_def.h lua.h \
210 luaconf.h lj_arch.h lj_bc.h lj_def.h lj_arch.h
211host/minilua.o: host/minilua.c
diff --git a/src/buildvm_arm.h b/src/buildvm_arm.h
deleted file mode 100644
index bccefa57..00000000
--- a/src/buildvm_arm.h
+++ /dev/null
@@ -1,7494 +0,0 @@
1/*
2** This file has been pre-processed with DynASM.
3** http://luajit.org/dynasm.html
4** DynASM version 1.3.0, DynASM arm version 1.3.0
5** DO NOT EDIT! The original file is in "buildvm_arm.dasc".
6*/
7
8#if DASM_VERSION != 10300
9#error "Version mismatch between DynASM and included encoding engine"
10#endif
11
12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2
15static const unsigned int build_actionlist[5784] = {
160x00010001,
170x00060014,
180xe3160000,
190x000a0000,
200x0a000000,
210x00050015,
220xe51c6004,
230xe3e01000,
240x000a0000,
250xe1a0900c,
260xe50a1004,
270xe24aa008,
280x00060016,
290xe28bb008,
300xe2160000,
310x000a0000,
320xe58db004,
330x0a000000,
340x00050017,
350x00060018,
360xe3c6c000,
370x000a0000,
380xe3500000,
390x000a0000,
400xe049c00c,
410x1a000000,
420x00050014,
430xe508c000,
440x000d8180,
450xe59d5014,
460xe3e03000,
470x000a0000,
480xe2499008,
490xe25b2008,
500xe1a05185,
510xe5073000,
520x000d8180,
530x0a000000,
540x00050002,
550x0006000b,
560xe2522008,
570xe0ca00d8,
580xe0c900f8,
590x1a000000,
600x0005000b,
610x0006000c,
620xe155000b,
630x1a000000,
640x00050006,
650x0006000d,
660xe5089000,
670x000d8180,
680x00060019,
690x00000000,
700xe59db010,
710xe3a00000,
720xe508b000,
730x000d8180,
740x0006001a,
750xe28dd01c,
760xe8bd8ff0,
770x00060010,
780xba000000,
790x00050007,
800xe5182000,
810x000d8180,
820xe3e01000,
830x000a0000,
840xe1590002,
850x2a000000,
860x00050008,
870xe5891004,
880xe28bb008,
890xe2899008,
900xea000000,
910x0005000c,
920x00060011,
930xe04b0005,
940xe3550000,
950x10499000,
960xea000000,
970x0005000d,
980x00060012,
990xe5089000,
1000x000d8180,
1010xe1a01005,
1020xe1a00008,
1030xeb000000,
1040x00030000,
1050xe5189000,
1060x000d8180,
1070xea000000,
1080x0005000c,
1090x0006001b,
1100xe1a0d000,
1110xe1a00001,
1120x0006001c,
1130xe59d800c,
1140xe3e03000,
1150x000a0000,
1160xe5182000,
1170x000d8180,
1180xe5023000,
1190x000d8180,
1200xea000000,
1210x0005001a,
1220x0006001d,
1230x00000000,
1240xe3c00000,
1250x000a0000,
1260xe1a0d000,
1270x0006001e,
1280xe59d800c,
1290xe3a040ff,
1300xe3a0b010,
1310xe1a04184,
1320xe5189000,
1330x000d8180,
1340xe5187000,
1350x000d8180,
1360xe3e00000,
1370x000a0000,
1380xe249a008,
1390xe5196004,
1400xe2877000,
1410x000a0000,
1420xe3e01000,
1430x000a0000,
1440xe5090004,
1450xe5071000,
1460x000d8180,
1470xea000000,
1480x00050016,
1490x0006001f,
1500xe3a01000,
1510x000a0000,
1520xea000000,
1530x00050002,
1540x00060020,
1550xe089b00b,
1560xe04aa009,
1570xe1a00008,
1580xe5089000,
1590x000d8180,
1600xe2866004,
1610xe508b000,
1620x000d8180,
1630xe1a021aa,
1640x0006000c,
1650xe58d6008,
1660xeb000000,
1670x00030000,
1680xe5189000,
1690x000d8180,
1700xe518b000,
1710x000d8180,
1720xe5192008,
1730xe04bb009,
1740xe5126000,
1750x000d8180,
1760xe5d6c000,
1770xe496e004,
1780xe797c10c,
1790xe004a2ae,
1800xe08aa009,
1810xe12fff1c,
1820x00060021,
1830xe92d4ff0,
1840xe24dd01c,
1850xe1a08000,
1860xe5107000,
1870x000d8180,
1880x00000000,
1890xe1a09001,
1900xe2877000,
1910x000a0000,
1920xe58d800c,
1930xe3a06000,
1940x000a0000,
1950xe58d2014,
1960xe28d1000,
1970x000a0000,
1980xe5580000,
1990x000d8180,
2000xe58d2018,
2010xe5081000,
2020x000d8180,
2030xe58d2010,
2040xe3500000,
2050xe58d8008,
2060x0a000000,
2070x00050003,
2080xe1a0a009,
2090xe5189000,
2100x000d8180,
2110xe5180000,
2120x000d8180,
2130xe3a040ff,
2140xe5482000,
2150x000d8180,
2160xe040b009,
2170xe5196004,
2180xe1a04184,
2190xe3e01000,
2200x000a0000,
2210xe28bb008,
2220xe2160000,
2230x000a0000,
2240xe5071000,
2250x000d8180,
2260xe58db004,
2270x0a000000,
2280x00050017,
2290xea000000,
2300x00050018,
2310x00060022,
2320xe92d4ff0,
2330xe24dd01c,
2340xe3a06000,
2350x000a0000,
2360xe58d3018,
2370xea000000,
2380x00050001,
2390x00060023,
2400xe92d4ff0,
2410xe24dd01c,
2420xe3a06000,
2430x000a0000,
2440x0006000b,
2450xe510b000,
2460x000d8180,
2470xe58d2014,
2480xe1a08000,
2490xe58d000c,
2500xe1a09001,
2510xe508d000,
2520x000d8180,
2530x00000000,
2540xe5187000,
2550x000d8180,
2560xe58d0008,
2570xe58db010,
2580xe2877000,
2590x000a0000,
2600x0006000d,
2610xe518c000,
2620x000d8180,
2630xe5180000,
2640x000d8180,
2650xe3a040ff,
2660xe0866009,
2670xe1a04184,
2680xe046600c,
2690xe3e01000,
2700x000a0000,
2710xe040b009,
2720xe5071000,
2730x000d8180,
2740x00060024,
2750xe14920d8,
2760xe3730000,
2770x000a0000,
2780x1a000000,
2790x00050025,
2800x00060026,
2810xe5096004,
2820xe5126000,
2830x000d8180,
2840xe5d6c000,
2850xe496e004,
2860xe797c10c,
2870xe004a2ae,
2880xe08aa009,
2890xe12fff1c,
2900x00060027,
2910xe92d4ff0,
2920xe24dd01c,
2930xe1a08000,
2940xe510a000,
2950x000d8180,
2960xe58d000c,
2970xe518c000,
2980x000d8180,
2990xe58d0008,
3000xe518b000,
3010x000d8180,
3020xe04aa00c,
3030xe508d000,
3040x000d8180,
3050xe3a0c000,
3060xe58da014,
3070xe58dc018,
3080xe58db010,
3090xe12fff33,
3100xe5187000,
3110x000d8180,
3120xe1b09000,
3130xe3a06000,
3140x000a0000,
3150xe2877000,
3160x000a0000,
3170x1a000000,
3180x0005000d,
3190xea000000,
3200x00050019,
3210x00060015,
3220x00000000,
3230xe51c2008,
3240xe5190010,
3250xe1a03009,
3260xe1a0900c,
3270x00000000,
3280xe3500001,
3290x00000000,
3300xe513600c,
3310xe5122000,
3320x000d8180,
3330xe3e0e000,
3340x000a0000,
3350xe08a100b,
3360xe501e004,
3370x00000000,
3380x9a000000,
3390x00050001,
3400x00000000,
3410xe5125000,
3420x000d8180,
3430xe12fff10,
3440x00000000,
3450x0006000b,
3460x0a000000,
3470x00050028,
3480xe5192008,
3490xe2433010,
3500xe043b009,
3510xea000000,
3520x00050029,
3530x00000000,
3540x0006002a,
3550xe516e004,
3560xe2431010,
3570xe1ca20d0,
3580xe5089000,
3590x000d8180,
3600xe004baae,
3610xe004a2ae,
3620xe089000b,
3630xe0510000,
3640x11c120f0,
3650x11a02000,
3660x1a000000,
3670x0005002b,
3680xe18920fa,
3690xea000000,
3700x0005002c,
3710x0006002d,
3720xe089100c,
3730xea000000,
3740x00050002,
3750x0006002e,
3760xe2471000,
3770x000a0000,
3780xe3e03000,
3790x000a0000,
3800xe581c000,
3810xe5813004,
3820x0006000c,
3830xe3e03000,
3840x000a0000,
3850xe58db000,
3860xe58d3004,
3870xe1a0200d,
3880xea000000,
3890x00050001,
3900x0006002f,
3910xe004caae,
3920xe58db000,
3930xe3e03000,
3940x000a0000,
3950xe089100c,
3960xe58d3004,
3970xe1a0200d,
3980xea000000,
3990x00050001,
4000x00060030,
4010xe089100c,
4020xe089200b,
4030x0006000b,
4040xe5089000,
4050x000d8180,
4060xe1a00008,
4070xe58d6008,
4080xeb000000,
4090x00030001,
4100x00000000,
4110xe5189000,
4120x000d8180,
4130x00000000,
4140xe3500000,
4150x0a000000,
4160x00050003,
4170xe1c020d0,
4180xe5d6c000,
4190xe496e004,
4200xe18920fa,
4210xe797c10c,
4220xe004a2ae,
4230xe1a0b82e,
4240xe12fff1c,
4250x0006000d,
4260xe2690000,
4270x000a0000,
4280xe5189000,
4290x000d8180,
4300xe3a0b010,
4310xe509600c,
4320xe0806009,
4330xe5192008,
4340xea000000,
4350x00050026,
4360x00060031,
4370xe089100c,
4380xea000000,
4390x00050002,
4400x00060032,
4410xe2471000,
4420x000a0000,
4430xe3e03000,
4440x000a0000,
4450xe581c000,
4460xe5813004,
4470x0006000c,
4480xe3e03000,
4490x000a0000,
4500xe58db000,
4510xe58d3004,
4520xe1a0200d,
4530xea000000,
4540x00050001,
4550x00060033,
4560xe004caae,
4570xe58db000,
4580xe3e03000,
4590x000a0000,
4600xe089100c,
4610xe58d3004,
4620xe1a0200d,
4630xea000000,
4640x00050001,
4650x00060034,
4660xe089100c,
4670xe089200b,
4680x0006000b,
4690xe5089000,
4700x000d8180,
4710xe1a00008,
4720xe58d6008,
4730xeb000000,
4740x00030002,
4750x00000000,
4760xe5189000,
4770x000d8180,
4780x00000000,
4790xe3500000,
4800xe18920da,
4810x0a000000,
4820x00050003,
4830xe5d6c000,
4840xe1c020f0,
4850xe496e004,
4860xe797c10c,
4870xe004a2ae,
4880xe1a0b82e,
4890xe12fff1c,
4900x0006000d,
4910xe2690000,
4920x000a0000,
4930xe5189000,
4940x000d8180,
4950xe3a0b018,
4960xe1c921f0,
4970xe509600c,
4980xe0806009,
4990xe5192008,
5000xea000000,
5010x00050026,
5020x00060035,
5030xe1a00008,
5040xe2466004,
5050xe1a0100a,
5060xe5089000,
5070x000d8180,
5080xe1a0200b,
5090xe58d6008,
5100xe20e30ff,
5110xeb000000,
5120x00030003,
5130x0006000d,
5140x00000000,
5150xe5189000,
5160x000d8180,
5170x00000000,
5180xe3500001,
5190x8a000000,
5200x00050036,
5210x0006000e,
5220xe1d6c0b2,
5230xe2866004,
5240xe086c10c,
5250x224c6b80,
5260x0006002c,
5270xe5d6c000,
5280xe496e004,
5290xe797c10c,
5300xe004a2ae,
5310xe1a0b82e,
5320xe12fff1c,
5330x00060037,
5340xe516e004,
5350xe1ca00d0,
5360xe00422ae,
5370xe18900f2,
5380xea000000,
5390x0005002c,
5400x00060038,
5410xe59a1004,
5420xe3e00000,
5430x000a0000,
5440xe1500001,
5450xea000000,
5460x0005000e,
5470x00060039,
5480xe59a1004,
5490xe3710000,
5500x000a0000,
5510xea000000,
5520x0005000e,
5530x0006003a,
5540xe2466004,
5550xe5089000,
5560x000d8180,
5570xe1a00008,
5580xe58d6008,
5590xeb000000,
5600x00030004,
5610xea000000,
5620x0005000d,
5630x0006003b,
5640x00000000,
5650xe2466004,
5660xe5089000,
5670x000d8180,
5680xe1a00008,
5690xe1a0100e,
5700xe58d6008,
5710xeb000000,
5720x00030005,
5730xea000000,
5740x0005000d,
5750x00000000,
5760x0006003c,
5770xe004caae,
5780xe004b6ae,
5790xe089200c,
5800xe085300b,
5810xea000000,
5820x00050001,
5830x0006003d,
5840xe004caae,
5850xe004b6ae,
5860xe089300c,
5870xe085200b,
5880xea000000,
5890x00050001,
5900x0006003e,
5910xe516e008,
5920xe2466004,
5930xe089200b,
5940xe089300b,
5950xea000000,
5960x00050001,
5970x0006003f,
5980xe004caae,
5990xe004b6ae,
6000xe089200c,
6010xe089300b,
6020x0006000b,
6030xe20ec0ff,
6040xe089100a,
6050xe5089000,
6060x000d8180,
6070xe1a00008,
6080xe58d6008,
6090xe58dc000,
6100xeb000000,
6110x00030006,
6120x00000000,
6130xe5189000,
6140x000d8180,
6150x00000000,
6160xe3500000,
6170x0a000000,
6180x0005002c,
6190x00060036,
6200xe0401009,
6210xe500600c,
6220xe2816000,
6230x000a0000,
6240xe1a09000,
6250xe3a0b010,
6260xea000000,
6270x00050024,
6280x00060040,
6290xe089100b,
6300xe5089000,
6310x000d8180,
6320xe1a00008,
6330xe58d6008,
6340xeb000000,
6350x00030007,
6360x00000000,
6370xe5189000,
6380x000d8180,
6390x00000000,
6400xe3500000,
6410x1a000000,
6420x00050036,
6430xe799000b,
6440xea000000,
6450x00050041,
6460x00000000,
6470xea000000,
6480x00050036,
6490x00000000,
6500x00060025,
6510xe1a00008,
6520xe508c000,
6530x000d8180,
6540xe2491008,
6550xe58d6008,
6560xe089200b,
6570x00000000,
6580xe1a0a009,
6590x00000000,
6600xeb000000,
6610x00030008,
6620x00000000,
6630xe1a0900a,
6640x00000000,
6650xe5192008,
6660xe28bb008,
6670xe5096004,
6680xe5126000,
6690x000d8180,
6700xe5d6c000,
6710xe496e004,
6720xe797c10c,
6730xe004a2ae,
6740xe08aa009,
6750xe12fff1c,
6760x00060042,
6770xe1a00008,
6780xe5089000,
6790x000d8180,
6800xe24a1008,
6810xe58d6008,
6820xe08a200b,
6830xeb000000,
6840x00030008,
6850x00000000,
6860xe5189000,
6870x000d8180,
6880x00000000,
6890xe51a2008,
6900xe5196004,
6910xe28bb008,
6920xea000000,
6930x00050043,
6940x00060044,
6950xe1a00008,
6960xe5089000,
6970x000d8180,
6980xe1a0100a,
6990xe58d6008,
7000xeb000000,
7010x00030009,
7020x00000000,
7030xe5189000,
7040x000d8180,
7050x00000000,
7060xe556c004,
7070x00000000,
7080xe516e004,
7090x00000000,
7100xe35c0000,
7110x000a0000,
7120x00000000,
7130xe004a2ae,
7140xe1a0b82e,
7150x00000000,
7160x0a000000,
7170x00070000,
7180x00000000,
7190xea000000,
7200x00070000,
7210x00060045,
7220xe1c900d0,
7230xe35b0008,
7240x3a000000,
7250x00050046,
7260xe3710000,
7270x000a0000,
7280x8a000000,
7290x00050046,
7300xe5196004,
7310xe14900f8,
7320xe1a0c009,
7330xe25ba008,
7340xe28bb008,
7350x0a000000,
7360x00050047,
7370x0006000b,
7380xe1cc00d8,
7390xe25aa008,
7400xe0cc00f8,
7410x1a000000,
7420x0005000b,
7430xea000000,
7440x00050047,
7450x00060048,
7460xe5991004,
7470xe35b0008,
7480x3a000000,
7490x00050046,
7500xe3710000,
7510x000a0000,
7520x33e01000,
7530x000a0000,
7540xe2613000,
7550x000a0000,
7560xe1a03183,
7570xe18200d3,
7580xea000000,
7590x00050049,
7600x0006004a,
7610xe1c900d0,
7620xe35b0008,
7630x3a000000,
7640x00050046,
7650xe3710000,
7660x000a0000,
7670x13710000,
7680x000a0000,
7690x1a000000,
7700x00050006,
7710x0006000b,
7720xe510c000,
7730x000d8180,
7740x0006000c,
7750x00000000,
7760xe3e01000,
7770x000a0000,
7780xe517b000,
7790x000d8180,
7800xe35c0000,
7810x0a000000,
7820x00050049,
7830xe51c2000,
7840x000d8180,
7850xe51b3000,
7860x000d8180,
7870xe51ce000,
7880x000d8180,
7890xe0022003,
7900xe0822082,
7910xe08ee182,
7920x0006000d,
7930xe14e20d0,
7940x000c8100,
7950xe14e00d0,
7960x000c8100,
7970xe51ee000,
7980x000d8180,
7990xe3730000,
8000x000a0000,
8010x0152000b,
8020x0a000000,
8030x00050005,
8040xe35e0000,
8050x1a000000,
8060x0005000d,
8070x0006000e,
8080xe1a0000c,
8090xe3e01000,
8100x000a0000,
8110xea000000,
8120x00050049,
8130x0006000f,
8140xe3710000,
8150x000a0000,
8160x1a000000,
8170x00050049,
8180xea000000,
8190x0005000e,
8200x00060010,
8210xe3710000,
8220x000a0000,
8230x00000000,
8240x21e01001,
8250x33a01000,
8260x000a0000,
8270xe0873101,
8280xe513c000,
8290x000d8180,
8300xea000000,
8310x0005000c,
8320x0006004b,
8330xe1c900d0,
8340xe1c920d8,
8350xe35b0010,
8360x3a000000,
8370x00050046,
8380xe3710000,
8390x000a0000,
8400x0510c000,
8410x000d8180,
8420x03730000,
8430x000a0000,
8440x05503000,
8450x000d8180,
8460x035c0000,
8470x1a000000,
8480x00050046,
8490xe3130000,
8500x000a0000,
8510xe5002000,
8520x000d8180,
8530x0a000000,
8540x00050049,
8550xe5172000,
8560x000d8180,
8570xe3c33000,
8580x000a0000,
8590xe5070000,
8600x000d8180,
8610xe5403000,
8620x000d8180,
8630xe5002000,
8640x000d8180,
8650xea000000,
8660x00050049,
8670x0006004c,
8680xe1c920d0,
8690xe35b0010,
8700x3a000000,
8710x00050046,
8720xe1a01002,
8730xe3730000,
8740x000a0000,
8750x00000000,
8760x1a000000,
8770x00050046,
8780xe1a00008,
8790xe2892008,
8800x00000000,
8810xe1a0a009,
8820x00000000,
8830xeb000000,
8840x0003000a,
8850x00000000,
8860xe1a0900a,
8870x00000000,
8880xe1c000d0,
8890xea000000,
8900x00050049,
8910x0006004d,
8920xe1c900d0,
8930xe35b0008,
8940x1a000000,
8950x00050046,
8960xe3710000,
8970x000a0000,
8980x9a000000,
8990x00050049,
9000xea000000,
9010x00050046,
9020x0006004e,
9030xe1c900d0,
9040xe35b0008,
9050x3a000000,
9060x00050046,
9070xe3710000,
9080x000a0000,
9090x0a000000,
9100x00050049,
9110xe5173000,
9120x000d8180,
9130xe5089000,
9140x000d8180,
9150xe3710000,
9160x000a0000,
9170x93530000,
9180xe58d6008,
9190x8a000000,
9200x00050046,
9210xe5170000,
9220x000d8180,
9230xe5171000,
9240x000d8180,
9250xe1500001,
9260xab000000,
9270x0005004f,
9280xe1a00008,
9290xe1a01009,
9300xeb000000,
9310x0003000b,
9320xe5189000,
9330x000d8180,
9340xe3e01000,
9350x000a0000,
9360xea000000,
9370x00050049,
9380x00060050,
9390x00000000,
9400xe1c900d0,
9410xe35b0008,
9420x3a000000,
9430x00050046,
9440xe3e03000,
9450x000a0000,
9460xe3710000,
9470x000a0000,
9480x1a000000,
9490x00050046,
9500xe18920fb,
9510xe5196004,
9520xe1a01000,
9530xe5089000,
9540x000d8180,
9550xe1a00008,
9560xe5089000,
9570x000d8180,
9580xe2892008,
9590xe58d6008,
9600xeb000000,
9610x0003000c,
9620x00000000,
9630xe5189000,
9640x000d8180,
9650x00000000,
9660xe3500000,
9670x03e01000,
9680x000a0000,
9690x0a000000,
9700x00050049,
9710xe1c900d8,
9720xe1c921d0,
9730xe3a0b000,
9740x000a0000,
9750xe14900f8,
9760xe1c920f0,
9770xea000000,
9780x00050047,
9790x00060051,
9800xe1c900d0,
9810xe35b0008,
9820x3a000000,
9830x00050046,
9840xe3710000,
9850x000a0000,
9860x1a000000,
9870x00050046,
9880x00000000,
9890xe510c000,
9900x000d8180,
9910x00000000,
9920xe14220d0,
9930x000c8100,
9940xe5196004,
9950x00000000,
9960xe35c0000,
9970x1a000000,
9980x00050046,
9990x00000000,
10000xe3e01000,
10010x000a0000,
10020xe3a0b000,
10030x000a0000,
10040xe14920f8,
10050xe589100c,
10060xea000000,
10070x00050047,
10080x00060052,
10090xe1c900d0,
10100xe1c920d8,
10110xe35b0010,
10120x3a000000,
10130x00050046,
10140xe3710000,
10150x000a0000,
10160x03730000,
10170x000a0000,
10180x1a000000,
10190x00050046,
10200xe510c000,
10210x000d8180,
10220xe510b000,
10230x000d8180,
10240xe2822001,
10250xe5196004,
10260xe152000c,
10270xe08bb182,
10280xe14920f8,
10290x31cb00d0,
10300xe3a0b000,
10310x000a0000,
10320x2a000000,
10330x00050002,
10340x0006000b,
10350xe3710000,
10360x000a0000,
10370x13a0b000,
10380x000a0000,
10390x11c900f0,
10400xea000000,
10410x00050047,
10420x0006000c,
10430xe510c000,
10440x000d8180,
10450xe1a01002,
10460xe35c0000,
10470x0a000000,
10480x00050047,
10490x00000000,
10500xe1a0a009,
10510x00000000,
10520xeb000000,
10530x0003000d,
10540x00000000,
10550xe1a0900a,
10560x00000000,
10570xe3500000,
10580x0a000000,
10590x00050047,
10600xe1c000d0,
10610xea000000,
10620x0005000b,
10630x00060053,
10640xe1c900d0,
10650xe35b0008,
10660x3a000000,
10670x00050046,
10680xe3710000,
10690x000a0000,
10700x1a000000,
10710x00050046,
10720x00000000,
10730xe510c000,
10740x000d8180,
10750x00000000,
10760xe14220d0,
10770x000c8100,
10780xe5196004,
10790x00000000,
10800xe35c0000,
10810x1a000000,
10820x00050046,
10830x00000000,
10840xe3a00000,
10850xe3e01000,
10860x000a0000,
10870xe3a0b000,
10880x000a0000,
10890xe14920f8,
10900xe1c900f8,
10910xea000000,
10920x00050047,
10930x00060054,
10940xe557a000,
10950x000d8180,
10960xe35b0008,
10970x3a000000,
10980x00050046,
10990xe31a0000,
11000x000a0000,
11010xe1a0c009,
11020xe2899008,
11030x03a06000,
11040x000a0000,
11050x13a06000,
11060x000a0000,
11070xe24bb008,
11080xea000000,
11090x00050024,
11100x00060055,
11110xe1c900d0,
11120xe1c920d8,
11130xe35b0010,
11140x3a000000,
11150x00050046,
11160xe557a000,
11170x000d8180,
11180xe3730000,
11190x000a0000,
11200x1a000000,
11210x00050046,
11220xe1a0c009,
11230xe1c900f8,
11240xe1c920f0,
11250xe31a0000,
11260x000a0000,
11270xe2899010,
11280x03a06000,
11290x000a0000,
11300x13a06000,
11310x000a0000,
11320xe24bb010,
11330xea000000,
11340x00050024,
11350x00060056,
11360xe1c900d0,
11370xe35b0008,
11380x3a000000,
11390x00050046,
11400xe3710000,
11410x000a0000,
11420x00000000,
11430x1a000000,
11440x00050046,
11450xe5196004,
11460xe5089000,
11470x000d8180,
11480xe5101000,
11490x000d8180,
11500xe550a000,
11510x000d8180,
11520xe510c000,
11530x000d8180,
11540xe081200b,
11550xe081300a,
11560xe58d6008,
11570xe153000c,
11580x0a000000,
11590x00050046,
11600xe5103000,
11610x000d8180,
11620xe510c000,
11630x000d8180,
11640xe35a0000,
11650x000a0000,
11660x91520003,
11670x935c0000,
11680x8a000000,
11690x00050046,
11700x0006000b,
11710xe2422008,
11720xe2899008,
11730xe24bb008,
11740xe5002000,
11750x000d8180,
11760xe5089000,
11770x000d8180,
11780x0006000c,
11790xe18920dc,
11800xe15c000b,
11810x118120fc,
11820xe28cc008,
11830x1a000000,
11840x0005000c,
11850xe3a02000,
11860xe1a0a000,
11870xe3a03000,
11880xeb000000,
11890x00050021,
11900x0006000e,
11910xe51a2000,
11920x000d8180,
11930xe3e01000,
11940x000a0000,
11950xe51a3000,
11960x000d8180,
11970xe5071000,
11980x000d8180,
11990xe3500000,
12000x000a0000,
12010x00000000,
12020xe5189000,
12030x000d8180,
12040x8a000000,
12050x00050008,
12060xe053b002,
12070xe5180000,
12080x000d8180,
12090xe089100b,
12100x0a000000,
12110x00050006,
12120xe1510000,
12130xe3a0c000,
12140x8a000000,
12150x00050009,
12160xe24b3008,
12170xe50a2000,
12180x000d8180,
12190x0006000f,
12200xe18200dc,
12210xe15c0003,
12220xe18900fc,
12230xe28cc008,
12240x1a000000,
12250x0005000f,
12260x00060010,
12270xe3e02000,
12280x000a0000,
12290xe28bb010,
12300x00060011,
12310xe5092004,
12320xe249a008,
12330xe2160000,
12340x000a0000,
12350xe58d6008,
12360xe58db004,
12370x0a000000,
12380x00050017,
12390xea000000,
12400x00050018,
12410x00060012,
12420xe16300d8,
12430xe3e02000,
12440x000a0000,
12450xe3a0b000,
12460x000a0000,
12470xe50a3000,
12480x000d8180,
12490xe1c900f0,
12500xea000000,
12510x00050011,
12520x00060013,
12530xe1a00008,
12540xe1a011ab,
12550xeb000000,
12560x00030000,
12570xe3a00000,
12580xea000000,
12590x0005000e,
12600x00060057,
12610x00000000,
12620xe5120000,
12630x000d8180,
12640xe5196004,
12650xe5089000,
12660x000d8180,
12670xe5101000,
12680x000d8180,
12690xe550a000,
12700x000d8180,
12710xe510c000,
12720x000d8180,
12730xe081200b,
12740xe081300a,
12750xe58d6008,
12760xe153000c,
12770x0a000000,
12780x00050046,
12790xe5103000,
12800x000d8180,
12810xe510c000,
12820x000d8180,
12830xe35a0000,
12840x000a0000,
12850x91520003,
12860x935c0000,
12870x8a000000,
12880x00050046,
12890x0006000b,
12900xe5002000,
12910x000d8180,
12920xe5089000,
12930x000d8180,
12940x0006000c,
12950xe18920dc,
12960xe15c000b,
12970x118120fc,
12980xe28cc008,
12990x1a000000,
13000x0005000c,
13010xe3a02000,
13020xe1a0a000,
13030xe3a03000,
13040xeb000000,
13050x00050021,
13060x0006000e,
13070xe51a2000,
13080x000d8180,
13090xe3e01000,
13100x000a0000,
13110xe51a3000,
13120x000d8180,
13130xe5071000,
13140x000d8180,
13150xe3500000,
13160x000a0000,
13170x00000000,
13180xe5189000,
13190x000d8180,
13200x8a000000,
13210x00050008,
13220xe053b002,
13230xe5180000,
13240x000d8180,
13250xe089100b,
13260x0a000000,
13270x00050006,
13280xe1510000,
13290xe3a0c000,
13300x8a000000,
13310x00050009,
13320xe24b3008,
13330xe50a2000,
13340x000d8180,
13350x0006000f,
13360xe18200dc,
13370xe15c0003,
13380xe18900fc,
13390xe28cc008,
13400x1a000000,
13410x0005000f,
13420x00060010,
13430xe1a0a009,
13440xe28bb008,
13450xe2160000,
13460x000a0000,
13470xe58d6008,
13480xe58db004,
13490x0a000000,
13500x00050017,
13510xea000000,
13520x00050018,
13530x00060012,
13540xe1a00008,
13550xe1a0100a,
13560xeb000000,
13570x0003000e,
13580x00060013,
13590xe1a00008,
13600xe1a011ab,
13610xeb000000,
13620x00030000,
13630xe3a00000,
13640xea000000,
13650x0005000e,
13660x00060058,
13670xe5180000,
13680x000d8180,
13690xe089100b,
13700xe5089000,
13710x000d8180,
13720xe3100000,
13730x000a0000,
13740xe5081000,
13750x000d8180,
13760x00000000,
13770xe3a00000,
13780x000a0000,
13790xe3a02000,
13800x0a000000,
13810x00050046,
13820xe5082000,
13830x000d8180,
13840xe5480000,
13850x000d8180,
13860xea000000,
13870x0005001a,
13880x00060059,
13890xe1c900d0,
13900xe35b0008,
13910x3a000000,
13920x00050046,
13930xe3710000,
13940x000a0000,
13950x0a000000,
13960x00050049,
13970x8a000000,
13980x00050046,
13990xe1a02081,
14000xe292c980,
14010x5a000000,
14020x00050002,
14030xe3e03ff8,
14040xe053cacc,
14050xe1a03581,
14060xe1a02580,
14070xe3833480,
14080xe26ce020,
14090xe1833aa0,
14100x9a000000,
14110x00050003,
14120xe1822e13,
14130xe1a00c33,
14140xe1120fc1,
14150x12800001,
14160xe3510000,
14170xb2600000,
14180x0006000b,
14190xe3e01000,
14200x000a0000,
14210xea000000,
14220x00050049,
14230x0006000c,
14240x2a000000,
14250x00050049,
14260xe1822000,
14270xe1120fc1,
14280x03a00000,
14290x13e00000,
14300xe3e01000,
14310x000a0000,
14320xea000000,
14330x00050049,
14340x0006000d,
14350x03530480,
14360x03520000,
14370x1a000000,
14380x00050004,
14390xe3510000,
14400x43a00480,
14410x4a000000,
14420x0005000b,
14430x0006000e,
14440x00000000,
14450xeb000000,
14460x0005005a,
14470xea000000,
14480x00050049,
14490x0006005b,
14500xe1c900d0,
14510xe35b0008,
14520x3a000000,
14530x00050046,
14540xe3710000,
14550x000a0000,
14560x0a000000,
14570x00050049,
14580x8a000000,
14590x00050046,
14600xe1a02081,
14610xe292c980,
14620x5a000000,
14630x00050002,
14640xe3e03ff8,
14650xe053cacc,
14660xe1a03581,
14670xe1a02580,
14680xe3833480,
14690xe26ce020,
14700xe1833aa0,
14710x9a000000,
14720x00050003,
14730xe1822e13,
14740xe1a00c33,
14750xe1d22fc1,
14760x12900001,
14770x614f00d0,
14780x00051809,
14790x6a000000,
14800x00050049,
14810xe3510000,
14820xb2600000,
14830x0006000b,
14840xe3e01000,
14850x000a0000,
14860xea000000,
14870x00050049,
14880x0006000c,
14890x2a000000,
14900x00050049,
14910xe1822000,
14920xe1d22fc1,
14930x03a00000,
14940x13a00001,
14950xe3e01000,
14960x000a0000,
14970xea000000,
14980x00050049,
14990x0006000d,
15000x03530480,
15010x1a000000,
15020x00050004,
15030xe3510000,
15040x43a00480,
15050x4a000000,
15060x0005000b,
15070x0006000e,
15080x00000000,
15090xeb000000,
15100x0005005c,
15110xea000000,
15120x00050049,
15130x00040007,
15140x00060013,
15150x00020000,
15160x00000000,
15170x41e00000,
15180x0006005d,
15190xe1c900d0,
15200xe35b0008,
15210x3a000000,
15220x00050046,
15230xe3710000,
15240x000a0000,
15250x8a000000,
15260x00050046,
15270x13c11480,
15280x1a000000,
15290x00050049,
15300xe3500000,
15310xb2700000,
15320x614f00d0,
15330x00051813,
15340x00060049,
15350xe5196004,
15360xe14900f8,
15370x0006005e,
15380xe3a0b000,
15390x000a0000,
15400x00060047,
15410xe2160000,
15420x000a0000,
15430x0516e004,
15440xe58db004,
15450xe249a008,
15460x1a000000,
15470x00050018,
15480xe004caae,
15490x0006000f,
15500xe15c000b,
15510x8a000000,
15520x00050006,
15530xe00402ae,
15540xe5d6c000,
15550xe496e004,
15560xe04a9000,
15570xe797c10c,
15580xe004a2ae,
15590xe1a0b82e,
15600xe12fff1c,
15610x00060010,
15620xe08a100b,
15630xe3e00000,
15640x000a0000,
15650xe28bb008,
15660xe5010004,
15670xea000000,
15680x0005000f,
15690x0006005f,
15700x00000000,
15710xe1c900d0,
15720xe35b0008,
15730x3a000000,
15740x00050046,
15750xe3710000,
15760x000a0000,
15770x2a000000,
15780x00050046,
15790x00000000,
15800xe1a0a009,
15810x00000000,
15820xeb000000,
15830x0003000f,
15840x00000000,
15850xe1a0900a,
15860x00000000,
15870xea000000,
15880x00050049,
15890x00060060,
15900xe1c900d0,
15910xe35b0008,
15920x3a000000,
15930x00050046,
15940xe3710000,
15950x000a0000,
15960x2a000000,
15970x00050046,
15980x00000000,
15990xe1a0a009,
16000x00000000,
16010xeb000000,
16020x00030010,
16030x00000000,
16040xe1a0900a,
16050x00000000,
16060xea000000,
16070x00050049,
16080x00060061,
16090xe1c900d0,
16100xe35b0008,
16110x3a000000,
16120x00050046,
16130xe3710000,
16140x000a0000,
16150x2a000000,
16160x00050046,
16170x00000000,
16180xe1a0a009,
16190x00000000,
16200xeb000000,
16210x00030011,
16220x00000000,
16230xe1a0900a,
16240x00000000,
16250xea000000,
16260x00050049,
16270x00060062,
16280xe1c900d0,
16290xe35b0008,
16300x3a000000,
16310x00050046,
16320xe3710000,
16330x000a0000,
16340x2a000000,
16350x00050046,
16360x00000000,
16370xe1a0a009,
16380x00000000,
16390xeb000000,
16400x00030012,
16410x00000000,
16420xe1a0900a,
16430x00000000,
16440xea000000,
16450x00050049,
16460x00060063,
16470xe1c900d0,
16480xe35b0008,
16490x3a000000,
16500x00050046,
16510xe3710000,
16520x000a0000,
16530x2a000000,
16540x00050046,
16550x00000000,
16560xe1a0a009,
16570x00000000,
16580xeb000000,
16590x00030013,
16600x00000000,
16610xe1a0900a,
16620x00000000,
16630xea000000,
16640x00050049,
16650x00060064,
16660xe1c900d0,
16670xe35b0008,
16680x3a000000,
16690x00050046,
16700xe3710000,
16710x000a0000,
16720x2a000000,
16730x00050046,
16740x00000000,
16750xe1a0a009,
16760x00000000,
16770xeb000000,
16780x00030014,
16790x00000000,
16800xe1a0900a,
16810x00000000,
16820xea000000,
16830x00050049,
16840x00060065,
16850xe1c900d0,
16860xe35b0008,
16870x3a000000,
16880x00050046,
16890xe3710000,
16900x000a0000,
16910x2a000000,
16920x00050046,
16930x00000000,
16940xe1a0a009,
16950x00000000,
16960xeb000000,
16970x00030015,
16980x00000000,
16990xe1a0900a,
17000x00000000,
17010xea000000,
17020x00050049,
17030x00060066,
17040xe1c900d0,
17050xe35b0008,
17060x3a000000,
17070x00050046,
17080xe3710000,
17090x000a0000,
17100x2a000000,
17110x00050046,
17120x00000000,
17130xe1a0a009,
17140x00000000,
17150xeb000000,
17160x00030016,
17170x00000000,
17180xe1a0900a,
17190x00000000,
17200xea000000,
17210x00050049,
17220x00060067,
17230xe1c900d0,
17240xe35b0008,
17250x3a000000,
17260x00050046,
17270xe3710000,
17280x000a0000,
17290x2a000000,
17300x00050046,
17310x00000000,
17320xe1a0a009,
17330x00000000,
17340xeb000000,
17350x00030017,
17360x00000000,
17370xe1a0900a,
17380x00000000,
17390xea000000,
17400x00050049,
17410x00060068,
17420xe1c900d0,
17430xe35b0008,
17440x3a000000,
17450x00050046,
17460xe3710000,
17470x000a0000,
17480x2a000000,
17490x00050046,
17500x00000000,
17510xe1a0a009,
17520x00000000,
17530xeb000000,
17540x00030018,
17550x00000000,
17560xe1a0900a,
17570x00000000,
17580xea000000,
17590x00050049,
17600x00060069,
17610xe1c900d0,
17620xe35b0008,
17630x3a000000,
17640x00050046,
17650xe3710000,
17660x000a0000,
17670x2a000000,
17680x00050046,
17690x00000000,
17700xe1a0a009,
17710x00000000,
17720xeb000000,
17730x00030019,
17740x00000000,
17750xe1a0900a,
17760x00000000,
17770xea000000,
17780x00050049,
17790x0006006a,
17800xe1c900d0,
17810xe35b0008,
17820x3a000000,
17830x00050046,
17840xe3710000,
17850x000a0000,
17860x2a000000,
17870x00050046,
17880x00000000,
17890xe1a0a009,
17900x00000000,
17910xeb000000,
17920x0003001a,
17930x00000000,
17940xe1a0900a,
17950x00000000,
17960xea000000,
17970x00050049,
17980x0006006b,
17990xe1c900d0,
18000xe35b0008,
18010x3a000000,
18020x00050046,
18030xe3710000,
18040x000a0000,
18050x2a000000,
18060x00050046,
18070x00000000,
18080xe1a0a009,
18090x00000000,
18100xeb000000,
18110x0003001b,
18120x00000000,
18130xe1a0900a,
18140x00000000,
18150xea000000,
18160x00050049,
18170x0006006c,
18180xe1c900d0,
18190xe1c920d8,
18200xe35b0010,
18210x3a000000,
18220x00050046,
18230xe3710000,
18240x000a0000,
18250x33730000,
18260x000a0000,
18270x2a000000,
18280x00050046,
18290x00000000,
18300xe1a0a009,
18310x00000000,
18320xeb000000,
18330x0003001c,
18340x00000000,
18350xe1a0900a,
18360x00000000,
18370xea000000,
18380x00050049,
18390x0006006d,
18400xe1c900d0,
18410xe1c920d8,
18420xe35b0010,
18430x3a000000,
18440x00050046,
18450xe3710000,
18460x000a0000,
18470x33730000,
18480x000a0000,
18490x2a000000,
18500x00050046,
18510x00000000,
18520xe1a0a009,
18530x00000000,
18540xeb000000,
18550x0003001d,
18560x00000000,
18570xe1a0900a,
18580x00000000,
18590xea000000,
18600x00050049,
18610x0006006e,
18620xe1c900d0,
18630xe1c920d8,
18640xe35b0010,
18650x3a000000,
18660x00050046,
18670xe3710000,
18680x000a0000,
18690x33730000,
18700x000a0000,
18710x2a000000,
18720x00050046,
18730x00000000,
18740xe1a0a009,
18750x00000000,
18760xeb000000,
18770x0003001e,
18780x00000000,
18790xe1a0900a,
18800x00000000,
18810xea000000,
18820x00050049,
18830x0006006f,
18840x00060070,
18850xe1c900d0,
18860xe35b0008,
18870x3a000000,
18880x00050046,
18890xe3710000,
18900x000a0000,
18910x2a000000,
18920x00050046,
18930xe14220d0,
18940x000c8100,
18950xeb000000,
18960x0003001f,
18970xea000000,
18980x00050049,
18990x00060071,
19000xe1c900d0,
19010xe1c920d8,
19020xe35b0010,
19030x3a000000,
19040x00050046,
19050xe3710000,
19060x000a0000,
19070x2a000000,
19080x00050046,
19090xe3730000,
19100x000a0000,
19110x1a000000,
19120x00050046,
19130x00000000,
19140xe1a0a009,
19150x00000000,
19160xeb000000,
19170x00030020,
19180x00000000,
19190xe1a0900a,
19200x00000000,
19210xea000000,
19220x00050049,
19230x00060072,
19240xe1c900d0,
19250xe35b0008,
19260x3a000000,
19270x00050046,
19280xe3710000,
19290x000a0000,
19300x2a000000,
19310x00050046,
19320xe1a0200d,
19330x00000000,
19340xe1a0a009,
19350x00000000,
19360xeb000000,
19370x00030021,
19380x00000000,
19390xe1a0900a,
19400x00000000,
19410xe59d2000,
19420xe3e03000,
19430x000a0000,
19440xe5196004,
19450xe14900f8,
19460xe3a0b000,
19470x000a0000,
19480xe1c920f0,
19490xea000000,
19500x00050047,
19510x00060073,
19520xe1c900d0,
19530xe35b0008,
19540x3a000000,
19550x00050046,
19560xe3710000,
19570x000a0000,
19580x2a000000,
19590x00050046,
19600xe2492008,
19610xe5196004,
19620x00000000,
19630xe1a0a009,
19640x00000000,
19650xeb000000,
19660x00030022,
19670x00000000,
19680xe1a0900a,
19690x00000000,
19700xe3a0b000,
19710x000a0000,
19720xe1c900f0,
19730xea000000,
19740x00050047,
19750x00060074,
19760xe1c900d0,
19770xe35b0008,
19780x3a000000,
19790x00050046,
19800xe3710000,
19810x000a0000,
19820xe3a0a008,
19830x1a000000,
19840x00050004,
19850x0006000b,
19860xe18920da,
19870xe15a000b,
19880x2a000000,
19890x00050049,
19900xe3730000,
19910x000a0000,
19920x1a000000,
19930x00050003,
19940xe1500002,
19950xe28aa008,
19960xc1a00002,
19970xea000000,
19980x0005000b,
19990x0006000d,
20000x8a000000,
20010x00050046,
20020xeb000000,
20030x00030023,
20040xe18920da,
20050xea000000,
20060x00050006,
20070x0006000e,
20080x8a000000,
20090x00050046,
20100x0006000f,
20110xe18920da,
20120xe15a000b,
20130x2a000000,
20140x00050049,
20150xe3730000,
20160x000a0000,
20170x2a000000,
20180x00050007,
20190x00060010,
20200x00000000,
20210xeb000000,
20220x00030024,
20230xe28aa008,
20240x81a00002,
20250x81a01003,
20260xea000000,
20270x0005000f,
20280x00060011,
20290x8a000000,
20300x00050046,
20310xe1cd00f0,
20320xe1a00002,
20330xeb000000,
20340x00030023,
20350xe1cd20d0,
20360xea000000,
20370x00050010,
20380x00060075,
20390xe1c900d0,
20400xe35b0008,
20410x3a000000,
20420x00050046,
20430xe3710000,
20440x000a0000,
20450xe3a0a008,
20460x1a000000,
20470x00050004,
20480x0006000b,
20490xe18920da,
20500xe15a000b,
20510x2a000000,
20520x00050049,
20530xe3730000,
20540x000a0000,
20550x1a000000,
20560x00050003,
20570xe1500002,
20580xe28aa008,
20590xb1a00002,
20600xea000000,
20610x0005000b,
20620x0006000d,
20630x8a000000,
20640x00050046,
20650xeb000000,
20660x00030023,
20670xe18920da,
20680xea000000,
20690x00050006,
20700x0006000e,
20710x8a000000,
20720x00050046,
20730x0006000f,
20740x00000000,
20750xe18920da,
20760xe15a000b,
20770x2a000000,
20780x00050049,
20790xe3730000,
20800x000a0000,
20810x2a000000,
20820x00050007,
20830x00060010,
20840xeb000000,
20850x00030024,
20860xe28aa008,
20870x31a00002,
20880x31a01003,
20890xea000000,
20900x0005000f,
20910x00060011,
20920x8a000000,
20930x00050046,
20940xe1cd00f0,
20950xe1a00002,
20960xeb000000,
20970x00030023,
20980xe1cd20d0,
20990xea000000,
21000x00050010,
21010x00060076,
21020xe1c900d0,
21030xe35b0008,
21040x3a000000,
21050x00050046,
21060xe3710000,
21070x000a0000,
21080x1a000000,
21090x00050046,
21100xe5100000,
21110x000d8180,
21120xe3e01000,
21130x000a0000,
21140xea000000,
21150x00050049,
21160x00060077,
21170xe1c900d0,
21180xe5196004,
21190xe35b0008,
21200x03710000,
21210x000a0000,
21220x1a000000,
21230x00050046,
21240xe5102000,
21250x000d8180,
21260xe5500000,
21270x000d8180,
21280x00000000,
21290xe3e01000,
21300x000a0000,
21310xe3520000,
21320x03a0b000,
21330x000a0000,
21340x13a0b000,
21350x000a0000,
21360xe14900f8,
21370xea000000,
21380x00050047,
21390x00060078,
21400xe5170000,
21410x000d8180,
21420xe5171000,
21430x000d8180,
21440xe1500001,
21450xab000000,
21460x0005004f,
21470xe1c900d0,
21480xe5196004,
21490xe35b0008,
21500x03710000,
21510x000a0000,
21520x03d030ff,
21530xe3a02001,
21540x1a000000,
21550x00050046,
21560xe58d0000,
21570xe1a0100d,
21580x00060079,
21590xe5089000,
21600x000d8180,
21610xe1a00008,
21620xe58d6008,
21630xeb000000,
21640x00030025,
21650xe5189000,
21660x000d8180,
21670xe3e01000,
21680x000a0000,
21690xea000000,
21700x00050049,
21710x0006007a,
21720xe5170000,
21730x000d8180,
21740xe5171000,
21750x000d8180,
21760xe1500001,
21770xab000000,
21780x0005004f,
21790xe1c900d0,
21800xe1c921d0,
21810xe35b0010,
21820xe3e0c000,
21830x0a000000,
21840x00050001,
21850x3a000000,
21860x00050046,
21870x00000000,
21880xe3730000,
21890x000a0000,
21900xe1a0c002,
21910x1a000000,
21920x00050046,
21930x0006000b,
21940xe1c920d8,
21950xe3710000,
21960x000a0000,
21970x05101000,
21980x000d8180,
21990x03730000,
22000x000a0000,
22010x1a000000,
22020x00050046,
22030xe2813001,
22040xe3520000,
22050xb0822003,
22060xe3520001,
22070xb3a02001,
22080xe35c0000,
22090xb08cc003,
22100xe1cccfcc,
22110xe15c0001,
22120xe2800000,
22130x000a0000,
22140xc1a0c001,
22150xe0801002,
22160xe05c2002,
22170xe2822001,
22180xaa000000,
22190x00050079,
22200x0006007b,
22210xe2470000,
22220x000a0000,
22230xe3e01000,
22240x000a0000,
22250xea000000,
22260x00050049,
22270x0006007c,
22280xe5170000,
22290x000d8180,
22300xe5171000,
22310x000d8180,
22320xe1500001,
22330xab000000,
22340x0005004f,
22350xe1c900d0,
22360xe1c920d8,
22370xe35b0010,
22380x3a000000,
22390x00050046,
22400xe3710000,
22410x000a0000,
22420x03730000,
22430x000a0000,
22440x1a000000,
22450x00050046,
22460xe2523001,
22470xe5101000,
22480x000d8180,
22490x00000000,
22500xba000000,
22510x0005007b,
22520xe3510001,
22530x3a000000,
22540x0005007b,
22550x1a000000,
22560x00050046,
22570xe517c000,
22580x000d8180,
22590xe5171000,
22600x000d8180,
22610xe5100000,
22620x000d8180,
22630xe15c0002,
22640x3a000000,
22650x00050046,
22660x0006000b,
22670xe7c10003,
22680xe2533001,
22690xaa000000,
22700x0005000b,
22710xea000000,
22720x00050079,
22730x0006007d,
22740xe5170000,
22750x000d8180,
22760xe5171000,
22770x000d8180,
22780xe1500001,
22790xab000000,
22800x0005004f,
22810xe1c900d0,
22820xe35b0008,
22830x3a000000,
22840x00050046,
22850xe3710000,
22860x000a0000,
22870x1a000000,
22880x00050046,
22890xe5102000,
22900x000d8180,
22910xe517c000,
22920x000d8180,
22930xe5171000,
22940x000d8180,
22950xe1a03002,
22960xe2800000,
22970x000a0000,
22980xe15c0002,
22990x3a000000,
23000x00050046,
23010x0006000b,
23020x00000000,
23030xe4d0c001,
23040xe2533001,
23050xba000000,
23060x00050079,
23070xe7c1c003,
23080xea000000,
23090x0005000b,
23100x0006007e,
23110xe5170000,
23120x000d8180,
23130xe5171000,
23140x000d8180,
23150xe1500001,
23160xab000000,
23170x0005004f,
23180xe1c900d0,
23190xe35b0008,
23200x3a000000,
23210x00050046,
23220xe3710000,
23230x000a0000,
23240x1a000000,
23250x00050046,
23260xe5102000,
23270x000d8180,
23280xe517c000,
23290x000d8180,
23300xe5171000,
23310x000d8180,
23320xe3a03000,
23330xe2800000,
23340x000a0000,
23350xe15c0002,
23360x3a000000,
23370x00050046,
23380x0006000b,
23390xe7d0c003,
23400xe1530002,
23410x2a000000,
23420x00050079,
23430xe24cb041,
23440xe35b001a,
23450x322cc020,
23460xe7c1c003,
23470xe2833001,
23480xea000000,
23490x0005000b,
23500x0006007f,
23510xe5170000,
23520x000d8180,
23530xe5171000,
23540x000d8180,
23550xe1500001,
23560xab000000,
23570x0005004f,
23580xe1c900d0,
23590xe35b0008,
23600x3a000000,
23610x00050046,
23620x00000000,
23630xe3710000,
23640x000a0000,
23650x1a000000,
23660x00050046,
23670xe5102000,
23680x000d8180,
23690xe517c000,
23700x000d8180,
23710xe5171000,
23720x000d8180,
23730xe3a03000,
23740xe2800000,
23750x000a0000,
23760xe15c0002,
23770x3a000000,
23780x00050046,
23790x0006000b,
23800xe7d0c003,
23810xe1530002,
23820x2a000000,
23830x00050079,
23840xe24cb061,
23850xe35b001a,
23860x322cc020,
23870xe7c1c003,
23880xe2833001,
23890xea000000,
23900x0005000b,
23910x00060080,
23920xe1c900d0,
23930xe35b0008,
23940x3a000000,
23950x00050046,
23960xe3710000,
23970x000a0000,
23980x1a000000,
23990x00050046,
24000x00000000,
24010xe1a0a009,
24020x00000000,
24030xeb000000,
24040x00030026,
24050x00000000,
24060xe1a0900a,
24070x00000000,
24080xe3e01000,
24090x000a0000,
24100xea000000,
24110x00050049,
24120x00060081,
24130x8a000000,
24140x00050046,
24150x00060082,
24160xe1a0c081,
24170xe29cc980,
24180x53a00000,
24190x512fff1e,
24200xe3e03ff8,
24210xe053cacc,
24220x4a000000,
24230x00050001,
24240xe1a03581,
24250xe3833480,
24260xe1833aa0,
24270xe3510000,
24280xe1a00c33,
24290xb2600000,
24300xe12fff1e,
24310x0006000b,
24320xe28cc015,
24330xe1a03c30,
24340xe26cc014,
24350xe1a00601,
24360xe3510000,
24370xe1830c10,
24380xb2600000,
24390xe12fff1e,
24400x00060083,
24410xe1c900d0,
24420xe35b0008,
24430x3a000000,
24440x00050046,
24450xe3710000,
24460x000a0000,
24470x1b000000,
24480x00050081,
24490xe3e01000,
24500x000a0000,
24510xea000000,
24520x00050049,
24530x00060084,
24540xe1c900d0,
24550xe35b0008,
24560x3a000000,
24570x00050046,
24580xe3710000,
24590x000a0000,
24600x1b000000,
24610x00050081,
24620xe1a02000,
24630xe3a0a008,
24640x0006000b,
24650xe18900da,
24660xe15a000b,
24670xe28aa008,
24680xaa000000,
24690x00050002,
24700xe3710000,
24710x000a0000,
24720x1b000000,
24730x00050081,
24740xe0022000,
24750xea000000,
24760x0005000b,
24770x00060085,
24780x00000000,
24790xe1c900d0,
24800xe35b0008,
24810x3a000000,
24820x00050046,
24830xe3710000,
24840x000a0000,
24850x1b000000,
24860x00050081,
24870xe1a02000,
24880xe3a0a008,
24890x0006000b,
24900xe18900da,
24910xe15a000b,
24920xe28aa008,
24930xaa000000,
24940x00050002,
24950xe3710000,
24960x000a0000,
24970x1b000000,
24980x00050081,
24990xe1822000,
25000xea000000,
25010x0005000b,
25020x00060086,
25030xe1c900d0,
25040xe35b0008,
25050x3a000000,
25060x00050046,
25070xe3710000,
25080x000a0000,
25090x1b000000,
25100x00050081,
25110xe1a02000,
25120xe3a0a008,
25130x0006000b,
25140xe18900da,
25150xe15a000b,
25160xe28aa008,
25170xaa000000,
25180x00050002,
25190xe3710000,
25200x000a0000,
25210x1b000000,
25220x00050081,
25230xe0222000,
25240xea000000,
25250x0005000b,
25260x0006000c,
25270xe3e03000,
25280x000a0000,
25290xe5196004,
25300xe14920f8,
25310xea000000,
25320x0005005e,
25330x00060087,
25340xe1c900d0,
25350xe35b0008,
25360x3a000000,
25370x00050046,
25380x00000000,
25390xe3710000,
25400x000a0000,
25410x1b000000,
25420x00050081,
25430xe0202860,
25440xe3c228ff,
25450xe1a00460,
25460xe3e01000,
25470x000a0000,
25480xe0200422,
25490xea000000,
25500x00050049,
25510x00060088,
25520xe1c900d0,
25530xe35b0008,
25540x3a000000,
25550x00050046,
25560xe3710000,
25570x000a0000,
25580x1b000000,
25590x00050081,
25600xe1e00000,
25610xe3e01000,
25620x000a0000,
25630xea000000,
25640x00050049,
25650x00060089,
25660xe1c900d8,
25670xe35b0010,
25680x3a000000,
25690x00050046,
25700xe3710000,
25710x000a0000,
25720x1b000000,
25730x00050081,
25740xe200a01f,
25750xe1c900d0,
25760xe3710000,
25770x000a0000,
25780x1b000000,
25790x00050081,
25800xe1a00a10,
25810xe3e01000,
25820x000a0000,
25830xea000000,
25840x00050049,
25850x0006008a,
25860xe1c900d8,
25870xe35b0010,
25880x3a000000,
25890x00050046,
25900xe3710000,
25910x000a0000,
25920x1b000000,
25930x00050081,
25940x00000000,
25950xe200a01f,
25960xe1c900d0,
25970xe3710000,
25980x000a0000,
25990x1b000000,
26000x00050081,
26010xe1a00a30,
26020xe3e01000,
26030x000a0000,
26040xea000000,
26050x00050049,
26060x0006008b,
26070xe1c900d8,
26080xe35b0010,
26090x3a000000,
26100x00050046,
26110xe3710000,
26120x000a0000,
26130x1b000000,
26140x00050081,
26150xe200a01f,
26160xe1c900d0,
26170xe3710000,
26180x000a0000,
26190x1b000000,
26200x00050081,
26210xe1a00a50,
26220xe3e01000,
26230x000a0000,
26240xea000000,
26250x00050049,
26260x0006008c,
26270xe1c900d8,
26280xe35b0010,
26290x3a000000,
26300x00050046,
26310xe3710000,
26320x000a0000,
26330x1b000000,
26340x00050081,
26350xe260a000,
26360xe1c900d0,
26370xe3710000,
26380x000a0000,
26390x1b000000,
26400x00050081,
26410xe1a00a70,
26420xe3e01000,
26430x000a0000,
26440xea000000,
26450x00050049,
26460x0006008d,
26470xe1c900d8,
26480xe35b0010,
26490x3a000000,
26500x00050046,
26510x00000000,
26520xe3710000,
26530x000a0000,
26540x1b000000,
26550x00050081,
26560xe200a01f,
26570xe1c900d0,
26580xe3710000,
26590x000a0000,
26600x1b000000,
26610x00050081,
26620xe1a00a70,
26630xe3e01000,
26640x000a0000,
26650xea000000,
26660x00050049,
26670x00060046,
26680xe5192008,
26690xe5181000,
26700x000d8180,
26710xe089000b,
26720xe5196004,
26730xe5080000,
26740x000d8180,
26750xe5122000,
26760x000d8180,
26770xe5089000,
26780x000d8180,
26790xe2800000,
26800x000a0000,
26810xe58d6008,
26820xe1500001,
26830xe1a00008,
26840x8a000000,
26850x00050005,
26860xe12fff32,
26870xe5189000,
26880x000d8180,
26890xe3500000,
26900xe1a0b180,
26910xe249a008,
26920xca000000,
26930x00050047,
26940x0006000b,
26950xe5180000,
26960x000d8180,
26970xe5192008,
26980xe040b009,
26990x1a000000,
27000x00050029,
27010xe5126000,
27020x000d8180,
27030xe5d6c000,
27040xe496e004,
27050xe797c10c,
27060xe004a2ae,
27070xe08aa009,
27080xe12fff1c,
27090x00060029,
27100xe2160000,
27110x000a0000,
27120xe3c61000,
27130x000a0000,
27140x00000000,
27150x0516e004,
27160x00020000,
27170x000412ae,
27180x02811008,
27190xe049c001,
27200xea000000,
27210x00050024,
27220x0006000f,
27230xe3a01000,
27240x000a0000,
27250xeb000000,
27260x00030000,
27270xe5189000,
27280x000d8180,
27290xe1500000,
27300xea000000,
27310x0005000b,
27320x0006004f,
27330xe1a0a00e,
27340xe5089000,
27350x000d8180,
27360xe089100b,
27370xe58d6008,
27380xe5081000,
27390x000d8180,
27400xe1a00008,
27410xeb000000,
27420x00030027,
27430xe5189000,
27440x000d8180,
27450xe1a0e00a,
27460xe5192008,
27470xe12fff1e,
27480x0006008e,
27490x00000000,
27500xe5570000,
27510x000d8180,
27520xe3100000,
27530x000a0000,
27540x1a000000,
27550x00050005,
27560xe5171000,
27570x000d8180,
27580xe3100000,
27590x000a0000,
27600x1a000000,
27610x00050001,
27620xe2411001,
27630xe3100000,
27640x000a0000,
27650x15071000,
27660x000d8180,
27670xea000000,
27680x00050001,
27690x00000000,
27700x0006008f,
27710xe5570000,
27720x000d8180,
27730xe3100000,
27740x000a0000,
27750x0a000000,
27760x00050001,
27770x0006000f,
27780xe20ec0ff,
27790xe087c10c,
27800xe51cf000,
27810x000d8180,
27820x00060090,
27830xe5570000,
27840x000d8180,
27850xe5171000,
27860x000d8180,
27870xe3100000,
27880x000a0000,
27890x1a000000,
27900x0005000f,
27910xe3100000,
27920x000a0000,
27930x0a000000,
27940x0005000f,
27950xe2511001,
27960xe5071000,
27970x000d8180,
27980x0a000000,
27990x00050001,
28000xe3100000,
28010x000a0000,
28020x0a000000,
28030x0005000f,
28040x0006000b,
28050xe1a00008,
28060xe5089000,
28070x000d8180,
28080xe1a01006,
28090xeb000000,
28100x00030028,
28110x0006000d,
28120xe5189000,
28130x000d8180,
28140x0006000e,
28150x00000000,
28160xe556c004,
28170xe516e004,
28180xe087c10c,
28190xe51cc000,
28200x000d8180,
28210xe004a2ae,
28220xe1a0b82e,
28230xe12fff1c,
28240x00060091,
28250xe5130018,
28260xe2866004,
28270xe58d0004,
28280xea000000,
28290x0005000e,
28300x00060092,
28310x00000000,
28320xe5192008,
28330xe2470000,
28340x000a0000,
28350xe58d6008,
28360xe5122000,
28370x000d8180,
28380xe1a01006,
28390xe5078000,
28400x000d8180,
28410xe5522000,
28420x000d8180,
28430xe5089000,
28440x000d8180,
28450xe0892182,
28460xe5082000,
28470x000d8180,
28480xeb000000,
28490x00030029,
28500xea000000,
28510x0005000d,
28520x00000000,
28530x00060093,
28540xe1a01006,
28550x00000000,
28560xea000000,
28570x00050001,
28580x00000000,
28590x00060094,
28600x00000000,
28610xe3861001,
28620x0006000b,
28630x00000000,
28640xe089300b,
28650xe58d6008,
28660xe1a00008,
28670xe5089000,
28680x000d8180,
28690xe04aa009,
28700xe5083000,
28710x000d8180,
28720xeb000000,
28730x0003002a,
28740xe5189000,
28750x000d8180,
28760xe5183000,
28770x000d8180,
28780xe3a01000,
28790xe089a00a,
28800xe043b009,
28810xe58d1008,
28820xe5192008,
28830xe516e004,
28840xe12fff10,
28850x00060095,
28860x00000000,
28870xe24dd00c,
28880xe92d1fff,
28890xe59d0040,
28900xe59e7000,
28910xe28d2040,
28920xe3e03000,
28930x000a0000,
28940xe58d2034,
28950xe5073000,
28960x000d8180,
28970xe5301004,
28980xe58d0038,
28990xe58d003c,
29000xe1a01401,
29010xe0800341,
29020xe59e1004,
29030xe040000e,
29040xe5178000,
29050x000d8180,
29060xe0810120,
29070xe5179000,
29080x000d8180,
29090xe5070000,
29100x000d8180,
29110xe3a03000,
29120xe5078000,
29130x000d8180,
29140xe5089000,
29150x000d8180,
29160xe5073000,
29170x000d8180,
29180xe2470000,
29190x000a0000,
29200xe1a0100d,
29210xeb000000,
29220x0003002b,
29230xe5181000,
29240x000d8180,
29250xe5189000,
29260x000d8180,
29270xe3c11000,
29280x000a0000,
29290xe1a0d001,
29300xe59d6008,
29310xe58d800c,
29320xea000000,
29330x00050001,
29340x00000000,
29350x00060096,
29360x00000000,
29370xe59d800c,
29380x0006000b,
29390xe3500000,
29400xba000000,
29410x00050003,
29420xe1a0b180,
29430xe5191008,
29440xe58db004,
29450xe3a02000,
29460xe5111000,
29470x000d8180,
29480xe5072000,
29490x000d8180,
29500xe3e03000,
29510x000a0000,
29520xe5115000,
29530x000d8180,
29540xe5d6c000,
29550xe3a040ff,
29560xe496e004,
29570xe1a04184,
29580xe5073000,
29590x000d8180,
29600xe35c0000,
29610x000a0000,
29620xe797c10c,
29630xe004a2ae,
29640x31a0b82e,
29650x224bb008,
29660x208aa009,
29670xe12fff1c,
29680x0006000d,
29690xe2601000,
29700xe1a00008,
29710xeb000000,
29720x0003002c,
29730x00000000,
29740x00060013,
29750x3ff00000,
29760x0006005a,
29770xe1a02081,
29780xe292c980,
29790x5a000000,
29800x00050002,
29810xe3e03ff3,
29820xe053cacc,
29830x312fff1e,
29840xe3e03001,
29850xe1c02c13,
29860xe0000c13,
29870xe25cc020,
29880x51c13c13,
29890x51822003,
29900x53e03001,
29910x50011c13,
29920xe1120fc1,
29930x012fff1e,
29940xe3e03001,
29950xe35c0000,
29960x51a02c13,
29970x43e02000,
29980xe28cc020,
29990xe0500c13,
30000xe0c11002,
30010xe12fff1e,
30020x0006000c,
30030x212fff1e,
30040xe1822000,
30050xe1120fc1,
30060xe3a00000,
30070xe2011480,
30080x151f3000,
30090x00050813,
30100x11811003,
30110xe12fff1e,
30120x0006005c,
30130xe1a02081,
30140xe292c980,
30150x5a000000,
30160x00050002,
30170xe3e03ff3,
30180xe053cacc,
30190x312fff1e,
30200xe3e03001,
30210xe1c02c13,
30220xe0000c13,
30230xe25cc020,
30240x51c13c13,
30250x51822003,
30260x53e03001,
30270x50011c13,
30280xe1d22fc1,
30290x012fff1e,
30300xe3e03001,
30310xe35c0000,
30320x51a02c13,
30330x43e02000,
30340xe28cc020,
30350xe0500c13,
30360xe0c11002,
30370xe12fff1e,
30380x0006000c,
30390x212fff1e,
30400xe1822000,
30410xe1d22fc1,
30420xe3a00000,
30430xe2011480,
30440x151f3000,
30450x00050813,
30460x11811003,
30470xe12fff1e,
30480x00060097,
30490x00000000,
30500xe1a02081,
30510xe292c980,
30520x52011480,
30530x53a00000,
30540x512fff1e,
30550xe3e03ff3,
30560xe053cacc,
30570x312fff1e,
30580xe3e03001,
30590xe0000c13,
30600xe25cc020,
30610x50011c13,
30620xe12fff1e,
30630x00000000,
30640x00060098,
30650xe92d401f,
30660xeb000000,
30670x0003002d,
30680xeb000000,
30690x0005005a,
30700xe1cd20d8,
30710xeb000000,
30720x0003001f,
30730xe1cd20d0,
30740xe2211480,
30750xeb000000,
30760x0003002e,
30770xe28dd014,
30780xe8bd8000,
30790x00060099,
30800xe210c480,
30810x42600000,
30820xe02cc0c1,
30830xe3510000,
30840x42611000,
30850xe2513001,
30860x11500001,
30870x03a00000,
30880x81110003,
30890x00020000,
30900x00000003,
30910x9a000000,
30920x00050001,
30930xe16f2f10,
30940xe16f3f11,
30950xe0433002,
30960xe273201f,
30970x108ff182,
30980xe1a00000,
30990x00000000,
31000xe1500001,
31010x000900a7,
31020x20400001,
31030x000900a7,
31040x00000000,
31050x0006000b,
31060xe3500000,
31070x135c0000,
31080x40400001,
31090xe030108c,
31100x42600000,
31110xe12fff1e,
31120x0006009a,
31130xe59dc000,
31140xe35c0001,
31150x3a000000,
31160x0003002e,
31170x0a000000,
31180x0003002f,
31190xe35c0003,
31200x3a000000,
31210x0003001f,
31220x0a000000,
31230x0003002d,
31240xe35c0005,
31250x3a000000,
31260x00050098,
31270x0a000000,
31280x0003001c,
31290xe35c0007,
31300x32211480,
31310x03c11480,
31320x912fff1e,
31330x00000000,
31340xe35c0009,
31350x3a000000,
31360x0003001d,
31370x0a000000,
31380x00050009,
31390xe35c000b,
31400x8a000000,
31410x00050009,
31420xe92d4010,
31430x0a000000,
31440x00050001,
31450xeb000000,
31460x00030024,
31470x81a00002,
31480x81a01003,
31490xe8bd8010,
31500x00060013,
31510xe7f001f0,
31520x0006000b,
31530xeb000000,
31540x00030024,
31550x31a00002,
31560x31a01003,
31570xe8bd8010,
31580x00000000,
31590xe7f001f0,
31600x00000000,
31610x0006009b,
31620x00000000,
31630xe51c6000,
31640x000d8180,
31650xe28c7000,
31660x000a0000,
31670xe14600f0,
31680x000c8100,
31690xe14620f0,
31700x000c8100,
31710xe59d3000,
31720xe28d2000,
31730x000a0000,
31740xe1a00006,
31750xe1a031a3,
31760xe5062000,
31770x000d8180,
31780xe1a0100d,
31790xe5063000,
31800x000d8180,
31810xe58d6008,
31820xeb000000,
31830x00030030,
31840xe5109000,
31850x000d8180,
31860xe3e01000,
31870x000a0000,
31880xe510b000,
31890x000d8180,
31900xe3a040ff,
31910xe5192008,
31920xe1a08000,
31930xe04bb009,
31940xe1a04184,
31950xe5071000,
31960x000d8180,
31970xe5126000,
31980x000d8180,
31990xe5d6c000,
32000xe496e004,
32010xe797c10c,
32020xe004a2ae,
32030xe08aa009,
32040xe12fff1c,
32050x00000000,
32060x00060028,
32070x00000000,
32080xe5176000,
32090x000d8180,
32100xe5089000,
32110x000d8180,
32120xe5083000,
32130x000d8180,
32140xe5068000,
32150x000d8180,
32160xe1a00006,
32170xe1a0100a,
32180xeb000000,
32190x00030031,
32200xe14600d0,
32210x000c8100,
32220xea000000,
32230x0005001a,
32240x00000000,
32250x0006009c,
32260x00000000,
32270xe92d4830,
32280xe1a04000,
32290xe5100000,
32300x000d8180,
32310xe5541000,
32320x000d8180,
32330xe2842000,
32340x000a0000,
32350xe1a0b00d,
32360xe04dd000,
32370xe2511001,
32380xe514c000,
32390x000d8180,
32400x4a000000,
32410x00050002,
32420x0006000b,
32430xe7923101,
32440xe78d3101,
32450xe2511001,
32460x5a000000,
32470x0005000b,
32480x0006000c,
32490xe5140000,
32500x000d8180,
32510xe5141000,
32520x000d8180,
32530xe5142000,
32540x000d8180,
32550xe5143000,
32560x000d8180,
32570xe12fff3c,
32580xe1a0d00b,
32590xe5040000,
32600x000d8180,
32610xe5041000,
32620x000d8180,
32630xe8bd8830,
32640x00000000,
32650x00080000,
32660x00000000,
32670xe1a0b18b,
32680xe1aa00d9,
32690xe1d6c0b2,
32700xe1ab20d9,
32710xe2866004,
32720xe086c10c,
32730xe3710000,
32740x000a0000,
32750x1a000000,
32760x00050003,
32770xe3730000,
32780x000a0000,
32790x1a000000,
32800x00050004,
32810xe1500002,
32820x00000000,
32830xb24c6b80,
32840x00000000,
32850xa24c6b80,
32860x00000000,
32870xd24c6b80,
32880x00000000,
32890xc24c6b80,
32900x00000000,
32910x0006000b,
32920xe5d6c000,
32930xe496e004,
32940xe797c10c,
32950xe004a2ae,
32960xe1a0b82e,
32970xe12fff1c,
32980x0006000d,
32990x8a000000,
33000x00050035,
33010xe3730000,
33020x000a0000,
33030x31a0a00c,
33040x3a000000,
33050x00050005,
33060xe1a00002,
33070xe1a0b00a,
33080xe1a0a00c,
33090xeb000000,
33100x00030023,
33110xe1a02000,
33120xe1a03001,
33130xe1cb00d0,
33140xea000000,
33150x00050005,
33160x0006000e,
33170x8a000000,
33180x00050035,
33190xe1a0a00c,
33200xeb000000,
33210x00030023,
33220xe1cb20d0,
33230x0006000f,
33240xeb000000,
33250x00030024,
33260x00000000,
33270x324a6b80,
33280x00000000,
33290x224a6b80,
33300x00000000,
33310x924a6b80,
33320x00000000,
33330x824a6b80,
33340x00000000,
33350xea000000,
33360x0005000b,
33370x00000000,
33380xe1a0b18b,
33390xe1aa00d9,
33400xe1d6c0b2,
33410xe1ab20d9,
33420xe2866004,
33430xe086c10c,
33440xe3710000,
33450x000a0000,
33460x93730000,
33470x000a0000,
33480x00000000,
33490x9a000000,
33500x0005009d,
33510x00000000,
33520x9a000000,
33530x0005009e,
33540x00000000,
33550xe3710000,
33560x000a0000,
33570x13730000,
33580x000a0000,
33590x0a000000,
33600x0005003b,
33610x00000000,
33620xe1510003,
33630x1a000000,
33640x00050002,
33650xe3710000,
33660x000a0000,
33670x2a000000,
33680x00050001,
33690xe1500002,
33700x00000000,
33710x1a000000,
33720x00050003,
33730x0006000b,
33740xe24c6b80,
33750x0006000c,
33760xe5d6c000,
33770xe496e004,
33780xe797c10c,
33790xe004a2ae,
33800xe1a0b82e,
33810xe12fff1c,
33820x0006000d,
33830xe3710000,
33840x000a0000,
33850x8a000000,
33860x0005000c,
33870x00000000,
33880x0a000000,
33890x00050001,
33900xe3710000,
33910x000a0000,
33920x8a000000,
33930x00050002,
33940x00000000,
33950xe510a000,
33960x000d8180,
33970xe35a0000,
33980x00000000,
33990x0a000000,
34000x0005000c,
34010x00000000,
34020x0a000000,
34030x00050002,
34040x00000000,
34050xe55aa000,
34060x000d8180,
34070xe3a03000,
34080x000a0000,
34090xe1a01000,
34100xe31a0000,
34110x000a0000,
34120x0a000000,
34130x0005003a,
34140x00000000,
34150xea000000,
34160x0005000c,
34170x00000000,
34180x0006000c,
34190xe24c6b80,
34200x0006000b,
34210xe5d6c000,
34220xe496e004,
34230xe797c10c,
34240xe004a2ae,
34250xe1a0b82e,
34260xe12fff1c,
34270x00000000,
34280xe1e0b00b,
34290xe18900da,
34300xe1d6c0b2,
34310xe795210b,
34320xe2866004,
34330xe086c10c,
34340xe3710000,
34350x000a0000,
34360x00000000,
34370x1a000000,
34380x00050007,
34390xe1500002,
34400x00000000,
34410x01500002,
34420x00000000,
34430x024c6b80,
34440x0006000b,
34450x00000000,
34460x0006000b,
34470x124c6b80,
34480x00000000,
34490xe5d6c000,
34500xe496e004,
34510xe797c10c,
34520xe004a2ae,
34530xe1a0b82e,
34540xe12fff1c,
34550x00000000,
34560x00060011,
34570xe3710000,
34580x000a0000,
34590x1a000000,
34600x0005000b,
34610xea000000,
34620x0005003b,
34630x00000000,
34640xe1a0b18b,
34650xe1aa00d9,
34660xe1d6c0b2,
34670xe1ab20d5,
34680xe2866004,
34690xe086c10c,
34700x00000000,
34710x0006009d,
34720x00000000,
34730x0006009e,
34740x00000000,
34750xe3710000,
34760x000a0000,
34770x1a000000,
34780x00050003,
34790xe3730000,
34800x000a0000,
34810x1a000000,
34820x00050004,
34830xe1500002,
34840x00000000,
34850x024c6b80,
34860x0006000b,
34870x00000000,
34880x0006000b,
34890x124c6b80,
34900x00000000,
34910x0006000c,
34920xe5d6c000,
34930xe496e004,
34940xe797c10c,
34950xe004a2ae,
34960xe1a0b82e,
34970xe12fff1c,
34980x0006000d,
34990x00000000,
35000x8a000000,
35010x00050007,
35020x00000000,
35030x824c6b80,
35040x00000000,
35050x8a000000,
35060x0005000c,
35070x00000000,
35080xe3730000,
35090x000a0000,
35100x31a0a00c,
35110x3a000000,
35120x00050005,
35130xe1a00002,
35140xe1a0b00a,
35150x0006000e,
35160xe1a0a00c,
35170xeb000000,
35180x00030023,
35190xe1cb20d0,
35200x0006000f,
35210xeb000000,
35220x00030032,
35230x00000000,
35240x024a6b80,
35250x00000000,
35260x124a6b80,
35270x00000000,
35280xea000000,
35290x0005000c,
35300x00000000,
35310x00060011,
35320xe3710000,
35330x000a0000,
35340x1a000000,
35350x0005000b,
35360xea000000,
35370x0005003b,
35380x00000000,
35390xe18900da,
35400xe1d6c0b2,
35410xe2866004,
35420xe1e0b00b,
35430xe086c10c,
35440x00000000,
35450xe3710000,
35460x000a0000,
35470x0a000000,
35480x0005003b,
35490x00000000,
35500xe151000b,
35510x00000000,
35520x024c6b80,
35530x00000000,
35540x124c6b80,
35550x00000000,
35560xe5d6c000,
35570xe496e004,
35580xe797c10c,
35590xe004a2ae,
35600xe1a0b82e,
35610xe12fff1c,
35620x00000000,
35630xe089b18b,
35640xe1d6c0b2,
35650xe1cb00d0,
35660xe2866004,
35670xe086c10c,
35680xe3710000,
35690x000a0000,
35700x00000000,
35710x924c6b80,
35720x00000000,
35730x918900fa,
35740x00000000,
35750x824c6b80,
35760x00000000,
35770x818900fa,
35780x00000000,
35790xe5d6c000,
35800xe496e004,
35810xe797c10c,
35820xe004a2ae,
35830xe1a0b82e,
35840xe12fff1c,
35850x00000000,
35860xe1a0b18b,
35870xe5d6c000,
35880xe18900db,
35890xe496e004,
35900xe18900fa,
35910xe797c10c,
35920xe004a2ae,
35930xe1a0b82e,
35940xe12fff1c,
35950x00000000,
35960xe089b18b,
35970xe5d6c000,
35980xe59b0004,
35990xe089a00a,
36000xe496e004,
36010xe3700000,
36020x000a0000,
36030x93e01000,
36040x000a0000,
36050x83e01000,
36060x000a0000,
36070xe58a1004,
36080xe797c10c,
36090xe004a2ae,
36100xe1a0b82e,
36110xe12fff1c,
36120x00000000,
36130xe1a0b18b,
36140xe18900db,
36150xe5d6c000,
36160xe496e004,
36170xe3710000,
36180x000a0000,
36190x8a000000,
36200x0005003e,
36210x12211480,
36220x1a000000,
36230x00050005,
36240x02700000,
36250x614f00d0,
36260x00051809,
36270x0006000f,
36280xe18900fa,
36290xe797c10c,
36300xe004a2ae,
36310xe1a0b82e,
36320xe12fff1c,
36330x00040007,
36340x00060013,
36350x00020000,
36360x00000000,
36370x41e00000,
36380x00000000,
36390xe1a0b18b,
36400xe18900db,
36410xe3710000,
36420x000a0000,
36430x1a000000,
36440x00050002,
36450xe5100000,
36460x000d8180,
36470x0006000b,
36480xe3e01000,
36490x000a0000,
36500xe5d6c000,
36510xe496e004,
36520xe18900fa,
36530xe797c10c,
36540xe004a2ae,
36550xe1a0b82e,
36560xe12fff1c,
36570x0006000c,
36580xe3710000,
36590x000a0000,
36600x1a000000,
36610x00050040,
36620x00000000,
36630xe5102000,
36640x000d8180,
36650xe3520000,
36660x1a000000,
36670x00050009,
36680x0006000d,
36690x00000000,
36700x00060041,
36710x00000000,
36720xe1a0b009,
36730x00000000,
36740xeb000000,
36750x00030026,
36760x00000000,
36770xe1a0900b,
36780x00000000,
36790xea000000,
36800x0005000b,
36810x00000000,
36820x00060013,
36830xe5523000,
36840x000d8180,
36850xe3130000,
36860x000a0000,
36870x1a000000,
36880x0005000d,
36890xea000000,
36900x00050040,
36910x00000000,
36920xe004caae,
36930xe004b6ae,
36940x00000000,
36950xe18900dc,
36960xe18520db,
36970x00000000,
36980xe18920dc,
36990xe18500db,
37000x00000000,
37010xe18900dc,
37020xe18920db,
37030x00000000,
37040xe5d6c000,
37050x00000000,
37060xe3730000,
37070x000a0000,
37080x03710000,
37090x000a0000,
37100x00000000,
37110xe3710000,
37120x000a0000,
37130x03730000,
37140x000a0000,
37150x00000000,
37160x1a000000,
37170x00050005,
37180xe0900002,
37190x00000000,
37200x6a000000,
37210x0005003c,
37220x00000000,
37230x6a000000,
37240x0005003d,
37250x00000000,
37260x6a000000,
37270x0005003f,
37280x00000000,
37290x0006000e,
37300xe496e004,
37310xe18900fa,
37320xe797c10c,
37330xe004a2ae,
37340xe1a0b82e,
37350xe12fff1c,
37360x0006000f,
37370x00000000,
37380xe3730000,
37390x000a0000,
37400x33710000,
37410x000a0000,
37420x00000000,
37430xe3710000,
37440x000a0000,
37450x33730000,
37460x000a0000,
37470x00000000,
37480x2a000000,
37490x0005003c,
37500x00000000,
37510xe3730000,
37520x000a0000,
37530x33710000,
37540x000a0000,
37550x00000000,
37560xe3710000,
37570x000a0000,
37580x33730000,
37590x000a0000,
37600x00000000,
37610x2a000000,
37620x0005003d,
37630x00000000,
37640xe3730000,
37650x000a0000,
37660x33710000,
37670x000a0000,
37680x00000000,
37690xe3710000,
37700x000a0000,
37710x33730000,
37720x000a0000,
37730x00000000,
37740x2a000000,
37750x0005003f,
37760x00000000,
37770xeb000000,
37780x0003002e,
37790xe5d6c000,
37800xea000000,
37810x0005000e,
37820x00000000,
37830xe004caae,
37840xe004b6ae,
37850x00000000,
37860xe18900dc,
37870xe18520db,
37880x00000000,
37890xe18920dc,
37900xe18500db,
37910x00000000,
37920xe18900dc,
37930xe18920db,
37940x00000000,
37950xe5d6c000,
37960x00000000,
37970xe3730000,
37980x000a0000,
37990x03710000,
38000x000a0000,
38010x00000000,
38020xe3710000,
38030x000a0000,
38040x03730000,
38050x000a0000,
38060x00000000,
38070x1a000000,
38080x00050005,
38090xe0500002,
38100x00000000,
38110x6a000000,
38120x0005003c,
38130x00000000,
38140x6a000000,
38150x0005003d,
38160x00000000,
38170x6a000000,
38180x0005003f,
38190x00000000,
38200x0006000e,
38210xe496e004,
38220xe18900fa,
38230xe797c10c,
38240xe004a2ae,
38250xe1a0b82e,
38260xe12fff1c,
38270x0006000f,
38280x00000000,
38290xe3730000,
38300x000a0000,
38310x33710000,
38320x000a0000,
38330x00000000,
38340xe3710000,
38350x000a0000,
38360x33730000,
38370x000a0000,
38380x00000000,
38390x2a000000,
38400x0005003c,
38410x00000000,
38420xe3730000,
38430x000a0000,
38440x33710000,
38450x000a0000,
38460x00000000,
38470xe3710000,
38480x000a0000,
38490x33730000,
38500x000a0000,
38510x00000000,
38520x2a000000,
38530x0005003d,
38540x00000000,
38550xe3730000,
38560x000a0000,
38570x33710000,
38580x000a0000,
38590x00000000,
38600xe3710000,
38610x000a0000,
38620x33730000,
38630x000a0000,
38640x00000000,
38650x2a000000,
38660x0005003f,
38670x00000000,
38680xeb000000,
38690x0003002f,
38700xe5d6c000,
38710xea000000,
38720x0005000e,
38730x00000000,
38740xe004caae,
38750xe004b6ae,
38760x00000000,
38770xe18900dc,
38780xe18520db,
38790x00000000,
38800xe18920dc,
38810xe18500db,
38820x00000000,
38830xe18900dc,
38840xe18920db,
38850x00000000,
38860xe5d6c000,
38870x00000000,
38880xe3730000,
38890x000a0000,
38900x03710000,
38910x000a0000,
38920x00000000,
38930xe3710000,
38940x000a0000,
38950x03730000,
38960x000a0000,
38970x00000000,
38980x1a000000,
38990x00050005,
39000xe0cb0092,
39010xe15b0fc0,
39020x00000000,
39030x1a000000,
39040x0005003c,
39050x00000000,
39060x1a000000,
39070x0005003d,
39080x00000000,
39090x1a000000,
39100x0005003f,
39110x00000000,
39120x0006000e,
39130xe496e004,
39140xe18900fa,
39150xe797c10c,
39160xe004a2ae,
39170xe1a0b82e,
39180xe12fff1c,
39190x0006000f,
39200x00000000,
39210xe3730000,
39220x000a0000,
39230x33710000,
39240x000a0000,
39250x00000000,
39260xe3710000,
39270x000a0000,
39280x33730000,
39290x000a0000,
39300x00000000,
39310x2a000000,
39320x0005003c,
39330x00000000,
39340xe3730000,
39350x000a0000,
39360x33710000,
39370x000a0000,
39380x00000000,
39390xe3710000,
39400x000a0000,
39410x33730000,
39420x000a0000,
39430x00000000,
39440x2a000000,
39450x0005003d,
39460x00000000,
39470xe3730000,
39480x000a0000,
39490x33710000,
39500x000a0000,
39510x00000000,
39520xe3710000,
39530x000a0000,
39540x33730000,
39550x000a0000,
39560x00000000,
39570x2a000000,
39580x0005003f,
39590x00000000,
39600xeb000000,
39610x0003001f,
39620xe5d6c000,
39630xea000000,
39640x0005000e,
39650x00000000,
39660xe004caae,
39670xe004b6ae,
39680x00000000,
39690xe18900dc,
39700xe18520db,
39710x00000000,
39720xe18920dc,
39730xe18500db,
39740x00000000,
39750xe18900dc,
39760xe18920db,
39770x00000000,
39780xe3730000,
39790x000a0000,
39800x33710000,
39810x000a0000,
39820x00000000,
39830xe3710000,
39840x000a0000,
39850x33730000,
39860x000a0000,
39870x00000000,
39880x2a000000,
39890x0005003c,
39900x00000000,
39910xe3730000,
39920x000a0000,
39930x33710000,
39940x000a0000,
39950x00000000,
39960xe3710000,
39970x000a0000,
39980x33730000,
39990x000a0000,
40000x00000000,
40010x2a000000,
40020x0005003d,
40030x00000000,
40040xe3730000,
40050x000a0000,
40060x33710000,
40070x000a0000,
40080x00000000,
40090xe3710000,
40100x000a0000,
40110x33730000,
40120x000a0000,
40130x00000000,
40140x2a000000,
40150x0005003f,
40160x00000000,
40170xeb000000,
40180x0003002d,
40190xe5d6c000,
40200xe496e004,
40210xe18900fa,
40220xe797c10c,
40230xe004a2ae,
40240xe1a0b82e,
40250xe12fff1c,
40260x00000000,
40270xe004caae,
40280xe004b6ae,
40290x00000000,
40300xe18900dc,
40310xe18520db,
40320x00000000,
40330xe18920dc,
40340xe18500db,
40350x00000000,
40360xe18900dc,
40370xe18920db,
40380x00000000,
40390xe3730000,
40400x000a0000,
40410x03710000,
40420x000a0000,
40430x00000000,
40440xe3710000,
40450x000a0000,
40460x03730000,
40470x000a0000,
40480x00000000,
40490x1a000000,
40500x00050005,
40510xe1b01002,
40520x00000000,
40530x0a000000,
40540x0005003c,
40550x00000000,
40560x0a000000,
40570x0005003d,
40580x00000000,
40590x0a000000,
40600x0005003f,
40610x00000000,
40620xeb000000,
40630x00050099,
40640xe3e01000,
40650x000a0000,
40660x0006000e,
40670xe5d6c000,
40680xe496e004,
40690xe18900fa,
40700xe797c10c,
40710xe004a2ae,
40720xe1a0b82e,
40730xe12fff1c,
40740x0006000f,
40750x00000000,
40760xe3730000,
40770x000a0000,
40780x33710000,
40790x000a0000,
40800x00000000,
40810xe3710000,
40820x000a0000,
40830x33730000,
40840x000a0000,
40850x00000000,
40860x2a000000,
40870x0005003c,
40880x00000000,
40890xe3730000,
40900x000a0000,
40910x33710000,
40920x000a0000,
40930x00000000,
40940xe3710000,
40950x000a0000,
40960x33730000,
40970x000a0000,
40980x00000000,
40990x2a000000,
41000x0005003d,
41010x00000000,
41020xe3730000,
41030x000a0000,
41040x33710000,
41050x000a0000,
41060x00000000,
41070xe3710000,
41080x000a0000,
41090x33730000,
41100x000a0000,
41110x00000000,
41120x2a000000,
41130x0005003f,
41140x00000000,
41150xeb000000,
41160x00050098,
41170xea000000,
41180x0005000e,
41190x00000000,
41200xe004caae,
41210xe004b6ae,
41220x00000000,
41230xe18900dc,
41240xe18520db,
41250x00000000,
41260xe18920dc,
41270xe18500db,
41280x00000000,
41290xe18900dc,
41300xe18920db,
41310x00000000,
41320xe3730000,
41330x000a0000,
41340x33710000,
41350x000a0000,
41360x00000000,
41370xe3710000,
41380x000a0000,
41390x33730000,
41400x000a0000,
41410x00000000,
41420x2a000000,
41430x0005003c,
41440x00000000,
41450xe3730000,
41460x000a0000,
41470x33710000,
41480x000a0000,
41490x00000000,
41500xe3710000,
41510x000a0000,
41520x33730000,
41530x000a0000,
41540x00000000,
41550x2a000000,
41560x0005003d,
41570x00000000,
41580xe3730000,
41590x000a0000,
41600x33710000,
41610x000a0000,
41620x00000000,
41630xe3710000,
41640x000a0000,
41650x33730000,
41660x000a0000,
41670x00000000,
41680x2a000000,
41690x0005003f,
41700x00000000,
41710xe1a0b009,
41720x00000000,
41730xeb000000,
41740x0003001c,
41750x00000000,
41760xe1a0900b,
41770x00000000,
41780xe5d6c000,
41790xe496e004,
41800xe18900fa,
41810xe797c10c,
41820xe004a2ae,
41830xe1a0b82e,
41840xe12fff1c,
41850x00000000,
41860xe004baae,
41870xe004c6ae,
41880xe04c200b,
41890xe5089000,
41900x000d8180,
41910xe089100c,
41920x0006002b,
41930xe1a00008,
41940xe58d6008,
41950xe1a021a2,
41960xeb000000,
41970x00030033,
41980xe5189000,
41990x000d8180,
42000xe3500000,
42010x1a000000,
42020x00050036,
42030xe18920db,
42040xe5d6c000,
42050xe496e004,
42060xe18920fa,
42070xe797c10c,
42080xe004a2ae,
42090xe1a0b82e,
42100xe12fff1c,
42110x00000000,
42120xe1e0b00b,
42130xe5d6c000,
42140xe795010b,
42150xe3e01000,
42160x000a0000,
42170xe496e004,
42180xe18900fa,
42190xe797c10c,
42200xe004a2ae,
42210xe1a0b82e,
42220xe12fff1c,
42230x00000000,
42240xe1e0b00b,
42250xe5d6c000,
42260xe795010b,
42270xe3e01000,
42280x000a0000,
42290xe496e004,
42300xe18900fa,
42310xe797c10c,
42320xe004a2ae,
42330xe1a0b82e,
42340xe12fff1c,
42350x00000000,
42360xe1a0084e,
42370xe3e01000,
42380x000a0000,
42390xe5d6c000,
42400xe496e004,
42410xe18900fa,
42420xe797c10c,
42430xe004a2ae,
42440xe1a0b82e,
42450xe12fff1c,
42460x00000000,
42470xe1a0b18b,
42480xe5d6c000,
42490xe18500db,
42500xe496e004,
42510xe18900fa,
42520xe797c10c,
42530xe004a2ae,
42540xe1a0b82e,
42550xe12fff1c,
42560x00000000,
42570xe089a00a,
42580xe1e0b00b,
42590xe5d6c000,
42600xe496e004,
42610xe58ab004,
42620xe797c10c,
42630xe004a2ae,
42640xe1a0b82e,
42650xe12fff1c,
42660x00000000,
42670xe089a00a,
42680xe089b18b,
42690xe3e00000,
42700x000a0000,
42710xe58a0004,
42720xe28aa008,
42730x0006000b,
42740xe58a0004,
42750xe15a000b,
42760xe28aa008,
42770xba000000,
42780x0005000b,
42790xe5d6c000,
42800xe496e004,
42810xe797c10c,
42820xe004a2ae,
42830xe1a0b82e,
42840xe12fff1c,
42850x00000000,
42860xe5191008,
42870xe1a0b10b,
42880xe28bb000,
42890x000a0000,
42900xe791100b,
42910xe5111000,
42920x000d8180,
42930xe1c120d0,
42940xe5d6c000,
42950xe496e004,
42960xe18920fa,
42970xe797c10c,
42980xe004a2ae,
42990xe1a0b82e,
43000xe12fff1c,
43010x00000000,
43020xe5191008,
43030xe1a0a0aa,
43040xe28aa000,
43050x000a0000,
43060xe1a0b18b,
43070xe791100a,
43080xe18920db,
43090xe551c000,
43100x000d8180,
43110xe551b000,
43120x000d8180,
43130xe5111000,
43140x000d8180,
43150xe31c0000,
43160x000a0000,
43170xe283c000,
43180x000a0000,
43190x135b0000,
43200xe1c120f0,
43210x1a000000,
43220x00050002,
43230x0006000b,
43240xe5d6c000,
43250xe496e004,
43260xe797c10c,
43270xe004a2ae,
43280xe1a0b82e,
43290xe12fff1c,
43300x0006000c,
43310xe37c0000,
43320x000a0000,
43330x8552b000,
43340x000d8180,
43350x9a000000,
43360x0005000b,
43370xe2470000,
43380x000a0000,
43390xe31b0000,
43400x000a0000,
43410x00000000,
43420x0a000000,
43430x0005000b,
43440xe1a0b009,
43450xeb000000,
43460x00030034,
43470xe1a0900b,
43480x00000000,
43490x1b000000,
43500x00030034,
43510x00000000,
43520xea000000,
43530x0005000b,
43540x00000000,
43550xe5191008,
43560xe1a0a0aa,
43570xe28aa000,
43580x000a0000,
43590xe1e0b00b,
43600xe791100a,
43610xe795210b,
43620xe3e03000,
43630x000a0000,
43640xe551c000,
43650x000d8180,
43660xe5111000,
43670x000d8180,
43680xe551b000,
43690x000d8180,
43700xe31c0000,
43710x000a0000,
43720xe552c000,
43730x000d8180,
43740xe1c120f0,
43750x1a000000,
43760x00050002,
43770x0006000b,
43780xe5d6c000,
43790xe496e004,
43800xe797c10c,
43810xe004a2ae,
43820xe1a0b82e,
43830xe12fff1c,
43840x0006000c,
43850xe31c0000,
43860x000a0000,
43870x135b0000,
43880xe2470000,
43890x000a0000,
43900x00000000,
43910x0a000000,
43920x0005000b,
43930xe1a0b009,
43940xeb000000,
43950x00030034,
43960xe1a0900b,
43970x00000000,
43980x1b000000,
43990x00030034,
44000x00000000,
44010xea000000,
44020x0005000b,
44030x00000000,
44040xe5191008,
44050xe1a0a0aa,
44060xe28aa000,
44070x000a0000,
44080xe1a0b18b,
44090xe791100a,
44100xe18520db,
44110xe5111000,
44120x000d8180,
44130xe5d6c000,
44140xe496e004,
44150xe1c120f0,
44160xe797c10c,
44170xe004a2ae,
44180xe1a0b82e,
44190xe12fff1c,
44200x00000000,
44210xe5191008,
44220xe1a0a0aa,
44230xe28aa000,
44240x000a0000,
44250xe791100a,
44260xe1e0b00b,
44270xe5111000,
44280x000d8180,
44290xe5d6c000,
44300xe496e004,
44310xe581b004,
44320xe797c10c,
44330xe004a2ae,
44340xe1a0b82e,
44350xe12fff1c,
44360x00000000,
44370xe5182000,
44380x000d8180,
44390xe086b10b,
44400xe5089000,
44410x000d8180,
44420xe3520000,
44430xe24b6b80,
44440x0a000000,
44450x00050001,
44460xe1a00008,
44470xe089100a,
44480xeb000000,
44490x00030035,
44500xe5189000,
44510x000d8180,
44520x0006000b,
44530xe5d6c000,
44540xe496e004,
44550xe797c10c,
44560xe004a2ae,
44570xe1a0b82e,
44580xe12fff1c,
44590x00000000,
44600xe1e0b00b,
44610xe5089000,
44620x000d8180,
44630xe795110b,
44640xe58d6008,
44650xe5192008,
44660xe1a00008,
44670xeb000000,
44680x00030036,
44690xe5189000,
44700x000d8180,
44710xe3e01000,
44720x000a0000,
44730xe5d6c000,
44740xe496e004,
44750xe18900fa,
44760xe797c10c,
44770xe004a2ae,
44780xe1a0b82e,
44790xe12fff1c,
44800x00000000,
44810xe1e0b00b,
44820x00000000,
44830xe5172000,
44840x000d8180,
44850xe5173000,
44860x000d8180,
44870xe5089000,
44880x000d8180,
44890xe58d6008,
44900xe1520003,
44910xe1a00008,
44920x2a000000,
44930x00050005,
44940x0006000b,
44950x00000000,
44960xe1a01a8b,
44970xe1a025ab,
44980xe1a0bac1,
44990xe1a01aa1,
45000xe37b0001,
45010x02811002,
45020xeb000000,
45030x00030037,
45040x00000000,
45050xe795110b,
45060xeb000000,
45070x00030038,
45080x00000000,
45090xe5189000,
45100x000d8180,
45110xe3e01000,
45120x000a0000,
45130xe5d6c000,
45140xe496e004,
45150xe18900fa,
45160xe797c10c,
45170xe004a2ae,
45180xe1a0b82e,
45190xe12fff1c,
45200x0006000f,
45210xeb000000,
45220x00030039,
45230xe1a00008,
45240xea000000,
45250x0005000b,
45260x00000000,
45270xe5191008,
45280xe1e0b00b,
45290xe5110000,
45300x000d8180,
45310xe795b10b,
45320x00000000,
45330xea000000,
45340x0005009f,
45350x00000000,
45360xea000000,
45370x000500a0,
45380x00000000,
45390xe004caae,
45400xe004b6ae,
45410xe18900dc,
45420xe18920db,
45430xe3710000,
45440x000a0000,
45450x1a000000,
45460x00050030,
45470xe3730000,
45480x000a0000,
45490x05103000,
45500x000d8180,
45510x05101000,
45520x000d8180,
45530x1a000000,
45540x00050009,
45550xe0833182,
45560xe1520001,
45570x31c320d0,
45580x2a000000,
45590x00050030,
45600xe5d6c000,
45610xe3730000,
45620x000a0000,
45630x0a000000,
45640x00050005,
45650x0006000b,
45660xe496e004,
45670xe18920fa,
45680xe797c10c,
45690xe004a2ae,
45700xe1a0b82e,
45710xe12fff1c,
45720x0006000f,
45730xe5101000,
45740x000d8180,
45750xe3510000,
45760x0a000000,
45770x0005000b,
45780xe5511000,
45790x000d8180,
45800xe3110000,
45810x000a0000,
45820x1a000000,
45830x0005000b,
45840xe004caae,
45850xea000000,
45860x00050030,
45870x00060013,
45880xe3730000,
45890x000a0000,
45900x01a0b002,
45910x0a000000,
45920x0005009f,
45930xea000000,
45940x00050030,
45950x00000000,
45960xe004caae,
45970xe20bb0ff,
45980xe18900dc,
45990xe1e0b00b,
46000xe795b10b,
46010xe3710000,
46020x000a0000,
46030x1a000000,
46040x0005002d,
46050x0006009f,
46060xe5102000,
46070x000d8180,
46080xe51b3000,
46090x000d8180,
46100xe510e000,
46110x000d8180,
46120xe1a0c000,
46130xe0022003,
46140xe0822082,
46150xe08ee182,
46160x0006000b,
46170xe14e00d0,
46180x000c8100,
46190xe14e20d0,
46200x000c8100,
46210xe51ee000,
46220x000d8180,
46230xe3710000,
46240x000a0000,
46250x0150000b,
46260x1a000000,
46270x00050004,
46280xe3730000,
46290x000a0000,
46300x0a000000,
46310x00050005,
46320x0006000d,
46330xe5d6c000,
46340xe496e004,
46350xe18920fa,
46360xe797c10c,
46370xe004a2ae,
46380xe1a0b82e,
46390xe12fff1c,
46400x0006000e,
46410xe35e0000,
46420x1a000000,
46430x0005000b,
46440x0006000f,
46450xe51c0000,
46460x000d8180,
46470xe3a02000,
46480xe3e03000,
46490x000a0000,
46500xe3500000,
46510x0a000000,
46520x0005000d,
46530xe5501000,
46540x000d8180,
46550x00000000,
46560xe3110000,
46570x000a0000,
46580x1a000000,
46590x0005000d,
46600xea000000,
46610x0005002e,
46620x00000000,
46630xe004caae,
46640xe20bb0ff,
46650xe18900dc,
46660xe3710000,
46670x000a0000,
46680x1a000000,
46690x0005002f,
46700xe5102000,
46710x000d8180,
46720xe5103000,
46730x000d8180,
46740xe1a0118b,
46750xe15b0002,
46760x318320d1,
46770x2a000000,
46780x0005002f,
46790xe5d6c000,
46800xe3730000,
46810x000a0000,
46820x0a000000,
46830x00050005,
46840x0006000b,
46850xe496e004,
46860xe18920fa,
46870xe797c10c,
46880xe004a2ae,
46890xe1a0b82e,
46900xe12fff1c,
46910x0006000f,
46920xe5101000,
46930x000d8180,
46940xe3510000,
46950x0a000000,
46960x0005000b,
46970xe5511000,
46980x000d8180,
46990xe3110000,
47000x000a0000,
47010x1a000000,
47020x0005000b,
47030xea000000,
47040x0005002f,
47050x00000000,
47060xe004caae,
47070xe004b6ae,
47080xe18900dc,
47090xe18920db,
47100xe3710000,
47110x000a0000,
47120x1a000000,
47130x00050034,
47140xe3730000,
47150x000a0000,
47160x05101000,
47170x000d8180,
47180x05103000,
47190x000d8180,
47200x1a000000,
47210x00050009,
47220xe0811182,
47230xe1520003,
47240x3591e004,
47250x2a000000,
47260x00050034,
47270xe5d6c000,
47280xe37e0000,
47290x000a0000,
47300xe550e000,
47310x000d8180,
47320xe18920da,
47330x0a000000,
47340x00050005,
47350x0006000b,
47360xe31e0000,
47370x000a0000,
47380xe1c120f0,
47390x1a000000,
47400x00050007,
47410x0006000c,
47420xe496e004,
47430xe797c10c,
47440xe004a2ae,
47450xe1a0b82e,
47460xe12fff1c,
47470x0006000f,
47480xe510a000,
47490x000d8180,
47500xe35a0000,
47510x0a000000,
47520x0005000b,
47530xe55aa000,
47540x000d8180,
47550xe31a0000,
47560x000a0000,
47570x1a000000,
47580x0005000b,
47590xe516e004,
47600xe004caae,
47610xe004a2ae,
47620xea000000,
47630x00050034,
47640x00060011,
47650x00000000,
47660xe5172000,
47670x000d8180,
47680xe3cee000,
47690x000a0000,
47700xe5070000,
47710x000d8180,
47720xe540e000,
47730x000d8180,
47740xe5002000,
47750x000d8180,
47760xea000000,
47770x0005000c,
47780x00060013,
47790xe3730000,
47800x000a0000,
47810x01a0b002,
47820x0a000000,
47830x000500a0,
47840xea000000,
47850x00050034,
47860x00000000,
47870xe004caae,
47880xe20bb0ff,
47890xe18900dc,
47900xe1e0b00b,
47910xe795b10b,
47920xe3710000,
47930x000a0000,
47940x1a000000,
47950x00050031,
47960x000600a0,
47970xe5102000,
47980x000d8180,
47990xe51b3000,
48000x000d8180,
48010xe510e000,
48020x000d8180,
48030xe1a0c000,
48040xe0022003,
48050xe0822082,
48060xe3a03000,
48070xe08ee182,
48080xe54c3000,
48090x000d8180,
48100x0006000b,
48110xe14e00d0,
48120x000c8100,
48130xe51e3000,
48140x000d8180,
48150xe51e2000,
48160x000d8180,
48170xe3710000,
48180x000a0000,
48190x0150000b,
48200x1a000000,
48210x00050005,
48220xe55c1000,
48230x000d8180,
48240xe3730000,
48250x000a0000,
48260xe18920da,
48270x0a000000,
48280x00050004,
48290x0006000c,
48300xe3110000,
48310x000a0000,
48320xe14e20f0,
48330x000c8100,
48340x1a000000,
48350x00050007,
48360x0006000d,
48370xe5d6c000,
48380xe496e004,
48390xe797c10c,
48400xe004a2ae,
48410xe1a0b82e,
48420xe12fff1c,
48430x0006000e,
48440x00000000,
48450xe51c0000,
48460x000d8180,
48470xe3500000,
48480x0a000000,
48490x0005000c,
48500xe5500000,
48510x000d8180,
48520xe3100000,
48530x000a0000,
48540x1a000000,
48550x0005000c,
48560xea000000,
48570x00050032,
48580x0006000f,
48590xe1b0e002,
48600x1a000000,
48610x0005000b,
48620xe51c0000,
48630x000d8180,
48640xe1a0200d,
48650xe58d6008,
48660xe3500000,
48670xe5089000,
48680x000d8180,
48690x15501000,
48700x000d8180,
48710xe1a00008,
48720x0a000000,
48730x00050006,
48740xe3110000,
48750x000a0000,
48760x0a000000,
48770x00050032,
48780x00060010,
48790xe3e03000,
48800x000a0000,
48810xe58db000,
48820xe1a0100c,
48830xe58d3004,
48840xeb000000,
48850x0003003a,
48860xe5189000,
48870x000d8180,
48880xe18920da,
48890xe1c020f0,
48900xea000000,
48910x0005000d,
48920x00060011,
48930xe5172000,
48940x000d8180,
48950xe3c11000,
48960x000a0000,
48970x00000000,
48980xe507c000,
48990x000d8180,
49000xe54c1000,
49010x000d8180,
49020xe50c2000,
49030x000d8180,
49040xea000000,
49050x0005000d,
49060x00000000,
49070xe004caae,
49080xe20bb0ff,
49090xe18900dc,
49100xe3710000,
49110x000a0000,
49120x1a000000,
49130x00050033,
49140xe5102000,
49150x000d8180,
49160xe510c000,
49170x000d8180,
49180xe1a0118b,
49190xe15b0002,
49200x31a120dc,
49210x2a000000,
49220x00050033,
49230xe5d6c000,
49240xe3730000,
49250x000a0000,
49260xe550e000,
49270x000d8180,
49280xe18920da,
49290x0a000000,
49300x00050005,
49310x0006000b,
49320xe31e0000,
49330x000a0000,
49340xe1c120f0,
49350x1a000000,
49360x00050007,
49370x0006000c,
49380xe496e004,
49390xe797c10c,
49400xe004a2ae,
49410xe1a0b82e,
49420xe12fff1c,
49430x0006000f,
49440xe510a000,
49450x000d8180,
49460xe35a0000,
49470x0a000000,
49480x0005000b,
49490xe55aa000,
49500x000d8180,
49510xe31a0000,
49520x000a0000,
49530x1a000000,
49540x0005000b,
49550xe516e004,
49560xe004a2ae,
49570xea000000,
49580x00050033,
49590x00060011,
49600xe5172000,
49610x000d8180,
49620xe3cee000,
49630x000a0000,
49640x00000000,
49650xe5070000,
49660x000d8180,
49670xe540e000,
49680x000d8180,
49690xe5002000,
49700x000d8180,
49710xea000000,
49720x0005000c,
49730x00000000,
49740xe089a00a,
49750x0006000b,
49760xe59dc004,
49770xe51a1008,
49780xe795018b,
49790xe25cc008,
49800xe5113000,
49810x000d8180,
49820x0a000000,
49830x00050004,
49840xe08021ac,
49850xe1520003,
49860xe5113000,
49870x000d8180,
49880xe08ac00c,
49890x8a000000,
49900x00050005,
49910xe083e180,
49920xe5510000,
49930x000d8180,
49940x0006000d,
49950xe0ca20d8,
49960xe0ce20f8,
49970xe15a000c,
49980x3a000000,
49990x0005000d,
50000xe3100000,
50010x000a0000,
50020x1a000000,
50030x00050007,
50040x0006000e,
50050xe5d6c000,
50060xe496e004,
50070xe797c10c,
50080xe004a2ae,
50090xe1a0b82e,
50100xe12fff1c,
50110x0006000f,
50120xe5089000,
50130x000d8180,
50140xe1a00008,
50150xe58d6008,
50160xeb000000,
50170x0003003b,
50180x00000000,
50190xe5189000,
50200x000d8180,
50210x00000000,
50220xea000000,
50230x0005000b,
50240x00060011,
50250xe5172000,
50260x000d8180,
50270xe3c00000,
50280x000a0000,
50290xe5071000,
50300x000d8180,
50310xe5410000,
50320x000d8180,
50330xe5012000,
50340x000d8180,
50350xea000000,
50360x0005000e,
50370x00000000,
50380xe59d0004,
50390xe004b6ae,
50400xe08bb000,
50410xea000000,
50420x000500a1,
50430x00000000,
50440xe004b6ae,
50450x000600a1,
50460xe1a0c009,
50470xe1a920da,
50480xe24bb008,
50490xe2899008,
50500xe3730000,
50510x000a0000,
50520x1a000000,
50530x00050025,
50540xe5096004,
50550xe5126000,
50560x000d8180,
50570xe5d6c000,
50580xe496e004,
50590xe797c10c,
50600xe004a2ae,
50610xe08aa009,
50620xe12fff1c,
50630x00000000,
50640xe59d0004,
50650xe080b18b,
50660xea000000,
50670x000500a2,
50680x00000000,
50690xe1a0b18b,
50700x000600a2,
50710xe1aa20d9,
50720xe24bb008,
50730xe28aa008,
50740xe3730000,
50750x000a0000,
50760x1a000000,
50770x00050042,
50780xe5196004,
50790x00060043,
50800xe3a0c000,
50810xe5523000,
50820x000d8180,
50830xe3160000,
50840x000a0000,
50850x1a000000,
50860x00050007,
50870x0006000b,
50880xe5092008,
50890xe35b0000,
50900x0a000000,
50910x00050003,
50920x0006000c,
50930xe18a00dc,
50940xe28ce008,
50950xe15e000b,
50960xe18900fc,
50970xe1a0c00e,
50980x1a000000,
50990x0005000c,
51000x0006000d,
51010xe3530001,
51020x8a000000,
51030x00050005,
51040x0006000e,
51050xe5126000,
51060x000d8180,
51070xe5d6c000,
51080xe496e004,
51090xe797c10c,
51100xe004a2ae,
51110xe08aa009,
51120xe12fff1c,
51130x0006000f,
51140xe516e004,
51150xe004a2ae,
51160xe049000a,
51170xe5100010,
51180xe5100000,
51190x000d8180,
51200xe5105000,
51210x000d8180,
51220xea000000,
51230x0005000e,
51240x00060011,
51250xe2266000,
51260x000a0000,
51270xe3160000,
51280x000a0000,
51290x00000000,
51300x13a03000,
51310x1a000000,
51320x0005000b,
51330xe0499006,
51340xe5196004,
51350xe3160000,
51360x000a0000,
51370x13a03000,
51380xea000000,
51390x0005000b,
51400x00000000,
51410xe089a00a,
51420xe1a0c009,
51430xe14a21d0,
51440xe14a00d8,
51450xe28a9008,
51460xe1ca20f8,
51470xe1ca01f0,
51480xe14a21d8,
51490xe3a0b010,
51500xe1ca20f0,
51510xe3730000,
51520x000a0000,
51530x1a000000,
51540x00050025,
51550xe5096004,
51560xe5126000,
51570x000d8180,
51580xe5d6c000,
51590xe496e004,
51600xe797c10c,
51610xe004a2ae,
51620xe08aa009,
51630xe12fff1c,
51640x00000000,
51650xe089a00a,
51660xe51ac010,
51670xe51a0008,
51680xe51ce000,
51690x000d8180,
51700xe51c1000,
51710x000d8180,
51720xe2866004,
51730x0006000b,
51740xe050b00e,
51750xe0812180,
51760x2a000000,
51770x00050005,
51780xe1c220d0,
51790xe3730000,
51800x000a0000,
51810x02800001,
51820x0a000000,
51830x0005000b,
51840xe156b0b2,
51850xe3e01000,
51860x000a0000,
51870xe1ca20f8,
51880xe086b10b,
51890xe280c001,
51900xe1ca00f0,
51910xe24b6b80,
51920xe50ac008,
51930x0006000d,
51940xe5d6c000,
51950xe496e004,
51960xe797c10c,
51970xe004a2ae,
51980xe1a0b82e,
51990xe12fff1c,
52000x0006000f,
52010xe51c3000,
52020x000d8180,
52030xe51cc000,
52040x000d8180,
52050x00060010,
52060xe08b008b,
52070xe15b0003,
52080xe08c2180,
52090x8a000000,
52100x0005000d,
52110xe14200d0,
52120x000c8100,
52130xe3710000,
52140x000a0000,
52150xe28bb001,
52160x0a000000,
52170x00050010,
52180xe156c0b2,
52190xe08bb00e,
52200xe14220d0,
52210x000c8100,
52220xe50ab008,
52230xe1ca00f8,
52240xe086b10c,
52250xe24b6b80,
52260xe1ca20f0,
52270xea000000,
52280x0005000d,
52290x00000000,
52300xe089a00a,
52310xe086b10b,
52320xe14a01d8,
52330xe51a200c,
52340xe51a3004,
52350xe3710000,
52360x000a0000,
52370x05500000,
52380x000d8180,
52390x03720000,
52400x000a0000,
52410x03730000,
52420x000a0000,
52430x03500000,
52440x000a0000,
52450x024b6b80,
52460x1a000000,
52470x00050005,
52480xe5d6c000,
52490xe496e004,
52500xe3a00000,
52510xe50a0008,
52520x0006000b,
52530xe797c10c,
52540xe004a2ae,
52550xe1a0b82e,
52560xe12fff1c,
52570x0006000f,
52580xe3a00000,
52590x000a0000,
52600xe3a0c000,
52610x000a0000,
52620xe5460004,
52630xe24b6b80,
52640xe5c6c000,
52650xe496e004,
52660xea000000,
52670x0005000b,
52680x00000000,
52690xe004caae,
52700xe004b6ae,
52710xe5190004,
52720xe089b00b,
52730xe089a00a,
52740xe28bb000,
52750x000a0000,
52760xe08a300c,
52770xe2492008,
52780xe04bb000,
52790xe35c0000,
52800xe042000b,
52810x0a000000,
52820x00050005,
52830xe2433010,
52840x0006000b,
52850xe15b0002,
52860x30cb00d8,
52870x23e01000,
52880x000a0000,
52890xe15a0003,
52900xe0ca00f8,
52910x3a000000,
52920x0005000b,
52930x0006000c,
52940xe5d6c000,
52950xe496e004,
52960xe797c10c,
52970xe004a2ae,
52980xe1a0b82e,
52990xe12fff1c,
53000x0006000f,
53010xe5183000,
53020x000d8180,
53030xe3500000,
53040xd3a0c008,
53050xc280c008,
53060xe08a1000,
53070xe58dc004,
53080xda000000,
53090x0005000c,
53100xe1510003,
53110x8a000000,
53120x00050007,
53130x00060010,
53140xe0cb00d8,
53150xe0ca00f8,
53160xe15b0002,
53170x3a000000,
53180x00050010,
53190xea000000,
53200x0005000c,
53210x00060011,
53220xe1a011a0,
53230xe508a000,
53240x000d8180,
53250xe1a00008,
53260xe5089000,
53270x000d8180,
53280xe04bb009,
53290xe58d6008,
53300xe04aa009,
53310xeb000000,
53320x00030000,
53330xe5189000,
53340x000d8180,
53350xe089a00a,
53360xe089b00b,
53370xe2492008,
53380xea000000,
53390x00050010,
53400x00000000,
53410xe59d0004,
53420xe5196004,
53430xe089a00a,
53440xe080b18b,
53450xea000000,
53460x000500a3,
53470x00000000,
53480xe5196004,
53490xe1a0b18b,
53500xe089a00a,
53510x000600a3,
53520xe58db004,
53530x0006000b,
53540xe2160000,
53550x000a0000,
53560xe2261000,
53570x000a0000,
53580x1a000000,
53590x000500a4,
53600x00060017,
53610xe516e004,
53620xe25b3008,
53630xe2492008,
53640x0a000000,
53650x00050003,
53660x0006000c,
53670xe0ca00d8,
53680xe2899008,
53690xe2533008,
53700xe14901f0,
53710x1a000000,
53720x0005000c,
53730x0006000d,
53740xe004a2ae,
53750xe042300a,
53760xe004caae,
53770xe5130008,
53780x0006000f,
53790xe15c000b,
53800x8a000000,
53810x00050006,
53820xe1a09003,
53830xe5101000,
53840x000d8180,
53850xe5d6c000,
53860xe496e004,
53870xe5115000,
53880x000d8180,
53890xe797c10c,
53900xe004a2ae,
53910xe1a0b82e,
53920xe12fff1c,
53930x00060010,
53940xe3e01000,
53950x000a0000,
53960xe2899008,
53970xe28bb008,
53980xe509100c,
53990xea000000,
54000x0005000f,
54010x000600a5,
54020xe089a00a,
54030x000600a4,
54040xe3110000,
54050x000a0000,
54060x1a000000,
54070x00050018,
54080xe0499001,
54090xe5196004,
54100xea000000,
54110x0005000b,
54120x00000000,
54130xe5196004,
54140xe1a0b18b,
54150xe58db004,
54160xe2160000,
54170x000a0000,
54180xe2261000,
54190x000a0000,
54200x0516e004,
54210x1a000000,
54220x000500a5,
54230x00000000,
54240xe18900da,
54250x00000000,
54260xe2493008,
54270xe004a2ae,
54280x00000000,
54290xe1c300f0,
54300x00000000,
54310xe043900a,
54320xe004caae,
54330xe5190008,
54340x0006000f,
54350xe15c000b,
54360x8a000000,
54370x00050006,
54380xe5101000,
54390x000d8180,
54400xe5d6c000,
54410xe496e004,
54420xe5115000,
54430x000d8180,
54440xe797c10c,
54450xe004a2ae,
54460xe1a0b82e,
54470xe12fff1c,
54480x00060010,
54490xe2431004,
54500xe3e02000,
54510x000a0000,
54520xe781200b,
54530xe28bb008,
54540xea000000,
54550x0005000f,
54560x00000000,
54570xe1a000a6,
54580xe200007e,
54590xe2400000,
54600x000a0000,
54610xe19710b0,
54620xe2511000,
54630x000a0000,
54640xe18710b0,
54650x3a000000,
54660x00050092,
54670x00000000,
54680xe1aa00d9,
54690x00000000,
54700xe086b10b,
54710x00000000,
54720xe1ca20d8,
54730xe3710000,
54740x000a0000,
54750xe59ac014,
54760x1a000000,
54770x00050005,
54780xe3730000,
54790x000a0000,
54800xe59a3010,
54810x037c0000,
54820x000a0000,
54830x1a000000,
54840x00050044,
54850xe3530000,
54860xba000000,
54870x00050004,
54880xe1500002,
54890x00000000,
54900xe1ca21d0,
54910xe3710000,
54920x000a0000,
54930x1a000000,
54940x00050005,
54950xe0900002,
54960xe59a3008,
54970x00000000,
54980x6286bb80,
54990x00000000,
55000x6a000000,
55010x00050002,
55020x00000000,
55030xe3520000,
55040xba000000,
55050x00050004,
55060xe1500003,
55070x00000000,
55080x0006000b,
55090x00000000,
55100xc24b6b80,
55110x00000000,
55120xe24b6b80,
55130xd156b0b2,
55140x00000000,
55150xd24b6b80,
55160x00000000,
55170xe1ca00f0,
55180x00000000,
55190x0006000c,
55200xe5d6c000,
55210xe496e004,
55220xe1ca01f8,
55230x00000000,
55240xda000000,
55250x00070000,
55260x00000000,
55270x0006000d,
55280xe797c10c,
55290xe004a2ae,
55300xe1a0b82e,
55310xe12fff1c,
55320x0006000e,
55330x00000000,
55340xe1520000,
55350x00000000,
55360xe1530000,
55370x00000000,
55380xea000000,
55390x0005000b,
55400x0006000f,
55410x00000000,
55420x33730000,
55430x000a0000,
55440x337c0000,
55450x000a0000,
55460x2a000000,
55470x00050044,
55480xe35c0000,
55490xe1ca00f0,
55500xe1ca01f8,
55510xba000000,
55520x00050008,
55530x00000000,
55540xe3530000,
55550xba000000,
55560x00050008,
55570xeb000000,
55580x0003002e,
55590xe1ca00f0,
55600xe1ca20d8,
55610xe1ca01f8,
55620x00000000,
55630x00060010,
55640xeb000000,
55650x00030024,
55660x00000000,
55670x824b6b80,
55680x00000000,
55690xe24b6b80,
55700x9156b0b2,
55710x9a000000,
55720x00070000,
55730x00000000,
55740x924b6b80,
55750x00000000,
55760x9a000000,
55770x00070000,
55780x00000000,
55790xe5d6c000,
55800xe496e004,
55810xea000000,
55820x0005000d,
55830x00060012,
55840x00000000,
55850xeb000000,
55860x0003002e,
55870xe1ca00f0,
55880xe1ca01f8,
55890x00000000,
55900xe1a02000,
55910xe1a03001,
55920xe1ca00d8,
55930xea000000,
55940x00050010,
55950x00000000,
55960xe1a000a6,
55970xe200007e,
55980xe2400000,
55990x000a0000,
56000xe19710b0,
56010xe2511000,
56020x000a0000,
56030xe18710b0,
56040x3a000000,
56050x00050092,
56060x00000000,
56070xe1aa00d9,
56080x00000000,
56090xe3710000,
56100x000a0000,
56110x114a00f8,
56120x1a000000,
56130x00070000,
56140x00000000,
56150xe086b10b,
56160xe3710000,
56170x000a0000,
56180x124b6b80,
56190x114a00f8,
56200x00000000,
56210xe5d6c000,
56220xe496e004,
56230xe797c10c,
56240xe004a2ae,
56250xe1a0b82e,
56260xe12fff1c,
56270x00000000,
56280xe1a000a6,
56290xe200007e,
56300xe2400000,
56310x000a0000,
56320xe19710b0,
56330xe2511000,
56340x000a0000,
56350xe18710b0,
56360x3a000000,
56370x00050092,
56380x00000000,
56390xe5d6c000,
56400xe496e004,
56410xe797c10c,
56420xe004a2ae,
56430xe1a0b82e,
56440xe12fff1c,
56450x00000000,
56460xe5170000,
56470x000d8180,
56480xe3a01000,
56490xe790b10b,
56500xe5071000,
56510x000d8180,
56520xe51ba000,
56530x000d8180,
56540xe5079000,
56550x000d8180,
56560xe5078000,
56570x000d8180,
56580xe12fff1a,
56590x00000000,
56600xe086b10b,
56610xe24b6b80,
56620xe5d6c000,
56630xe496e004,
56640xe797c10c,
56650xe004a2ae,
56660xe1a0b82e,
56670xe12fff1c,
56680x00000000,
56690xe1a000a6,
56700xe200007e,
56710xe2400000,
56720x000a0000,
56730xe19710b0,
56740xe2511000,
56750x000a0000,
56760xe18710b0,
56770x3a000000,
56780x00050094,
56790x00000000,
56800xe5180000,
56810x000d8180,
56820xe5561000,
56830x000d8180,
56840xe5165000,
56850x000d8180,
56860xe15a0000,
56870x8a000000,
56880x00050020,
56890x00000000,
56900xe5d6c000,
56910xe496e004,
56920x00000000,
56930x0006000c,
56940xe15b0181,
56950xe3e03000,
56960x000a0000,
56970x3a000000,
56980x00050003,
56990x00000000,
57000xe1a0b82e,
57010xea000000,
57020x00070000,
57030x00000000,
57040xe797c10c,
57050xe004a2ae,
57060xe1a0b82e,
57070xe12fff1c,
57080x00000000,
57090x0006000d,
57100xe18920fb,
57110xe28bb008,
57120xea000000,
57130x0005000c,
57140x00000000,
57150xe7f001f0,
57160x00000000,
57170xe5180000,
57180x000d8180,
57190xe089300b,
57200xe08aa00b,
57210xe5832000,
57220xe28b1000,
57230x000a0000,
57240xe5165000,
57250x000d8180,
57260xe15a0000,
57270xe5831004,
57280x2a000000,
57290x00050020,
57300xe556c000,
57310x000d8180,
57320xe1a0a009,
57330xe1a0b003,
57340xe35c0000,
57350xe2839008,
57360x0a000000,
57370x00050003,
57380xe3e02000,
57390x000a0000,
57400x0006000b,
57410xe15a000b,
57420x30ca00d8,
57430x21a01002,
57440x350a2004,
57450x0006000c,
57460xe25cc001,
57470xe1e300f8,
57480x1a000000,
57490x0005000b,
57500x0006000d,
57510xe5d6c000,
57520xe496e004,
57530xe797c10c,
57540xe004a2ae,
57550xe1a0b82e,
57560xe12fff1c,
57570x00000000,
57580xe5123000,
57590x000d8180,
57600x00000000,
57610xe5173000,
57620x000d8180,
57630x00000000,
57640xe08a100b,
57650xe5180000,
57660x000d8180,
57670xe089b00b,
57680xe5089000,
57690x000d8180,
57700xe1510000,
57710xe508b000,
57720x000d8180,
57730x00000000,
57740xe5121000,
57750x000d8180,
57760x00000000,
57770xe3e02000,
57780x000a0000,
57790xe1a00008,
57800x8a000000,
57810x0005001f,
57820xe5072000,
57830x000d8180,
57840xe12fff33,
57850xe5189000,
57860x000d8180,
57870xe3e02000,
57880x000a0000,
57890xe5181000,
57900x000d8180,
57910xe1a0b180,
57920xe5072000,
57930x000d8180,
57940xe5196004,
57950xe041a00b,
57960xea000000,
57970x00050016,
57980x00000000,
57990x00010000
5800};
5801
5802enum {
5803 GLOB_vm_returnp,
5804 GLOB_cont_dispatch,
5805 GLOB_vm_returnc,
5806 GLOB_BC_RET_Z,
5807 GLOB_vm_return,
5808 GLOB_vm_leave_cp,
5809 GLOB_vm_leave_unw,
5810 GLOB_vm_unwind_c,
5811 GLOB_vm_unwind_c_eh,
5812 GLOB_vm_unwind_ff,
5813 GLOB_vm_unwind_ff_eh,
5814 GLOB_vm_growstack_c,
5815 GLOB_vm_growstack_l,
5816 GLOB_vm_resume,
5817 GLOB_vm_pcall,
5818 GLOB_vm_call,
5819 GLOB_vm_call_dispatch,
5820 GLOB_vmeta_call,
5821 GLOB_vm_call_dispatch_f,
5822 GLOB_vm_cpcall,
5823 GLOB_cont_ffi_callback,
5824 GLOB_vm_call_tail,
5825 GLOB_cont_cat,
5826 GLOB_BC_CAT_Z,
5827 GLOB_cont_nop,
5828 GLOB_vmeta_tgets1,
5829 GLOB_vmeta_tgets,
5830 GLOB_vmeta_tgetb,
5831 GLOB_vmeta_tgetv,
5832 GLOB_vmeta_tsets1,
5833 GLOB_vmeta_tsets,
5834 GLOB_vmeta_tsetb,
5835 GLOB_vmeta_tsetv,
5836 GLOB_vmeta_comp,
5837 GLOB_vmeta_binop,
5838 GLOB_cont_ra,
5839 GLOB_cont_condt,
5840 GLOB_cont_condf,
5841 GLOB_vmeta_equal,
5842 GLOB_vmeta_equal_cd,
5843 GLOB_vmeta_arith_vn,
5844 GLOB_vmeta_arith_nv,
5845 GLOB_vmeta_unm,
5846 GLOB_vmeta_arith_vv,
5847 GLOB_vmeta_len,
5848 GLOB_BC_LEN_Z,
5849 GLOB_vmeta_callt,
5850 GLOB_BC_CALLT2_Z,
5851 GLOB_vmeta_for,
5852 GLOB_ff_assert,
5853 GLOB_fff_fallback,
5854 GLOB_fff_res,
5855 GLOB_ff_type,
5856 GLOB_fff_restv,
5857 GLOB_ff_getmetatable,
5858 GLOB_ff_setmetatable,
5859 GLOB_ff_rawget,
5860 GLOB_ff_tonumber,
5861 GLOB_ff_tostring,
5862 GLOB_fff_gcstep,
5863 GLOB_ff_next,
5864 GLOB_ff_pairs,
5865 GLOB_ff_ipairs_aux,
5866 GLOB_ff_ipairs,
5867 GLOB_ff_pcall,
5868 GLOB_ff_xpcall,
5869 GLOB_ff_coroutine_resume,
5870 GLOB_ff_coroutine_wrap_aux,
5871 GLOB_ff_coroutine_yield,
5872 GLOB_ff_math_floor,
5873 GLOB_vm_floor,
5874 GLOB_ff_math_ceil,
5875 GLOB_vm_ceil,
5876 GLOB_ff_math_abs,
5877 GLOB_fff_res1,
5878 GLOB_ff_math_sqrt,
5879 GLOB_ff_math_log,
5880 GLOB_ff_math_log10,
5881 GLOB_ff_math_exp,
5882 GLOB_ff_math_sin,
5883 GLOB_ff_math_cos,
5884 GLOB_ff_math_tan,
5885 GLOB_ff_math_asin,
5886 GLOB_ff_math_acos,
5887 GLOB_ff_math_atan,
5888 GLOB_ff_math_sinh,
5889 GLOB_ff_math_cosh,
5890 GLOB_ff_math_tanh,
5891 GLOB_ff_math_pow,
5892 GLOB_ff_math_atan2,
5893 GLOB_ff_math_fmod,
5894 GLOB_ff_math_deg,
5895 GLOB_ff_math_rad,
5896 GLOB_ff_math_ldexp,
5897 GLOB_ff_math_frexp,
5898 GLOB_ff_math_modf,
5899 GLOB_ff_math_min,
5900 GLOB_ff_math_max,
5901 GLOB_ff_string_len,
5902 GLOB_ff_string_byte,
5903 GLOB_ff_string_char,
5904 GLOB_fff_newstr,
5905 GLOB_ff_string_sub,
5906 GLOB_fff_emptystr,
5907 GLOB_ff_string_rep,
5908 GLOB_ff_string_reverse,
5909 GLOB_ff_string_lower,
5910 GLOB_ff_string_upper,
5911 GLOB_ff_table_getn,
5912 GLOB_vm_tobit_fb,
5913 GLOB_vm_tobit,
5914 GLOB_ff_bit_tobit,
5915 GLOB_ff_bit_band,
5916 GLOB_ff_bit_bor,
5917 GLOB_ff_bit_bxor,
5918 GLOB_ff_bit_bswap,
5919 GLOB_ff_bit_bnot,
5920 GLOB_ff_bit_lshift,
5921 GLOB_ff_bit_rshift,
5922 GLOB_ff_bit_arshift,
5923 GLOB_ff_bit_rol,
5924 GLOB_ff_bit_ror,
5925 GLOB_vm_record,
5926 GLOB_vm_rethook,
5927 GLOB_vm_inshook,
5928 GLOB_cont_hook,
5929 GLOB_vm_hotloop,
5930 GLOB_vm_callhook,
5931 GLOB_vm_hotcall,
5932 GLOB_vm_exit_handler,
5933 GLOB_vm_exit_interp,
5934 GLOB_vm_trunc,
5935 GLOB_vm_mod,
5936 GLOB_vm_modi,
5937 GLOB_vm_foldarith,
5938 GLOB_vm_ffi_callback,
5939 GLOB_vm_ffi_call,
5940 GLOB_BC_ISEQN_Z,
5941 GLOB_BC_ISNEN_Z,
5942 GLOB_BC_TGETS_Z,
5943 GLOB_BC_TSETS_Z,
5944 GLOB_BC_CALL_Z,
5945 GLOB_BC_CALLT1_Z,
5946 GLOB_BC_RETM_Z,
5947 GLOB_BC_RETV2_Z,
5948 GLOB_BC_RETV1_Z,
5949 GLOB__MAX
5950};
5951static const char *const globnames[] = {
5952 "vm_returnp",
5953 "cont_dispatch",
5954 "vm_returnc",
5955 "BC_RET_Z",
5956 "vm_return",
5957 "vm_leave_cp",
5958 "vm_leave_unw",
5959 "vm_unwind_c",
5960 "vm_unwind_c_eh",
5961 "vm_unwind_ff",
5962 "vm_unwind_ff_eh",
5963 "vm_growstack_c",
5964 "vm_growstack_l",
5965 "vm_resume",
5966 "vm_pcall",
5967 "vm_call",
5968 "vm_call_dispatch",
5969 "vmeta_call",
5970 "vm_call_dispatch_f",
5971 "vm_cpcall",
5972 "cont_ffi_callback",
5973 "vm_call_tail",
5974 "cont_cat",
5975 "BC_CAT_Z",
5976 "cont_nop",
5977 "vmeta_tgets1",
5978 "vmeta_tgets",
5979 "vmeta_tgetb",
5980 "vmeta_tgetv",
5981 "vmeta_tsets1",
5982 "vmeta_tsets",
5983 "vmeta_tsetb",
5984 "vmeta_tsetv",
5985 "vmeta_comp",
5986 "vmeta_binop",
5987 "cont_ra",
5988 "cont_condt",
5989 "cont_condf",
5990 "vmeta_equal",
5991 "vmeta_equal_cd",
5992 "vmeta_arith_vn",
5993 "vmeta_arith_nv",
5994 "vmeta_unm",
5995 "vmeta_arith_vv",
5996 "vmeta_len",
5997 "BC_LEN_Z",
5998 "vmeta_callt",
5999 "BC_CALLT2_Z",
6000 "vmeta_for",
6001 "ff_assert",
6002 "fff_fallback",
6003 "fff_res",
6004 "ff_type",
6005 "fff_restv",
6006 "ff_getmetatable",
6007 "ff_setmetatable",
6008 "ff_rawget",
6009 "ff_tonumber",
6010 "ff_tostring",
6011 "fff_gcstep",
6012 "ff_next",
6013 "ff_pairs",
6014 "ff_ipairs_aux",
6015 "ff_ipairs",
6016 "ff_pcall",
6017 "ff_xpcall",
6018 "ff_coroutine_resume",
6019 "ff_coroutine_wrap_aux",
6020 "ff_coroutine_yield",
6021 "ff_math_floor",
6022 "vm_floor",
6023 "ff_math_ceil",
6024 "vm_ceil",
6025 "ff_math_abs",
6026 "fff_res1",
6027 "ff_math_sqrt",
6028 "ff_math_log",
6029 "ff_math_log10",
6030 "ff_math_exp",
6031 "ff_math_sin",
6032 "ff_math_cos",
6033 "ff_math_tan",
6034 "ff_math_asin",
6035 "ff_math_acos",
6036 "ff_math_atan",
6037 "ff_math_sinh",
6038 "ff_math_cosh",
6039 "ff_math_tanh",
6040 "ff_math_pow",
6041 "ff_math_atan2",
6042 "ff_math_fmod",
6043 "ff_math_deg",
6044 "ff_math_rad",
6045 "ff_math_ldexp",
6046 "ff_math_frexp",
6047 "ff_math_modf",
6048 "ff_math_min",
6049 "ff_math_max",
6050 "ff_string_len",
6051 "ff_string_byte",
6052 "ff_string_char",
6053 "fff_newstr",
6054 "ff_string_sub",
6055 "fff_emptystr",
6056 "ff_string_rep",
6057 "ff_string_reverse",
6058 "ff_string_lower",
6059 "ff_string_upper",
6060 "ff_table_getn",
6061 "vm_tobit_fb",
6062 "vm_tobit",
6063 "ff_bit_tobit",
6064 "ff_bit_band",
6065 "ff_bit_bor",
6066 "ff_bit_bxor",
6067 "ff_bit_bswap",
6068 "ff_bit_bnot",
6069 "ff_bit_lshift",
6070 "ff_bit_rshift",
6071 "ff_bit_arshift",
6072 "ff_bit_rol",
6073 "ff_bit_ror",
6074 "vm_record",
6075 "vm_rethook",
6076 "vm_inshook",
6077 "cont_hook",
6078 "vm_hotloop",
6079 "vm_callhook",
6080 "vm_hotcall",
6081 "vm_exit_handler",
6082 "vm_exit_interp",
6083 "vm_trunc",
6084 "vm_mod",
6085 "vm_modi",
6086 "vm_foldarith",
6087 "vm_ffi_callback",
6088 "vm_ffi_call",
6089 "BC_ISEQN_Z",
6090 "BC_ISNEN_Z",
6091 "BC_TGETS_Z",
6092 "BC_TSETS_Z",
6093 "BC_CALL_Z",
6094 "BC_CALLT1_Z",
6095 "BC_RETM_Z",
6096 "BC_RETV2_Z",
6097 "BC_RETV1_Z",
6098 (const char *)0
6099};
6100static const char *const extnames[] = {
6101 "lj_state_growstack",
6102 "lj_meta_tget",
6103 "lj_meta_tset",
6104 "lj_meta_comp",
6105 "lj_meta_equal",
6106 "lj_meta_equal_cd",
6107 "lj_meta_arith",
6108 "lj_meta_len",
6109 "lj_meta_call",
6110 "lj_meta_for",
6111 "lj_tab_get",
6112 "lj_str_fromnumber",
6113 "lj_tab_next",
6114 "lj_tab_getinth",
6115 "lj_ffh_coroutine_wrap_err",
6116 "sqrt",
6117 "log",
6118 "log10",
6119 "exp",
6120 "sin",
6121 "cos",
6122 "tan",
6123 "asin",
6124 "acos",
6125 "atan",
6126 "sinh",
6127 "cosh",
6128 "tanh",
6129 "pow",
6130 "atan2",
6131 "fmod",
6132 "__aeabi_dmul",
6133 "ldexp",
6134 "frexp",
6135 "modf",
6136 "__aeabi_i2d",
6137 "__aeabi_cdcmple",
6138 "lj_str_new",
6139 "lj_tab_len",
6140 "lj_gc_step",
6141 "lj_dispatch_ins",
6142 "lj_trace_hot",
6143 "lj_dispatch_call",
6144 "lj_trace_exit",
6145 "lj_err_throw",
6146 "__aeabi_ddiv",
6147 "__aeabi_dadd",
6148 "__aeabi_dsub",
6149 "lj_ccallback_enter",
6150 "lj_ccallback_leave",
6151 "__aeabi_cdcmpeq",
6152 "lj_meta_cat",
6153 "lj_gc_barrieruv",
6154 "lj_func_closeuv",
6155 "lj_func_newL_gc",
6156 "lj_tab_new",
6157 "lj_tab_dup",
6158 "lj_gc_step_fixtop",
6159 "lj_tab_newkey",
6160 "lj_tab_reasize",
6161 (const char *)0
6162};
6163#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
6164#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
6165#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
6166#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
6167#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
6168#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
6169#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
6170#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
6171#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
6172#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
6173#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
6174#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
6175#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
6176#define field_pc pc
6177#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
6178#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
6179#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
6180
6181#if !LJ_DUALNUM
6182#error "Only dual-number mode supported for ARM target"
6183#endif
6184
6185/* Generate subroutines used by opcodes and other parts of the VM. */
6186/* The .code_sub section should be last to help static branch prediction. */
6187static void build_subroutines(BuildCtx *ctx)
6188{
6189 dasm_put(Dst, 0);
6190 dasm_put(Dst, 1, FRAME_P, ~LJ_TTRUE, FRAME_TYPE, FRAME_TYPEP, FRAME_C, Dt1(->base), LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->top));
6191 dasm_put(Dst, 54, Dt1(->cframe), Dt1(->maxstack), ~LJ_TNIL, Dt1(->top), Dt1(->top), LJ_VMST_C, Dt1(->glref), Dt2(->vmstate));
6192 dasm_put(Dst, 108, ~CFRAME_RAWMASK, Dt1(->base), Dt1(->glref), ~LJ_TFALSE, GG_G2DISP, LJ_VMST_INTERP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->field_pc), Dt1(->glref));
6193 dasm_put(Dst, 173, GG_G2DISP, FRAME_CP, CFRAME_RESUME, Dt1(->status), Dt1(->cframe), Dt1(->base), Dt1(->top), Dt1(->status), LJ_VMST_INTERP, FRAME_TYPE, DISPATCH_GL(vmstate), FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe));
6194 dasm_put(Dst, 238, Dt1(->glref), GG_G2DISP, Dt1(->base), Dt1(->top), LJ_VMST_INTERP, DISPATCH_GL(vmstate), -LJ_TFUNC, Dt7(->field_pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP);
6195 dasm_put(Dst, 307);
6196#if LJ_HASFFI
6197 dasm_put(Dst, 312);
6198#endif
6199 dasm_put(Dst, 314, Dt7(->field_pc), ~LJ_TNIL);
6200#if LJ_HASFFI
6201 dasm_put(Dst, 322);
6202#endif
6203 dasm_put(Dst, 325, PC2PROTO(k));
6204#if LJ_HASFFI
6205 dasm_put(Dst, 329);
6206#endif
6207 dasm_put(Dst, 338, Dt1(->base), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
6208 if (LJ_TARGET_IOS) {
6209 dasm_put(Dst, 395, Dt1(->base));
6210 }
6211 dasm_put(Dst, 398, FRAME_CONT, Dt1(->top), -DISPATCH_GL(tmptv), ~LJ_TTAB, ~LJ_TSTR, ~LJ_TISNUM, Dt1(->base));
6212 if (LJ_TARGET_IOS) {
6213 dasm_put(Dst, 460, Dt1(->base));
6214 }
6215 dasm_put(Dst, 463, FRAME_CONT, Dt1(->top), Dt1(->base));
6216 if (LJ_TARGET_IOS) {
6217 dasm_put(Dst, 499, Dt1(->base));
6218 }
6219 dasm_put(Dst, 502, ~LJ_TTRUE, -LJ_TFALSE, Dt1(->base));
6220#if LJ_HASFFI
6221 dasm_put(Dst, 549, Dt1(->base));
6222#endif
6223 dasm_put(Dst, 560, Dt1(->base));
6224 if (LJ_TARGET_IOS) {
6225 dasm_put(Dst, 597, Dt1(->base));
6226 }
6227 dasm_put(Dst, 600, FRAME_CONT, Dt1(->base));
6228 if (LJ_TARGET_IOS) {
6229 dasm_put(Dst, 621, Dt1(->base));
6230 }
6231#ifdef LUAJIT_ENABLE_LUA52COMPAT
6232 dasm_put(Dst, 624);
6233#else
6234 dasm_put(Dst, 631);
6235#endif
6236 dasm_put(Dst, 634, Dt1(->base));
6237 if (LJ_TARGET_IOS) {
6238 dasm_put(Dst, 642);
6239 }
6240 dasm_put(Dst, 644);
6241 if (LJ_TARGET_IOS) {
6242 dasm_put(Dst, 647);
6243 }
6244 dasm_put(Dst, 649, Dt7(->field_pc), Dt1(->base));
6245 if (LJ_TARGET_IOS) {
6246 dasm_put(Dst, 670, Dt1(->base));
6247 }
6248 dasm_put(Dst, 673, Dt1(->base));
6249 if (LJ_TARGET_IOS) {
6250 dasm_put(Dst, 687, Dt1(->base));
6251 }
6252#if LJ_HASJIT
6253 dasm_put(Dst, 690);
6254#endif
6255 dasm_put(Dst, 692);
6256#if LJ_HASJIT
6257 dasm_put(Dst, 694, BC_JFORI);
6258#endif
6259 dasm_put(Dst, 697);
6260#if LJ_HASJIT
6261 dasm_put(Dst, 700, BC_JFORI);
6262#endif
6263 dasm_put(Dst, 703, BC_FORI, -LJ_TTRUE, -LJ_TISNUM, ~LJ_TISNUM, (int)(offsetof(GCfuncC, upvalue)>>3)-1, -LJ_TTAB, -LJ_TUDATA, Dt6(->metatable));
6264 dasm_put(Dst, 760, ~LJ_TNIL, DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, ~LJ_TTAB, -LJ_TNIL, -LJ_TISNUM);
6265 dasm_put(Dst, 808, ~LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT]), -LJ_TTAB, Dt6(->metatable), -LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TTAB);
6266 dasm_put(Dst, 860);
6267 if (LJ_TARGET_IOS) {
6268 dasm_put(Dst, 865);
6269 }
6270 dasm_put(Dst, 867);
6271 if (LJ_TARGET_IOS) {
6272 dasm_put(Dst, 870);
6273 }
6274 dasm_put(Dst, 872, -LJ_TISNUM, -LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), -LJ_TISNUM, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), ~LJ_TSTR);
6275 dasm_put(Dst, 924, ~LJ_TNIL, -LJ_TTAB, Dt1(->base), Dt1(->top));
6276 if (LJ_TARGET_IOS) {
6277 dasm_put(Dst, 947, Dt1(->base));
6278 }
6279 dasm_put(Dst, 950, ~LJ_TNIL, (2+1)*8, -LJ_TTAB);
6280#ifdef LUAJIT_ENABLE_LUA52COMPAT
6281 dasm_put(Dst, 973, Dt6(->metatable));
6282#endif
6283 dasm_put(Dst, 976, Dt8(->upvalue[0]));
6284#ifdef LUAJIT_ENABLE_LUA52COMPAT
6285 dasm_put(Dst, 980);
6286#endif
6287 dasm_put(Dst, 984, ~LJ_TNIL, (3+1)*8, -LJ_TTAB, -LJ_TISNUM, Dt6(->asize), Dt6(->array), (0+1)*8, -LJ_TNIL, (2+1)*8, Dt6(->hmask));
6288 if (LJ_TARGET_IOS) {
6289 dasm_put(Dst, 1034);
6290 }
6291 dasm_put(Dst, 1036);
6292 if (LJ_TARGET_IOS) {
6293 dasm_put(Dst, 1039);
6294 }
6295 dasm_put(Dst, 1041, -LJ_TTAB);
6296#ifdef LUAJIT_ENABLE_LUA52COMPAT
6297 dasm_put(Dst, 1057, Dt6(->metatable));
6298#endif
6299 dasm_put(Dst, 1060, Dt8(->upvalue[0]));
6300#ifdef LUAJIT_ENABLE_LUA52COMPAT
6301 dasm_put(Dst, 1064);
6302#endif
6303 dasm_put(Dst, 1068, ~LJ_TISNUM, (3+1)*8, DISPATCH_GL(hookmask), HOOK_ACTIVE, 8+FRAME_PCALL, 8+FRAME_PCALLH, DISPATCH_GL(hookmask), -LJ_TFUNC, HOOK_ACTIVE, 16+FRAME_PCALL, 16+FRAME_PCALLH, -LJ_TTHREAD);
6304 dasm_put(Dst, 1127, Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
6305 dasm_put(Dst, 1186, Dt1(->base), Dt1(->maxstack), Dt1(->top), ~LJ_TTRUE, FRAME_TYPE, ~LJ_TFALSE, (2+1)*8, Dt1(->top));
6306 dasm_put(Dst, 1246, Dt8(->upvalue[0].gcr), Dt1(->base), Dt1(->top), Dt1(->status), Dt1(->base), Dt1(->maxstack), Dt1(->cframe), LUA_YIELD, Dt1(->top), Dt1(->top), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), LUA_YIELD);
6307 dasm_put(Dst, 1302, Dt1(->base), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top));
6308 dasm_put(Dst, 1361, LUA_YIELD, Dt1(->cframe), Dt1(->status), -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
6309 dasm_put(Dst, 1429, -LJ_TISNUM, ~LJ_TISNUM, ~LJ_TISNUM);
6310 dasm_put(Dst, 1493, -LJ_TISNUM, (1+1)*8, FRAME_TYPE, ~LJ_TNIL);
6311 dasm_put(Dst, 1555, -LJ_TISNUM);
6312 if (LJ_TARGET_IOS) {
6313 dasm_put(Dst, 1564);
6314 }
6315 dasm_put(Dst, 1566);
6316 if (LJ_TARGET_IOS) {
6317 dasm_put(Dst, 1569);
6318 }
6319 dasm_put(Dst, 1571, -LJ_TISNUM);
6320 if (LJ_TARGET_IOS) {
6321 dasm_put(Dst, 1583);
6322 }
6323 dasm_put(Dst, 1585);
6324 if (LJ_TARGET_IOS) {
6325 dasm_put(Dst, 1588);
6326 }
6327 dasm_put(Dst, 1590, -LJ_TISNUM);
6328 if (LJ_TARGET_IOS) {
6329 dasm_put(Dst, 1602);
6330 }
6331 dasm_put(Dst, 1604);
6332 if (LJ_TARGET_IOS) {
6333 dasm_put(Dst, 1607);
6334 }
6335 dasm_put(Dst, 1609, -LJ_TISNUM);
6336 if (LJ_TARGET_IOS) {
6337 dasm_put(Dst, 1621);
6338 }
6339 dasm_put(Dst, 1623);
6340 if (LJ_TARGET_IOS) {
6341 dasm_put(Dst, 1626);
6342 }
6343 dasm_put(Dst, 1628, -LJ_TISNUM);
6344 if (LJ_TARGET_IOS) {
6345 dasm_put(Dst, 1640);
6346 }
6347 dasm_put(Dst, 1642);
6348 if (LJ_TARGET_IOS) {
6349 dasm_put(Dst, 1645);
6350 }
6351 dasm_put(Dst, 1647, -LJ_TISNUM);
6352 if (LJ_TARGET_IOS) {
6353 dasm_put(Dst, 1659);
6354 }
6355 dasm_put(Dst, 1661);
6356 if (LJ_TARGET_IOS) {
6357 dasm_put(Dst, 1664);
6358 }
6359 dasm_put(Dst, 1666, -LJ_TISNUM);
6360 if (LJ_TARGET_IOS) {
6361 dasm_put(Dst, 1678);
6362 }
6363 dasm_put(Dst, 1680);
6364 if (LJ_TARGET_IOS) {
6365 dasm_put(Dst, 1683);
6366 }
6367 dasm_put(Dst, 1685, -LJ_TISNUM);
6368 if (LJ_TARGET_IOS) {
6369 dasm_put(Dst, 1697);
6370 }
6371 dasm_put(Dst, 1699);
6372 if (LJ_TARGET_IOS) {
6373 dasm_put(Dst, 1702);
6374 }
6375 dasm_put(Dst, 1704, -LJ_TISNUM);
6376 if (LJ_TARGET_IOS) {
6377 dasm_put(Dst, 1716);
6378 }
6379 dasm_put(Dst, 1718);
6380 if (LJ_TARGET_IOS) {
6381 dasm_put(Dst, 1721);
6382 }
6383 dasm_put(Dst, 1723, -LJ_TISNUM);
6384 if (LJ_TARGET_IOS) {
6385 dasm_put(Dst, 1735);
6386 }
6387 dasm_put(Dst, 1737);
6388 if (LJ_TARGET_IOS) {
6389 dasm_put(Dst, 1740);
6390 }
6391 dasm_put(Dst, 1742, -LJ_TISNUM);
6392 if (LJ_TARGET_IOS) {
6393 dasm_put(Dst, 1754);
6394 }
6395 dasm_put(Dst, 1756);
6396 if (LJ_TARGET_IOS) {
6397 dasm_put(Dst, 1759);
6398 }
6399 dasm_put(Dst, 1761, -LJ_TISNUM);
6400 if (LJ_TARGET_IOS) {
6401 dasm_put(Dst, 1773);
6402 }
6403 dasm_put(Dst, 1775);
6404 if (LJ_TARGET_IOS) {
6405 dasm_put(Dst, 1778);
6406 }
6407 dasm_put(Dst, 1780, -LJ_TISNUM);
6408 if (LJ_TARGET_IOS) {
6409 dasm_put(Dst, 1792);
6410 }
6411 dasm_put(Dst, 1794);
6412 if (LJ_TARGET_IOS) {
6413 dasm_put(Dst, 1797);
6414 }
6415 dasm_put(Dst, 1799, -LJ_TISNUM, -LJ_TISNUM);
6416 if (LJ_TARGET_IOS) {
6417 dasm_put(Dst, 1814);
6418 }
6419 dasm_put(Dst, 1816);
6420 if (LJ_TARGET_IOS) {
6421 dasm_put(Dst, 1819);
6422 }
6423 dasm_put(Dst, 1821, -LJ_TISNUM, -LJ_TISNUM);
6424 if (LJ_TARGET_IOS) {
6425 dasm_put(Dst, 1836);
6426 }
6427 dasm_put(Dst, 1838);
6428 if (LJ_TARGET_IOS) {
6429 dasm_put(Dst, 1841);
6430 }
6431 dasm_put(Dst, 1843, -LJ_TISNUM, -LJ_TISNUM);
6432 if (LJ_TARGET_IOS) {
6433 dasm_put(Dst, 1858);
6434 }
6435 dasm_put(Dst, 1860);
6436 if (LJ_TARGET_IOS) {
6437 dasm_put(Dst, 1863);
6438 }
6439 dasm_put(Dst, 1865, -LJ_TISNUM, Dt8(->upvalue[0]), -LJ_TISNUM, -LJ_TISNUM);
6440 if (LJ_TARGET_IOS) {
6441 dasm_put(Dst, 1898);
6442 }
6443 dasm_put(Dst, 1900);
6444 if (LJ_TARGET_IOS) {
6445 dasm_put(Dst, 1903);
6446 }
6447 dasm_put(Dst, 1905, -LJ_TISNUM);
6448 if (LJ_TARGET_IOS) {
6449 dasm_put(Dst, 1918);
6450 }
6451 dasm_put(Dst, 1920);
6452 if (LJ_TARGET_IOS) {
6453 dasm_put(Dst, 1923);
6454 }
6455 dasm_put(Dst, 1925, ~LJ_TISNUM, (2+1)*8, -LJ_TISNUM);
6456 if (LJ_TARGET_IOS) {
6457 dasm_put(Dst, 1947);
6458 }
6459 dasm_put(Dst, 1949);
6460 if (LJ_TARGET_IOS) {
6461 dasm_put(Dst, 1952);
6462 }
6463 dasm_put(Dst, 1954, (2+1)*8, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
6464 dasm_put(Dst, 2005, -LJ_TISNUM, -LJ_TISNUM);
6465 dasm_put(Dst, 2059, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TSTR, Dt5(->len), Dt5([1]));
6466 dasm_put(Dst, 2113, ~LJ_TISNUM, (0+1)*8, (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TISNUM, Dt1(->base), Dt1(->base), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
6467 dasm_put(Dst, 2172, -LJ_TISNUM, -LJ_TSTR, Dt5(->len), -LJ_TISNUM, sizeof(GCstr)-1, -DISPATCH_GL(strempty), ~LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, -LJ_TISNUM, Dt5(->len));
6468 dasm_put(Dst, 2234, DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr));
6469 dasm_put(Dst, 2287, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
6470 dasm_put(Dst, 2347, -LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), DISPATCH_GL(tmpbuf.buf), sizeof(GCstr), -LJ_TTAB);
6471 if (LJ_TARGET_IOS) {
6472 dasm_put(Dst, 2385);
6473 }
6474 dasm_put(Dst, 2387);
6475 if (LJ_TARGET_IOS) {
6476 dasm_put(Dst, 2390);
6477 }
6478 dasm_put(Dst, 2392, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
6479 dasm_put(Dst, 2463, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
6480 dasm_put(Dst, 2523, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM);
6481 dasm_put(Dst, 2579, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM);
6482 dasm_put(Dst, 2636, -LJ_TISNUM, -LJ_TISNUM, ~LJ_TISNUM, Dt1(->maxstack), Dt1(->top), Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->base), Dt1(->top), Dt7(->field_pc), FRAME_TYPE, FRAME_TYPEP);
6483 dasm_put(Dst, 2699, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base));
6484#if LJ_HASJIT
6485 dasm_put(Dst, 2734, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
6486#endif
6487 dasm_put(Dst, 2754, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, Dt1(->base), Dt1(->base));
6488 dasm_put(Dst, 2800, GG_DISP2STATIC);
6489#if LJ_HASJIT
6490 dasm_put(Dst, 2816, -GG_DISP2J, Dt7(->field_pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), Dt1(->top));
6491#endif
6492 dasm_put(Dst, 2837);
6493#if LJ_HASJIT
6494 dasm_put(Dst, 2840);
6495#endif
6496 dasm_put(Dst, 2843);
6497#if LJ_HASJIT
6498 dasm_put(Dst, 2845);
6499#endif
6500 dasm_put(Dst, 2848, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
6501#if LJ_HASJIT
6502 dasm_put(Dst, 2871, LJ_VMST_EXIT, DISPATCH_GL(vmstate), DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(exitno), DISPATCH_J(L), Dt1(->base), DISPATCH_GL(jit_L), -GG_DISP2J, Dt1(->cframe), Dt1(->base), ~CFRAME_RAWMASK);
6503#endif
6504 dasm_put(Dst, 2919);
6505#if LJ_HASJIT
6506 dasm_put(Dst, 2921, Dt7(->field_pc), DISPATCH_GL(jit_L), LJ_VMST_INTERP, PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF);
6507#endif
6508 dasm_put(Dst, 2958);
6509#if LJ_HASJIT
6510 dasm_put(Dst, 3034);
6511#endif
6512 dasm_put(Dst, 3048);
6513 {
6514 int i;
6515 for (i = 31; i >= 0; i--) {
6516 dasm_put(Dst, 3084, i, i);
6517 }
6518 }
6519 dasm_put(Dst, 3089);
6520#if LJ_HASJIT
6521 dasm_put(Dst, 3118);
6522#else
6523 dasm_put(Dst, 3143);
6524#endif
6525 dasm_put(Dst, 3145);
6526#if LJ_HASFFI
6527#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
6528 dasm_put(Dst, 3147, Dt2(->ctype_state), GG_G2DISP, DtE(->cb.gpr[0]), DtE(->cb.gpr[2]), CFRAME_SIZE, DtE(->cb.stack), DtE(->cb.slot), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate), Dt7(->field_pc));
6529#endif
6530 dasm_put(Dst, 3190);
6531#if LJ_HASFFI
6532 dasm_put(Dst, 3192, DISPATCH_GL(ctype_state), Dt1(->base), Dt1(->top), DtE(->L), DtE(->cb.gpr[0]));
6533#endif
6534 dasm_put(Dst, 3209);
6535#if LJ_HASFFI
6536#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
6537 dasm_put(Dst, 3211, DtF(->spadj), DtF(->nsp), offsetof(CCallState, stack), DtF(->func), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->gpr[0]), DtF(->gpr[1]));
6538#endif
6539}
6540
6541/* Generate the code for a single instruction. */
6542static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6543{
6544 int vk = 0;
6545 dasm_put(Dst, 3249, defop);
6546
6547 switch (op) {
6548
6549 /* -- Comparison ops ---------------------------------------------------- */
6550
6551 /* Remember: all ops branch for a true comparison, fall through otherwise. */
6552
6553 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
6554 dasm_put(Dst, 3251, -LJ_TISNUM, -LJ_TISNUM);
6555 if (op == BC_ISLT) {
6556 dasm_put(Dst, 3267);
6557 } else if (op == BC_ISGE) {
6558 dasm_put(Dst, 3269);
6559 } else if (op == BC_ISLE) {
6560 dasm_put(Dst, 3271);
6561 } else {
6562 dasm_put(Dst, 3273);
6563 }
6564 dasm_put(Dst, 3275, -LJ_TISNUM);
6565 if (op == BC_ISLT) {
6566 dasm_put(Dst, 3311);
6567 } else if (op == BC_ISGE) {
6568 dasm_put(Dst, 3313);
6569 } else if (op == BC_ISLE) {
6570 dasm_put(Dst, 3315);
6571 } else {
6572 dasm_put(Dst, 3317);
6573 }
6574 dasm_put(Dst, 3319);
6575 break;
6576
6577 case BC_ISEQV: case BC_ISNEV:
6578 vk = op == BC_ISEQV;
6579 dasm_put(Dst, 3322, -LJ_TISNUM, -LJ_TISNUM);
6580 if (vk) {
6581 dasm_put(Dst, 3333);
6582 } else {
6583 dasm_put(Dst, 3336);
6584 }
6585 if (LJ_HASFFI) {
6586 dasm_put(Dst, 3339, -LJ_TCDATA, -LJ_TCDATA);
6587 }
6588 dasm_put(Dst, 3346, -LJ_TISPRI);
6589 if (vk) {
6590 dasm_put(Dst, 3355, -LJ_TISTABUD);
6591 } else {
6592 dasm_put(Dst, 3372, -LJ_TISTABUD);
6593 }
6594 dasm_put(Dst, 3379, Dt6(->metatable));
6595 if (vk) {
6596 dasm_put(Dst, 3383);
6597 } else {
6598 dasm_put(Dst, 3386);
6599 }
6600 dasm_put(Dst, 3389, Dt6(->nomm), 1-vk, 1<<MM_eq);
6601 if (vk) {
6602 dasm_put(Dst, 3399);
6603 } else {
6604 dasm_put(Dst, 3402);
6605 }
6606 break;
6607
6608 case BC_ISEQS: case BC_ISNES:
6609 vk = op == BC_ISEQS;
6610 dasm_put(Dst, 3412, -LJ_TSTR);
6611 if (LJ_HASFFI) {
6612 dasm_put(Dst, 3421);
6613 } else {
6614 dasm_put(Dst, 3425);
6615 }
6616 if (vk) {
6617 dasm_put(Dst, 3427);
6618 } else {
6619 dasm_put(Dst, 3430);
6620 }
6621 dasm_put(Dst, 3433);
6622 if (LJ_HASFFI) {
6623 dasm_put(Dst, 3440, -LJ_TCDATA);
6624 }
6625 break;
6626
6627 case BC_ISEQN: case BC_ISNEN:
6628 vk = op == BC_ISEQN;
6629 dasm_put(Dst, 3448);
6630 if (vk) {
6631 dasm_put(Dst, 3455);
6632 } else {
6633 dasm_put(Dst, 3457);
6634 }
6635 dasm_put(Dst, 3459, -LJ_TISNUM, -LJ_TISNUM);
6636 if (vk) {
6637 dasm_put(Dst, 3469);
6638 } else {
6639 dasm_put(Dst, 3472);
6640 }
6641 dasm_put(Dst, 3475);
6642 if (LJ_HASFFI) {
6643 dasm_put(Dst, 3484);
6644 } else {
6645 if (!vk) {
6646 dasm_put(Dst, 3487);
6647 }
6648 dasm_put(Dst, 3489);
6649 }
6650 dasm_put(Dst, 3492, -LJ_TISNUM);
6651 if (vk) {
6652 dasm_put(Dst, 3508);
6653 } else {
6654 dasm_put(Dst, 3510);
6655 }
6656 dasm_put(Dst, 3512);
6657 if (LJ_HASFFI) {
6658 dasm_put(Dst, 3515, -LJ_TCDATA);
6659 }
6660 break;
6661
6662 case BC_ISEQP: case BC_ISNEP:
6663 vk = op == BC_ISEQP;
6664 dasm_put(Dst, 3523);
6665 if (LJ_HASFFI) {
6666 dasm_put(Dst, 3529, -LJ_TCDATA);
6667 }
6668 dasm_put(Dst, 3534);
6669 if (vk) {
6670 dasm_put(Dst, 3536);
6671 } else {
6672 dasm_put(Dst, 3538);
6673 }
6674 dasm_put(Dst, 3540);
6675 break;
6676
6677 /* -- Unary test and copy ops ------------------------------------------- */
6678
6679 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
6680 dasm_put(Dst, 3547, -LJ_TTRUE);
6681 if (op == BC_ISTC || op == BC_IST) {
6682 dasm_put(Dst, 3555);
6683 if (op == BC_ISTC) {
6684 dasm_put(Dst, 3557);
6685 }
6686 } else {
6687 dasm_put(Dst, 3559);
6688 if (op == BC_ISFC) {
6689 dasm_put(Dst, 3561);
6690 }
6691 }
6692 dasm_put(Dst, 3563);
6693 break;
6694
6695 /* -- Unary ops --------------------------------------------------------- */
6696
6697 case BC_MOV:
6698 dasm_put(Dst, 3570);
6699 break;
6700 case BC_NOT:
6701 dasm_put(Dst, 3580, -LJ_TTRUE, ~LJ_TFALSE, ~LJ_TTRUE);
6702 break;
6703 case BC_UNM:
6704 dasm_put(Dst, 3597, -LJ_TISNUM);
6705 break;
6706 case BC_LEN:
6707 dasm_put(Dst, 3623, -LJ_TSTR, Dt5(->len), ~LJ_TISNUM, -LJ_TTAB);
6708#ifdef LUAJIT_ENABLE_LUA52COMPAT
6709 dasm_put(Dst, 3647, Dt6(->metatable));
6710#endif
6711 dasm_put(Dst, 3654);
6712 if (LJ_TARGET_IOS) {
6713 dasm_put(Dst, 3656);
6714 }
6715 dasm_put(Dst, 3658);
6716 if (LJ_TARGET_IOS) {
6717 dasm_put(Dst, 3661);
6718 }
6719 dasm_put(Dst, 3663);
6720#ifdef LUAJIT_ENABLE_LUA52COMPAT
6721 dasm_put(Dst, 3666, Dt6(->nomm), 1<<MM_len);
6722#endif
6723 break;
6724
6725 /* -- Binary ops -------------------------------------------------------- */
6726
6727
6728 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
6729 dasm_put(Dst, 3676);
6730 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6731 switch (vk) {
6732 case 0:
6733 dasm_put(Dst, 3679);
6734 break;
6735 case 1:
6736 dasm_put(Dst, 3682);
6737 break;
6738 default:
6739 dasm_put(Dst, 3685);
6740 break;
6741 }
6742 dasm_put(Dst, 3688);
6743 if (vk == 1) {
6744 dasm_put(Dst, 3690, -LJ_TISNUM, -LJ_TISNUM);
6745 } else {
6746 dasm_put(Dst, 3695, -LJ_TISNUM, -LJ_TISNUM);
6747 }
6748 dasm_put(Dst, 3700);
6749 switch (vk) {
6750 case 0:
6751 dasm_put(Dst, 3704);
6752 break;
6753 case 1:
6754 dasm_put(Dst, 3707);
6755 break;
6756 default:
6757 dasm_put(Dst, 3710);
6758 break;
6759 }
6760 dasm_put(Dst, 3713);
6761 switch (vk) {
6762 case 0:
6763 if (vk == 1) {
6764 dasm_put(Dst, 3722, -LJ_TISNUM, -LJ_TISNUM);
6765 } else {
6766 dasm_put(Dst, 3727, -LJ_TISNUM, -LJ_TISNUM);
6767 }
6768 dasm_put(Dst, 3732);
6769 break;
6770 case 1:
6771 if (vk == 1) {
6772 dasm_put(Dst, 3735, -LJ_TISNUM, -LJ_TISNUM);
6773 } else {
6774 dasm_put(Dst, 3740, -LJ_TISNUM, -LJ_TISNUM);
6775 }
6776 dasm_put(Dst, 3745);
6777 break;
6778 default:
6779 if (vk == 1) {
6780 dasm_put(Dst, 3748, -LJ_TISNUM, -LJ_TISNUM);
6781 } else {
6782 dasm_put(Dst, 3753, -LJ_TISNUM, -LJ_TISNUM);
6783 }
6784 dasm_put(Dst, 3758);
6785 break;
6786 }
6787 dasm_put(Dst, 3761);
6788 break;
6789 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
6790 dasm_put(Dst, 3767);
6791 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6792 switch (vk) {
6793 case 0:
6794 dasm_put(Dst, 3770);
6795 break;
6796 case 1:
6797 dasm_put(Dst, 3773);
6798 break;
6799 default:
6800 dasm_put(Dst, 3776);
6801 break;
6802 }
6803 dasm_put(Dst, 3779);
6804 if (vk == 1) {
6805 dasm_put(Dst, 3781, -LJ_TISNUM, -LJ_TISNUM);
6806 } else {
6807 dasm_put(Dst, 3786, -LJ_TISNUM, -LJ_TISNUM);
6808 }
6809 dasm_put(Dst, 3791);
6810 switch (vk) {
6811 case 0:
6812 dasm_put(Dst, 3795);
6813 break;
6814 case 1:
6815 dasm_put(Dst, 3798);
6816 break;
6817 default:
6818 dasm_put(Dst, 3801);
6819 break;
6820 }
6821 dasm_put(Dst, 3804);
6822 switch (vk) {
6823 case 0:
6824 if (vk == 1) {
6825 dasm_put(Dst, 3813, -LJ_TISNUM, -LJ_TISNUM);
6826 } else {
6827 dasm_put(Dst, 3818, -LJ_TISNUM, -LJ_TISNUM);
6828 }
6829 dasm_put(Dst, 3823);
6830 break;
6831 case 1:
6832 if (vk == 1) {
6833 dasm_put(Dst, 3826, -LJ_TISNUM, -LJ_TISNUM);
6834 } else {
6835 dasm_put(Dst, 3831, -LJ_TISNUM, -LJ_TISNUM);
6836 }
6837 dasm_put(Dst, 3836);
6838 break;
6839 default:
6840 if (vk == 1) {
6841 dasm_put(Dst, 3839, -LJ_TISNUM, -LJ_TISNUM);
6842 } else {
6843 dasm_put(Dst, 3844, -LJ_TISNUM, -LJ_TISNUM);
6844 }
6845 dasm_put(Dst, 3849);
6846 break;
6847 }
6848 dasm_put(Dst, 3852);
6849 break;
6850 case BC_MULVN: case BC_MULNV: case BC_MULVV:
6851 dasm_put(Dst, 3858);
6852 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6853 switch (vk) {
6854 case 0:
6855 dasm_put(Dst, 3861);
6856 break;
6857 case 1:
6858 dasm_put(Dst, 3864);
6859 break;
6860 default:
6861 dasm_put(Dst, 3867);
6862 break;
6863 }
6864 dasm_put(Dst, 3870);
6865 if (vk == 1) {
6866 dasm_put(Dst, 3872, -LJ_TISNUM, -LJ_TISNUM);
6867 } else {
6868 dasm_put(Dst, 3877, -LJ_TISNUM, -LJ_TISNUM);
6869 }
6870 dasm_put(Dst, 3882);
6871 switch (vk) {
6872 case 0:
6873 dasm_put(Dst, 3887);
6874 break;
6875 case 1:
6876 dasm_put(Dst, 3890);
6877 break;
6878 default:
6879 dasm_put(Dst, 3893);
6880 break;
6881 }
6882 dasm_put(Dst, 3896);
6883 switch (vk) {
6884 case 0:
6885 if (vk == 1) {
6886 dasm_put(Dst, 3905, -LJ_TISNUM, -LJ_TISNUM);
6887 } else {
6888 dasm_put(Dst, 3910, -LJ_TISNUM, -LJ_TISNUM);
6889 }
6890 dasm_put(Dst, 3915);
6891 break;
6892 case 1:
6893 if (vk == 1) {
6894 dasm_put(Dst, 3918, -LJ_TISNUM, -LJ_TISNUM);
6895 } else {
6896 dasm_put(Dst, 3923, -LJ_TISNUM, -LJ_TISNUM);
6897 }
6898 dasm_put(Dst, 3928);
6899 break;
6900 default:
6901 if (vk == 1) {
6902 dasm_put(Dst, 3931, -LJ_TISNUM, -LJ_TISNUM);
6903 } else {
6904 dasm_put(Dst, 3936, -LJ_TISNUM, -LJ_TISNUM);
6905 }
6906 dasm_put(Dst, 3941);
6907 break;
6908 }
6909 dasm_put(Dst, 3944);
6910 break;
6911 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
6912 dasm_put(Dst, 3950);
6913 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6914 switch (vk) {
6915 case 0:
6916 dasm_put(Dst, 3953);
6917 break;
6918 case 1:
6919 dasm_put(Dst, 3956);
6920 break;
6921 default:
6922 dasm_put(Dst, 3959);
6923 break;
6924 }
6925 switch (vk) {
6926 case 0:
6927 if (vk == 1) {
6928 dasm_put(Dst, 3962, -LJ_TISNUM, -LJ_TISNUM);
6929 } else {
6930 dasm_put(Dst, 3967, -LJ_TISNUM, -LJ_TISNUM);
6931 }
6932 dasm_put(Dst, 3972);
6933 break;
6934 case 1:
6935 if (vk == 1) {
6936 dasm_put(Dst, 3975, -LJ_TISNUM, -LJ_TISNUM);
6937 } else {
6938 dasm_put(Dst, 3980, -LJ_TISNUM, -LJ_TISNUM);
6939 }
6940 dasm_put(Dst, 3985);
6941 break;
6942 default:
6943 if (vk == 1) {
6944 dasm_put(Dst, 3988, -LJ_TISNUM, -LJ_TISNUM);
6945 } else {
6946 dasm_put(Dst, 3993, -LJ_TISNUM, -LJ_TISNUM);
6947 }
6948 dasm_put(Dst, 3998);
6949 break;
6950 }
6951 dasm_put(Dst, 4001);
6952 break;
6953 case BC_MODVN: case BC_MODNV: case BC_MODVV:
6954 dasm_put(Dst, 4011);
6955 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6956 switch (vk) {
6957 case 0:
6958 dasm_put(Dst, 4014);
6959 break;
6960 case 1:
6961 dasm_put(Dst, 4017);
6962 break;
6963 default:
6964 dasm_put(Dst, 4020);
6965 break;
6966 }
6967 if (vk == 1) {
6968 dasm_put(Dst, 4023, -LJ_TISNUM, -LJ_TISNUM);
6969 } else {
6970 dasm_put(Dst, 4028, -LJ_TISNUM, -LJ_TISNUM);
6971 }
6972 dasm_put(Dst, 4033);
6973 switch (vk) {
6974 case 0:
6975 dasm_put(Dst, 4037);
6976 break;
6977 case 1:
6978 dasm_put(Dst, 4040);
6979 break;
6980 default:
6981 dasm_put(Dst, 4043);
6982 break;
6983 }
6984 dasm_put(Dst, 4046, ~LJ_TISNUM);
6985 switch (vk) {
6986 case 0:
6987 if (vk == 1) {
6988 dasm_put(Dst, 4060, -LJ_TISNUM, -LJ_TISNUM);
6989 } else {
6990 dasm_put(Dst, 4065, -LJ_TISNUM, -LJ_TISNUM);
6991 }
6992 dasm_put(Dst, 4070);
6993 break;
6994 case 1:
6995 if (vk == 1) {
6996 dasm_put(Dst, 4073, -LJ_TISNUM, -LJ_TISNUM);
6997 } else {
6998 dasm_put(Dst, 4078, -LJ_TISNUM, -LJ_TISNUM);
6999 }
7000 dasm_put(Dst, 4083);
7001 break;
7002 default:
7003 if (vk == 1) {
7004 dasm_put(Dst, 4086, -LJ_TISNUM, -LJ_TISNUM);
7005 } else {
7006 dasm_put(Dst, 4091, -LJ_TISNUM, -LJ_TISNUM);
7007 }
7008 dasm_put(Dst, 4096);
7009 break;
7010 }
7011 dasm_put(Dst, 4099);
7012 break;
7013 case BC_POW:
7014 dasm_put(Dst, 4104);
7015 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
7016 switch (vk) {
7017 case 0:
7018 dasm_put(Dst, 4107);
7019 break;
7020 case 1:
7021 dasm_put(Dst, 4110);
7022 break;
7023 default:
7024 dasm_put(Dst, 4113);
7025 break;
7026 }
7027 switch (vk) {
7028 case 0:
7029 if (vk == 1) {
7030 dasm_put(Dst, 4116, -LJ_TISNUM, -LJ_TISNUM);
7031 } else {
7032 dasm_put(Dst, 4121, -LJ_TISNUM, -LJ_TISNUM);
7033 }
7034 dasm_put(Dst, 4126);
7035 break;
7036 case 1:
7037 if (vk == 1) {
7038 dasm_put(Dst, 4129, -LJ_TISNUM, -LJ_TISNUM);
7039 } else {
7040 dasm_put(Dst, 4134, -LJ_TISNUM, -LJ_TISNUM);
7041 }
7042 dasm_put(Dst, 4139);
7043 break;
7044 default:
7045 if (vk == 1) {
7046 dasm_put(Dst, 4142, -LJ_TISNUM, -LJ_TISNUM);
7047 } else {
7048 dasm_put(Dst, 4147, -LJ_TISNUM, -LJ_TISNUM);
7049 }
7050 dasm_put(Dst, 4152);
7051 break;
7052 }
7053 if (LJ_TARGET_IOS) {
7054 dasm_put(Dst, 4155);
7055 }
7056 dasm_put(Dst, 4157);
7057 if (LJ_TARGET_IOS) {
7058 dasm_put(Dst, 4160);
7059 }
7060 dasm_put(Dst, 4162);
7061 break;
7062
7063 case BC_CAT:
7064 dasm_put(Dst, 4170, Dt1(->base), Dt1(->base));
7065 break;
7066
7067 /* -- Constant ops ------------------------------------------------------ */
7068
7069 case BC_KSTR:
7070 dasm_put(Dst, 4196, ~LJ_TSTR);
7071 break;
7072 case BC_KCDATA:
7073#if LJ_HASFFI
7074 dasm_put(Dst, 4208, ~LJ_TCDATA);
7075#endif
7076 break;
7077 case BC_KSHORT:
7078 dasm_put(Dst, 4220, ~LJ_TISNUM);
7079 break;
7080 case BC_KNUM:
7081 dasm_put(Dst, 4231);
7082 break;
7083 case BC_KPRI:
7084 dasm_put(Dst, 4241);
7085 break;
7086 case BC_KNIL:
7087 dasm_put(Dst, 4251, ~LJ_TNIL);
7088 break;
7089
7090 /* -- Upvalue and function ops ------------------------------------------ */
7091
7092 case BC_UGET:
7093 dasm_put(Dst, 4270, offsetof(GCfuncL, uvptr), DtA(->v));
7094 break;
7095 case BC_USETV:
7096 dasm_put(Dst, 4286, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->closed), DtA(->v), LJ_GC_BLACK, -LJ_TISGCV, -(LJ_TISNUM - LJ_TISGCV), Dt4(->gch.marked), -GG_DISP2G, LJ_GC_WHITES);
7097 if (LJ_TARGET_IOS) {
7098 dasm_put(Dst, 4326);
7099 } else {
7100 dasm_put(Dst, 4333);
7101 }
7102 dasm_put(Dst, 4336);
7103 break;
7104 case BC_USETS:
7105 dasm_put(Dst, 4339, offsetof(GCfuncL, uvptr), ~LJ_TSTR, DtA(->marked), DtA(->v), DtA(->closed), LJ_GC_BLACK, Dt5(->marked), LJ_GC_WHITES, -GG_DISP2G);
7106 if (LJ_TARGET_IOS) {
7107 dasm_put(Dst, 4375);
7108 } else {
7109 dasm_put(Dst, 4382);
7110 }
7111 dasm_put(Dst, 4385);
7112 break;
7113 case BC_USETN:
7114 dasm_put(Dst, 4388, offsetof(GCfuncL, uvptr), DtA(->v));
7115 break;
7116 case BC_USETP:
7117 dasm_put(Dst, 4405, offsetof(GCfuncL, uvptr), DtA(->v));
7118 break;
7119
7120 case BC_UCLO:
7121 dasm_put(Dst, 4421, Dt1(->openupval), Dt1(->base), Dt1(->base));
7122 break;
7123
7124 case BC_FNEW:
7125 dasm_put(Dst, 4444, Dt1(->base), Dt1(->base), ~LJ_TFUNC);
7126 break;
7127
7128 /* -- Table ops --------------------------------------------------------- */
7129
7130 case BC_TNEW:
7131 case BC_TDUP:
7132 if (op == BC_TDUP) {
7133 dasm_put(Dst, 4465);
7134 }
7135 dasm_put(Dst, 4467, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
7136 if (op == BC_TNEW) {
7137 dasm_put(Dst, 4480);
7138 } else {
7139 dasm_put(Dst, 4489);
7140 }
7141 dasm_put(Dst, 4493, Dt1(->base), ~LJ_TTAB);
7142 break;
7143
7144 case BC_GGET:
7145 case BC_GSET:
7146 dasm_put(Dst, 4511, Dt7(->env));
7147 if (op == BC_GGET) {
7148 dasm_put(Dst, 4517);
7149 } else {
7150 dasm_put(Dst, 4520);
7151 }
7152 break;
7153
7154 case BC_TGETV:
7155 dasm_put(Dst, 4523, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, -LJ_TSTR);
7156 break;
7157 case BC_TGETS:
7158 dasm_put(Dst, 4580, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), DtB(->key), DtB(->val), DtB(->next), -LJ_TSTR, -LJ_TNIL, Dt6(->metatable), ~LJ_TNIL, Dt6(->nomm));
7159 dasm_put(Dst, 4640, 1<<MM_index);
7160 break;
7161 case BC_TGETB:
7162 dasm_put(Dst, 4647, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
7163 break;
7164
7165 case BC_TSETV:
7166 dasm_put(Dst, 4690, -LJ_TTAB, -LJ_TISNUM, Dt6(->array), Dt6(->asize), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
7167 dasm_put(Dst, 4750, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), -LJ_TSTR);
7168 break;
7169 case BC_TSETS:
7170 dasm_put(Dst, 4771, -LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), DtB(->key), DtB(->val.it), DtB(->next), -LJ_TSTR, Dt6(->marked), -LJ_TNIL, LJ_GC_BLACK, DtB(->val));
7171 dasm_put(Dst, 4829, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, ~LJ_TSTR, Dt1(->base), DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
7172 dasm_put(Dst, 4882, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7173 break;
7174 case BC_TSETB:
7175 dasm_put(Dst, 4891, -LJ_TTAB, Dt6(->asize), Dt6(->array), -LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK);
7176 dasm_put(Dst, 4949, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7177 break;
7178
7179 case BC_TSETM:
7180 dasm_put(Dst, 4958, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt1(->base));
7181 if (LJ_TARGET_IOS) {
7182 dasm_put(Dst, 5003, Dt1(->base));
7183 }
7184 dasm_put(Dst, 5006, DISPATCH_GL(gc.grayagain), LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7185 break;
7186
7187 /* -- Calls and vararg handling ----------------------------------------- */
7188
7189 case BC_CALLM:
7190 dasm_put(Dst, 5022);
7191 break;
7192 case BC_CALL:
7193 dasm_put(Dst, 5028, -LJ_TFUNC, Dt7(->field_pc));
7194 break;
7195
7196 case BC_CALLMT:
7197 dasm_put(Dst, 5048);
7198 break;
7199 case BC_CALLT:
7200 dasm_put(Dst, 5053, -LJ_TFUNC, Dt7(->ffid), FRAME_TYPE, Dt7(->field_pc), Dt7(->field_pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP);
7201 dasm_put(Dst, 5114, FRAME_TYPE);
7202 break;
7203
7204 case BC_ITERC:
7205 dasm_put(Dst, 5125, -LJ_TFUNC, Dt7(->field_pc));
7206 break;
7207
7208 case BC_ITERN:
7209#if LJ_HASJIT
7210#endif
7211 dasm_put(Dst, 5149, Dt6(->asize), Dt6(->array), -LJ_TNIL, ~LJ_TISNUM, Dt6(->hmask), Dt6(->node), DtB(->val), -LJ_TNIL, DtB(->key));
7212 break;
7213
7214 case BC_ISNEXT:
7215 dasm_put(Dst, 5214, -LJ_TFUNC, Dt8(->ffid), -LJ_TTAB, -LJ_TNIL, FF_next_N, BC_JMP, BC_ITERC);
7216 break;
7217
7218 case BC_VARG:
7219 dasm_put(Dst, 5253, FRAME_VARG, ~LJ_TNIL, Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->base));
7220 break;
7221
7222 /* -- Returns ----------------------------------------------------------- */
7223
7224 case BC_RETM:
7225 dasm_put(Dst, 5325);
7226 break;
7227
7228 case BC_RET:
7229 dasm_put(Dst, 5332, FRAME_TYPE, FRAME_VARG, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL, FRAME_TYPEP);
7230 break;
7231
7232 case BC_RET0: case BC_RET1:
7233 dasm_put(Dst, 5397, FRAME_TYPE, FRAME_VARG);
7234 if (op == BC_RET1) {
7235 dasm_put(Dst, 5408);
7236 }
7237 dasm_put(Dst, 5410);
7238 if (op == BC_RET1) {
7239 dasm_put(Dst, 5413);
7240 }
7241 dasm_put(Dst, 5415, Dt7(->field_pc), PC2PROTO(k), ~LJ_TNIL);
7242 break;
7243
7244 /* -- Loops and branches ------------------------------------------------ */
7245
7246
7247 case BC_FORL:
7248#if LJ_HASJIT
7249 dasm_put(Dst, 5441, -GG_DISP2HOT, HOTCOUNT_LOOP);
7250#endif
7251 break;
7252
7253 case BC_JFORI:
7254 case BC_JFORL:
7255#if !LJ_HASJIT
7256 break;
7257#endif
7258 case BC_FORI:
7259 case BC_IFORL:
7260 vk = (op == BC_IFORL || op == BC_JFORL);
7261 dasm_put(Dst, 5452);
7262 if (op != BC_JFORL) {
7263 dasm_put(Dst, 5454);
7264 }
7265 if (!vk) {
7266 dasm_put(Dst, 5456, -LJ_TISNUM, -LJ_TISNUM, -LJ_TISNUM);
7267 } else {
7268 dasm_put(Dst, 5474, -LJ_TISNUM);
7269 if (op == BC_IFORL) {
7270 dasm_put(Dst, 5482);
7271 } else {
7272 dasm_put(Dst, 5484);
7273 }
7274 dasm_put(Dst, 5487);
7275 }
7276 dasm_put(Dst, 5492);
7277 if (op == BC_FORI) {
7278 dasm_put(Dst, 5494);
7279 } else if (op == BC_JFORI) {
7280 dasm_put(Dst, 5496);
7281 } else if (op == BC_IFORL) {
7282 dasm_put(Dst, 5499);
7283 }
7284 if (vk) {
7285 dasm_put(Dst, 5501);
7286 }
7287 dasm_put(Dst, 5503);
7288 if (op == BC_JFORI || op == BC_JFORL) {
7289 dasm_put(Dst, 5508, BC_JLOOP);
7290 }
7291 dasm_put(Dst, 5511);
7292 if (!vk) {
7293 dasm_put(Dst, 5518);
7294 } else {
7295 dasm_put(Dst, 5520);
7296 }
7297 dasm_put(Dst, 5522);
7298 if (!vk) {
7299 dasm_put(Dst, 5526, -LJ_TISNUM, -LJ_TISNUM);
7300 } else {
7301 dasm_put(Dst, 5538);
7302 }
7303 dasm_put(Dst, 5547);
7304 if (op == BC_FORI) {
7305 dasm_put(Dst, 5551);
7306 } else if (op == BC_JFORI) {
7307 dasm_put(Dst, 5553, BC_JLOOP);
7308 } else if (op == BC_IFORL) {
7309 dasm_put(Dst, 5558);
7310 } else {
7311 dasm_put(Dst, 5560, BC_JLOOP);
7312 }
7313 dasm_put(Dst, 5563);
7314 if (vk) {
7315 dasm_put(Dst, 5569);
7316 }
7317 dasm_put(Dst, 5574);
7318 break;
7319
7320 case BC_ITERL:
7321#if LJ_HASJIT
7322 dasm_put(Dst, 5580, -GG_DISP2HOT, HOTCOUNT_LOOP);
7323#endif
7324 break;
7325
7326 case BC_JITERL:
7327#if !LJ_HASJIT
7328 break;
7329#endif
7330 case BC_IITERL:
7331 dasm_put(Dst, 5591);
7332 if (op == BC_JITERL) {
7333 dasm_put(Dst, 5593, -LJ_TNIL, BC_JLOOP);
7334 } else {
7335 dasm_put(Dst, 5599, -LJ_TNIL);
7336 }
7337 dasm_put(Dst, 5605);
7338 break;
7339
7340 case BC_LOOP:
7341#if LJ_HASJIT
7342 dasm_put(Dst, 5612, -GG_DISP2HOT, HOTCOUNT_LOOP);
7343#endif
7344 break;
7345
7346 case BC_ILOOP:
7347 dasm_put(Dst, 5623);
7348 break;
7349
7350 case BC_JLOOP:
7351#if LJ_HASJIT
7352 dasm_put(Dst, 5630, DISPATCH_J(trace), DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
7353#endif
7354 break;
7355
7356 case BC_JMP:
7357 dasm_put(Dst, 5644);
7358 break;
7359
7360 /* -- Function headers -------------------------------------------------- */
7361
7362 case BC_FUNCF:
7363#if LJ_HASJIT
7364 dasm_put(Dst, 5653, -GG_DISP2HOT, HOTCOUNT_CALL);
7365#endif
7366 case BC_FUNCV: /* NYI: compiled vararg functions. */
7367 break;
7368
7369 case BC_JFUNCF:
7370#if !LJ_HASJIT
7371 break;
7372#endif
7373 case BC_IFUNCF:
7374 dasm_put(Dst, 5664, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k));
7375 if (op != BC_JFUNCF) {
7376 dasm_put(Dst, 5674);
7377 }
7378 dasm_put(Dst, 5677, ~LJ_TNIL);
7379 if (op == BC_JFUNCF) {
7380 dasm_put(Dst, 5684, BC_JLOOP);
7381 } else {
7382 dasm_put(Dst, 5688);
7383 }
7384 dasm_put(Dst, 5693);
7385 break;
7386
7387 case BC_JFUNCV:
7388#if !LJ_HASJIT
7389 break;
7390#endif
7391 dasm_put(Dst, 5699);
7392 break; /* NYI: compiled vararg functions. */
7393
7394 case BC_IFUNCV:
7395 dasm_put(Dst, 5701, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), ~LJ_TNIL);
7396 break;
7397
7398 case BC_FUNCC:
7399 case BC_FUNCCW:
7400 if (op == BC_FUNCC) {
7401 dasm_put(Dst, 5742, Dt8(->f));
7402 } else {
7403 dasm_put(Dst, 5745, DISPATCH_GL(wrapf));
7404 }
7405 dasm_put(Dst, 5748, Dt1(->maxstack), Dt1(->base), Dt1(->top));
7406 if (op == BC_FUNCCW) {
7407 dasm_put(Dst, 5758, Dt8(->f));
7408 }
7409 dasm_put(Dst, 5761, LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->base), LJ_VMST_INTERP, Dt1(->top), DISPATCH_GL(vmstate));
7410 break;
7411
7412 /* ---------------------------------------------------------------------- */
7413
7414 default:
7415 fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
7416 exit(2);
7417 break;
7418 }
7419}
7420
7421static int build_backend(BuildCtx *ctx)
7422{
7423 int op;
7424
7425 dasm_growpc(Dst, BC__MAX);
7426
7427 build_subroutines(ctx);
7428
7429 dasm_put(Dst, 5783);
7430 for (op = 0; op < BC__MAX; op++)
7431 build_ins(ctx, (BCOp)op, op);
7432
7433 return BC__MAX;
7434}
7435
7436/* Emit pseudo frame-info for all assembler functions. */
7437static void emit_asm_debug(BuildCtx *ctx)
7438{
7439 int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
7440 int i;
7441 switch (ctx->mode) {
7442 case BUILD_elfasm:
7443 fprintf(ctx->fp, "\t.section .debug_frame,\"\",%%progbits\n");
7444 fprintf(ctx->fp,
7445 ".Lframe0:\n"
7446 "\t.long .LECIE0-.LSCIE0\n"
7447 ".LSCIE0:\n"
7448 "\t.long 0xffffffff\n"
7449 "\t.byte 0x1\n"
7450 "\t.string \"\"\n"
7451 "\t.uleb128 0x1\n"
7452 "\t.sleb128 -4\n"
7453 "\t.byte 0xe\n" /* Return address is in lr. */
7454 "\t.byte 0xc\n\t.uleb128 0xd\n\t.uleb128 0\n" /* def_cfa sp */
7455 "\t.align 2\n"
7456 ".LECIE0:\n\n");
7457 fprintf(ctx->fp,
7458 ".LSFDE0:\n"
7459 "\t.long .LEFDE0-.LASFDE0\n"
7460 ".LASFDE0:\n"
7461 "\t.long .Lframe0\n"
7462 "\t.long .Lbegin\n"
7463 "\t.long %d\n"
7464 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
7465 "\t.byte 0x8e\n\t.uleb128 1\n", /* offset lr */
7466 fcofs, CFRAME_SIZE);
7467 for (i = 11; i >= 4; i--) /* offset r4-r11 */
7468 fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+i, 2+(11-i));
7469 fprintf(ctx->fp,
7470 "\t.align 2\n"
7471 ".LEFDE0:\n\n");
7472#if LJ_HASFFI
7473 fprintf(ctx->fp,
7474 ".LSFDE1:\n"
7475 "\t.long .LEFDE1-.LASFDE1\n"
7476 ".LASFDE1:\n"
7477 "\t.long .Lframe0\n"
7478 "\t.long lj_vm_ffi_call\n"
7479 "\t.long %d\n"
7480 "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
7481 "\t.byte 0x8e\n\t.uleb128 1\n" /* offset lr */
7482 "\t.byte 0x8b\n\t.uleb128 2\n" /* offset r11 */
7483 "\t.byte 0x85\n\t.uleb128 3\n" /* offset r5 */
7484 "\t.byte 0x84\n\t.uleb128 4\n" /* offset r4 */
7485 "\t.byte 0xd\n\t.uleb128 0xb\n" /* def_cfa_register r11 */
7486 "\t.align 2\n"
7487 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
7488#endif
7489 break;
7490 default:
7491 break;
7492 }
7493}
7494
diff --git a/src/buildvm_mips.h b/src/buildvm_mips.h
deleted file mode 100644
index bab93343..00000000
--- a/src/buildvm_mips.h
+++ /dev/null
@@ -1,7495 +0,0 @@
1/*
2** This file has been pre-processed with DynASM.
3** http://luajit.org/dynasm.html
4** DynASM version 1.3.0, DynASM mips version 1.3.0
5** DO NOT EDIT! The original file is in "buildvm_mips.dasc".
6*/
7
8#if DASM_VERSION != 10300
9#error "Version mismatch between DynASM and included encoding engine"
10#endif
11
12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2
15static const unsigned int build_actionlist[6324] = {
160xff010001,
170xff060014,
180x32410000,
190xff090200,
200x10200000,
210xff050815,
220x240d0000,
230xff098200,
240x8dd20000,
250xff098200,
260x01c08021,
270xaeed0000,
280xff098200,
290x26f7fff8,
300xff060016,
310x324c0000,
320xff090200,
330x254a0008,
340x11800000,
350xff050817,
360x0140a821,
370xff060018,
380x240efff8,
390x39810000,
400xff090200,
410x024e7024,
420x14200000,
430xff050814,
440x020e7023,
450x254dfff8,
460xae8e0000,
470xff098200,
480x240c0000,
490xff098200,
500x8fae0078,
510x2610fff8,
520xae6c0000,
530xff098200,
540x11a00000,
550xff050802,
560x000e70c0,
570xff06000b,
580x25adfff8,
590xd6e00000,
600x26f70008,
610xf6000000,
620x15a00000,
630xff05080b,
640x26100008,
650xff06000c,
660x15ca0000,
670xff050806,
680xff06000d,
690xae900000,
700xff098200,
710xff060019,
720xff000000,
730x8fac0074,
740x00001021,
750xae8c0000,
760xff098200,
770xff06001a,
780x8fbf0000,
790xff098200,
800x8fbe0000,
810xff098200,
820xd7be0000,
830xff098200,
840x8fb70000,
850xff098200,
860x8fb60000,
870xff098200,
880xd7bc0000,
890xff098200,
900x8fb50000,
910xff098200,
920x8fb40000,
930xff098200,
940xd7ba0000,
950xff098200,
960x8fb30000,
970xff098200,
980x8fb20000,
990xff098200,
1000xd7b80000,
1010xff098200,
1020x8fb10000,
1030xff098200,
1040x8fb00000,
1050xff098200,
1060xd7b60000,
1070xff098200,
1080xd7b40000,
1090xff098200,
1100x03e00008,
1110x27bd0070,
1120xff060010,
1130x8e8d0000,
1140xff098200,
1150x01ca082a,
1160x14200000,
1170xff050807,
1180x020d082a,
1190x10200000,
1200xff050808,
1210x00000000,
1220xae1e0000,
1230xff098200,
1240xff000000,
1250x254a0008,
1260x10000000,
1270xff05080c,
1280x26100008,
1290xff060011,
1300x014e6023,
1310x020c6023,
1320x10000000,
1330xff05080d,
1340x018e800b,
1350xff060012,
1360x8e790000,
1370xff098200,
1380x0140a821,
1390x01c02821,
1400x0320f809,
1410x02802021,
1420x8fae0078,
1430x8e900000,
1440xff098200,
1450x02a05021,
1460x10000000,
1470xff05080c,
1480x000e70c0,
1490xff06001b,
1500x0080e821,
1510x00a01021,
1520xff06001c,
1530x8fb40070,
1540x240c0000,
1550xff098200,
1560x8e8d0000,
1570xff098200,
1580x10000000,
1590xff05081a,
1600xadac0000,
1610xff098200,
1620xff06001d,
1630x2401fffc,
1640x0081e824,
1650xff06001e,
1660x8fb40070,
1670x3c0f59c0,
1680x241e0000,
1690xff098200,
1700x8e900000,
1710xff098200,
1720x8e930000,
1730xff098200,
1740x448ff000,
1750x240d0000,
1760xff098200,
1770x240c0000,
1780xff098200,
1790x8e120000,
1800xff098200,
1810x4600f7a1,
1820x2617fff8,
1830x26730000,
1840xff098200,
1850xaeed0000,
1860xff098200,
1870xff000000,
1880xae6c0000,
1890xff098200,
1900x10000000,
1910xff050816,
1920x240a0010,
1930xff06001f,
1940x10000000,
1950xff050802,
1960x24050000,
1970xff098200,
1980xff060020,
1990x02094821,
2000x02f0b823,
2010xae900000,
2020xff098200,
2030x26520004,
2040xae890000,
2050xff098200,
2060x001728c2,
2070xff06000c,
2080x8e790000,
2090xff098200,
2100xafb20014,
2110x0320f809,
2120x02802021,
2130x8e900000,
2140xff098200,
2150x8e890000,
2160xff098200,
2170x8e080000,
2180xff098200,
2190x01304823,
2200x8d120000,
2210xff098200,
2220x8e4b0000,
2230x26520004,
2240x316d00ff,
2250x000bb942,
2260x000d6880,
2270x32f707f8,
2280x026d6021,
2290x8d8c0000,
2300x01800008,
2310x02f0b821,
2320xff060021,
2330x27bdff90,
2340xafbf0000,
2350xff098200,
2360xafbe0000,
2370xff098200,
2380xf7be0000,
2390xff098200,
2400xafb70000,
2410xff098200,
2420xafb60000,
2430xff098200,
2440xf7bc0000,
2450xff098200,
2460xafb50000,
2470xff098200,
2480xafb40000,
2490xff098200,
2500xff000000,
2510xf7ba0000,
2520xff098200,
2530xafb30000,
2540xff098200,
2550xafb20000,
2560xff098200,
2570xf7b80000,
2580xff098200,
2590xafb10000,
2600xff098200,
2610xafb00000,
2620xff098200,
2630xf7b60000,
2640xff098200,
2650xf7b40000,
2660xff098200,
2670x0080a021,
2680x8e930000,
2690xff098200,
2700x00a08021,
2710x928d0000,
2720xff098200,
2730xafb40070,
2740x24120000,
2750xff098200,
2760x27ac0000,
2770xff098200,
2780x26730000,
2790xff098200,
2800xafa00078,
2810xafa0007c,
2820xae8c0000,
2830xff098200,
2840xafa00074,
2850x11a00000,
2860xff050803,
2870xafa40014,
2880x0200b821,
2890x8e900000,
2900xff098200,
2910x8e8d0000,
2920xff098200,
2930x8e120000,
2940xff098200,
2950x3c0f59c0,
2960x01b05023,
2970x448ff000,
2980xa2800000,
2990xff098200,
3000x4600f7a1,
3010x240c0000,
3020xff098200,
3030x254a0008,
3040xae6c0000,
3050xff098200,
3060x0140a821,
3070x324c0000,
3080xff090200,
3090x11800000,
3100xff050817,
3110xff000000,
3120x241e0000,
3130xff098200,
3140x10000000,
3150xff050818,
3160x00000000,
3170xff060022,
3180x27bdff90,
3190xafbf0000,
3200xff098200,
3210xafbe0000,
3220xff098200,
3230xf7be0000,
3240xff098200,
3250xafb70000,
3260xff098200,
3270xafb60000,
3280xff098200,
3290xf7bc0000,
3300xff098200,
3310xafb50000,
3320xff098200,
3330xafb40000,
3340xff098200,
3350xf7ba0000,
3360xff098200,
3370xafb30000,
3380xff098200,
3390xafb20000,
3400xff098200,
3410xf7b80000,
3420xff098200,
3430xafb10000,
3440xff098200,
3450xafb00000,
3460xff098200,
3470xf7b60000,
3480xff098200,
3490xf7b40000,
3500xff098200,
3510xafa7007c,
3520x10000000,
3530xff050801,
3540x24120000,
3550xff098200,
3560xff060023,
3570x27bdff90,
3580xafbf0000,
3590xff098200,
3600xff000000,
3610xafbe0000,
3620xff098200,
3630xf7be0000,
3640xff098200,
3650xafb70000,
3660xff098200,
3670xafb60000,
3680xff098200,
3690xf7bc0000,
3700xff098200,
3710xafb50000,
3720xff098200,
3730xafb40000,
3740xff098200,
3750xf7ba0000,
3760xff098200,
3770xafb30000,
3780xff098200,
3790xafb20000,
3800xff098200,
3810xf7b80000,
3820xff098200,
3830xafb10000,
3840xff098200,
3850xafb00000,
3860xff098200,
3870xf7b60000,
3880xff098200,
3890xf7b40000,
3900xff098200,
3910x24120000,
3920xff098200,
3930xff06000b,
3940x8c8d0000,
3950xff098200,
3960xafa60078,
3970x0080a021,
3980xafa40070,
3990x00a08021,
4000xae9d0000,
4010xff098200,
4020x8e930000,
4030xff098200,
4040xafa40014,
4050xafad0074,
4060x26730000,
4070xff098200,
4080xff06000d,
4090x8e8e0000,
4100xff098200,
4110xff000000,
4120x3c0f59c0,
4130x8e8d0000,
4140xff098200,
4150x448ff000,
4160x02509021,
4170x01b04823,
4180x024e9023,
4190x4600f7a1,
4200x240c0000,
4210xff098200,
4220x241e0000,
4230xff098200,
4240xae6c0000,
4250xff098200,
4260xff060024,
4270x8e0c0000,
4280xff098200,
4290x24010000,
4300xff098200,
4310x15810000,
4320xff050825,
4330x8e080000,
4340xff098200,
4350xff060026,
4360xae120000,
4370xff098200,
4380x8d120000,
4390xff098200,
4400x8e4b0000,
4410x26520004,
4420x316d00ff,
4430x000bb942,
4440x000d6880,
4450x32f707f8,
4460x026d6021,
4470x8d8c0000,
4480x01800008,
4490x02f0b821,
4500xff060027,
4510x27bdff90,
4520xafbf0000,
4530xff098200,
4540xafbe0000,
4550xff098200,
4560xf7be0000,
4570xff098200,
4580xafb70000,
4590xff098200,
4600xafb60000,
4610xff098200,
4620xf7bc0000,
4630xff098200,
4640xafb50000,
4650xff098200,
4660xafb40000,
4670xff098200,
4680xf7ba0000,
4690xff098200,
4700xafb30000,
4710xff098200,
4720xff000000,
4730xafb20000,
4740xff098200,
4750xf7b80000,
4760xff098200,
4770xafb10000,
4780xff098200,
4790xafb00000,
4800xff098200,
4810xf7b60000,
4820xff098200,
4830xf7b40000,
4840xff098200,
4850x0080a021,
4860x8c8c0000,
4870xff098200,
4880xafa40070,
4890x8e8d0000,
4900xff098200,
4910xafa40014,
4920x018d6023,
4930x8e8d0000,
4940xff098200,
4950xae9d0000,
4960xff098200,
4970xafac0078,
4980xafa0007c,
4990x00e0c821,
5000x00e0f809,
5010xafad0074,
5020x00408021,
5030x8e930000,
5040xff098200,
5050x24120000,
5060xff098200,
5070x14400000,
5080xff05080d,
5090x26730000,
5100xff098200,
5110x10000000,
5120xff050819,
5130x00000000,
5140xff060015,
5150x8e0c0000,
5160xff098200,
5170x02004021,
5180x01c08021,
5190x8dcd0000,
5200xff098200,
5210xff000000,
5220x2d810002,
5230xff000000,
5240x8d120000,
5250xff098200,
5260x02ea7021,
5270x8dad0000,
5280xff098200,
5290xff000000,
5300x14200000,
5310xff050801,
5320xff000000,
5330xadde0000,
5340xff098200,
5350x01800008,
5360x8db10000,
5370xff098200,
5380xff000000,
5390xff06000b,
5400x15800000,
5410xff050828,
5420x250dfff0,
5430x10000000,
5440xff050829,
5450x01b04823,
5460xff000000,
5470xff06002a,
5480x8e4bfffc,
5490x2505fff0,
5500xd6e00000,
5510x000bad42,
5520x000bb942,
5530x32b507f8,
5540x32f707f8,
5550x02156821,
5560xae900000,
5570xff098200,
5580x00ad3023,
5590x15a50000,
5600xff05082b,
5610xf4a00000,
5620x0217b821,
5630x10000000,
5640xff05082c,
5650xf6e00000,
5660xff06002d,
5670x26660000,
5680xff098200,
5690x240c0000,
5700xff098200,
5710xacc90000,
5720xff098200,
5730x10000000,
5740xff050801,
5750xaccc0000,
5760xff098200,
5770xff06002e,
5780x26650000,
5790xff098200,
5800x240c0000,
5810xff098200,
5820xaca80000,
5830xff098200,
5840x26660000,
5850xff098200,
5860xacac0000,
5870xff098200,
5880x240d0000,
5890xff098200,
5900xacc90000,
5910xff098200,
5920x10000000,
5930xff050801,
5940xaccd0000,
5950xff098200,
5960xff06002f,
5970x448c0000,
5980x46800021,
5990x26660000,
6000xff098200,
6010xf4c00000,
6020xff060030,
6030xff06000b,
6040xff000000,
6050x8e790000,
6060xff098200,
6070xae900000,
6080xff098200,
6090xafb20014,
6100x0320f809,
6110x02802021,
6120x10400000,
6130xff050803,
6140x260d0000,
6150xff098200,
6160xd4400000,
6170x8e4b0000,
6180x26520004,
6190xf6e00000,
6200x316d00ff,
6210x000d6880,
6220x026d6021,
6230x000b5402,
6240x8d810000,
6250x000bb942,
6260x000a50c0,
6270x00200008,
6280x32f707f8,
6290xff06000d,
6300x8e900000,
6310xff098200,
6320xae120000,
6330xff098200,
6340x020d9023,
6350x8e080000,
6360xff098200,
6370x10000000,
6380xff050826,
6390x24090010,
6400xff060031,
6410x26660000,
6420xff098200,
6430x240c0000,
6440xff098200,
6450xacc90000,
6460xff098200,
6470x10000000,
6480xff050801,
6490xaccc0000,
6500xff098200,
6510xff060032,
6520x26650000,
6530xff098200,
6540x240c0000,
6550xff098200,
6560xaca80000,
6570xff098200,
6580x26660000,
6590xff098200,
6600xacac0000,
6610xff098200,
6620x240d0000,
6630xff098200,
6640xacc90000,
6650xff098200,
6660xff000000,
6670x10000000,
6680xff050801,
6690xaccd0000,
6700xff098200,
6710xff060033,
6720x448c0000,
6730x46800021,
6740x26660000,
6750xff098200,
6760xf4c00000,
6770xff060034,
6780xff06000b,
6790x8e790000,
6800xff098200,
6810xae900000,
6820xff098200,
6830xafb20014,
6840x0320f809,
6850x02802021,
6860x10400000,
6870xff050803,
6880xd6e00000,
6890x8e4b0000,
6900x26520004,
6910xf4400000,
6920x316d00ff,
6930x000d6880,
6940x026d6021,
6950x000b5402,
6960x8d810000,
6970x000bb942,
6980x000a50c0,
6990x00200008,
7000x32f707f8,
7010xff06000d,
7020x260d0000,
7030xff098200,
7040x8e900000,
7050xff098200,
7060xae120000,
7070xff098200,
7080x020d9023,
7090x8e080000,
7100xff098200,
7110xf6000010,
7120x10000000,
7130xff050826,
7140x24090018,
7150xff060035,
7160x8e790000,
7170xff098200,
7180x2652fffc,
7190xae900000,
7200xff098200,
7210xafb20014,
7220x316700ff,
7230x0320f809,
7240x02802021,
7250xff06000d,
7260x2c410002,
7270x10200000,
7280xff050836,
7290x00027023,
7300xff06000e,
7310x964a0000,
7320xff098200,
7330x26520004,
7340x3c0d0000,
7350xff090200,
7360xff000000,
7370x000a5080,
7380x014d5021,
7390x014e5024,
7400x024a9021,
7410xff06002c,
7420x8e4b0000,
7430x26520004,
7440x316d00ff,
7450x000d6880,
7460x026d6021,
7470x000b5402,
7480x8d810000,
7490x000bb942,
7500x000a50c0,
7510x00200008,
7520x32f707f8,
7530xff060037,
7540x924d0000,
7550xff098200,
7560xd6e00000,
7570x000d68c0,
7580x020d6821,
7590x10000000,
7600xff05082c,
7610xf5a00000,
7620xff060038,
7630x8eec0000,
7640xff098200,
7650x2d810000,
7660xff098200,
7670x10000000,
7680xff05080e,
7690x00017023,
7700xff060039,
7710x8eec0000,
7720xff098200,
7730x2d810000,
7740xff098200,
7750x10000000,
7760xff05080e,
7770x242effff,
7780xff06003a,
7790x8e790000,
7800xff098200,
7810x2652fffc,
7820xae900000,
7830xff098200,
7840xafb20014,
7850x0320f809,
7860x02802021,
7870x10000000,
7880xff05080d,
7890x00000000,
7900xff06003b,
7910xff000000,
7920x8e790000,
7930xff098200,
7940x01602821,
7950x2652fffc,
7960xae900000,
7970xff098200,
7980xafb20014,
7990x0320f809,
8000x02802021,
8010x10000000,
8020xff05080d,
8030x00000000,
8040xff000000,
8050xff06003c,
8060x00c03821,
8070xff06003d,
8080x8e790000,
8090xff098200,
8100x316c00ff,
8110xae900000,
8120xff098200,
8130xafb20014,
8140x02e02821,
8150xafac0010,
8160x0320f809,
8170x02802021,
8180x10400000,
8190xff05082c,
8200x00000000,
8210xff060036,
8220x00506823,
8230xac520000,
8240xff098200,
8250x02007021,
8260x25b20000,
8270xff098200,
8280x00408021,
8290x10000000,
8300xff050824,
8310x24090010,
8320xff06003e,
8330xff000000,
8340x0080a821,
8350xff000000,
8360x8e790000,
8370xff098200,
8380xae900000,
8390xff098200,
8400xafb20014,
8410x0320f809,
8420x02802021,
8430xff000000,
8440x14400000,
8450xff050836,
8460x00000000,
8470x10000000,
8480xff05083f,
8490x02a02021,
8500xff000000,
8510x10000000,
8520xff050836,
8530x00000000,
8540xff000000,
8550xff060025,
8560x8e790000,
8570xff098200,
8580xae8e0000,
8590xff098200,
8600x2605fff8,
8610xafb20014,
8620x02093021,
8630x0120a821,
8640x0320f809,
8650x02802021,
8660x8e080000,
8670xff098200,
8680x26a90008,
8690xae120000,
8700xff098200,
8710x8d120000,
8720xff098200,
8730x8e4b0000,
8740x26520004,
8750x316d00ff,
8760x000bb942,
8770x000d6880,
8780x32f707f8,
8790x026d6021,
8800x8d8c0000,
8810x01800008,
8820x02f0b821,
8830xff060040,
8840x8e790000,
8850xff098200,
8860xae900000,
8870xff098200,
8880x26e5fff8,
8890xafb20014,
8900x02e93021,
8910x0120a821,
8920x0320f809,
8930x02802021,
8940x8e0d0000,
8950xff098200,
8960x8ee80000,
8970xff098200,
8980x10000000,
8990xff050841,
9000x26a90008,
9010xff060042,
9020x8e790000,
9030xff098200,
9040xae900000,
9050xff098200,
9060x02e02821,
9070xafb20014,
9080x0160a821,
9090x0320f809,
9100x02802021,
9110xff000000,
9120x32ac00ff,
9130x24010000,
9140xff098200,
9150xff000000,
9160x0015b942,
9170x00155402,
9180x32f707f8,
9190xff000000,
9200x11810000,
9210xff070800,
9220x000a50c0,
9230x10000000,
9240xff070800,
9250x00000000,
9260xff000000,
9270x10000000,
9280xff070800,
9290x000a50c0,
9300xff000000,
9310xff060043,
9320x11200000,
9330xff050844,
9340x8e060000,
9350xff098200,
9360x8e040000,
9370xff098200,
9380x2cc10000,
9390xff098200,
9400x10200000,
9410xff050844,
9420x2617fff8,
9430x8e120000,
9440xff098200,
9450x252a0008,
9460x02e97021,
9470xaee60000,
9480xff098200,
9490x260d0008,
9500x120e0000,
9510xff050845,
9520xaee40000,
9530xff098200,
9540xff06000b,
9550xd5a00000,
9560xf5a0fff8,
9570x15ae0000,
9580xff05080b,
9590x25ad0008,
9600x10000000,
9610xff050845,
9620x00000000,
9630xff060046,
9640x8e060000,
9650xff098200,
9660x240d0000,
9670xff098200,
9680x11200000,
9690xff050844,
9700x2ccc0000,
9710xff098200,
9720x00cc680a,
9730x01a06827,
9740x000d68c0,
9750x010d6821,
9760x10000000,
9770xff050847,
9780xd5a00000,
9790xff098200,
9800xff060048,
9810x11200000,
9820xff050844,
9830x8e060000,
9840xff098200,
9850xff000000,
9860x8e040000,
9870xff098200,
9880x24010000,
9890xff098200,
9900x14c10000,
9910xff050806,
9920x24010000,
9930xff098200,
9940xff06000b,
9950x8c840000,
9960xff098200,
9970xff06000c,
9980x8e690000,
9990xff098200,
10000x10800000,
10010xff050849,
10020x24060000,
10030xff098200,
10040x8c8c0000,
10050xff098200,
10060x24060000,
10070xff098200,
10080x8d2d0000,
10090xff098200,
10100x8c8e0000,
10110xff098200,
10120x01ac6824,
10130x000d6140,
10140x000d68c0,
10150x018d6823,
10160x01cd7021,
10170x24010000,
10180xff098200,
10190xff06000d,
10200x8dc70000,
10210xff098200,
10220x8dcc0000,
10230xff098200,
10240x8dcf0000,
10250xff098200,
10260x14e10000,
10270xff050804,
10280x8dc50000,
10290xff098200,
10300x11890000,
10310xff050805,
10320x8dcd0000,
10330xff098200,
10340xff06000e,
10350xff000000,
10360x11e00000,
10370xff050849,
10380x01e07021,
10390x10000000,
10400xff05080d,
10410x00000000,
10420xff06000f,
10430x10be0000,
10440xff050849,
10450x00000000,
10460x00a03021,
10470x10000000,
10480xff050849,
10490x01a02021,
10500xff060010,
10510x10c10000,
10520xff05080b,
10530x2ccc0000,
10540xff098200,
10550x240d0000,
10560xff098200,
10570x00cc680a,
10580x01a06827,
10590x000d6880,
10600x026d6821,
10610x10000000,
10620xff05080c,
10630x8da40000,
10640xff098200,
10650xff06004a,
10660x2d210010,
10670x8e060000,
10680xff098200,
10690x14200000,
10700xff050844,
10710x8e070000,
10720xff098200,
10730x8e040000,
10740xff098200,
10750x8e050000,
10760xff098200,
10770x24010000,
10780xff098200,
10790x14c10000,
10800xff050844,
10810x24e70000,
10820xff098200,
10830x8c8d0000,
10840xff098200,
10850x908f0000,
10860xff098200,
10870x00ed0825,
10880x14200000,
10890xff050844,
10900xff000000,
10910x31e10000,
10920xff090200,
10930x10200000,
10940xff050849,
10950xac850000,
10960xff098200,
10970x8e6c0000,
10980xff098200,
10990x31ef0000,
11000xff090200,
11010xae640000,
11020xff098200,
11030xa08f0000,
11040xff098200,
11050x10000000,
11060xff050849,
11070xac8c0000,
11080xff098200,
11090xff06004b,
11100x8e070000,
11110xff098200,
11120x2d210010,
11130x8e050000,
11140xff098200,
11150x8e790000,
11160xff098200,
11170x24e70000,
11180xff098200,
11190x00270825,
11200x14200000,
11210xff050844,
11220x26060008,
11230x0320f809,
11240x02802021,
11250x10000000,
11260xff050847,
11270xd4400000,
11280xff06004c,
11290x8e040000,
11300xff098200,
11310x39210008,
11320x2c840000,
11330xff098200,
11340x0001200b,
11350x10800000,
11360xff050844,
11370xd6000000,
11380x10000000,
11390xff050847,
11400x00000000,
11410xff06004d,
11420x11200000,
11430xff050844,
11440xff000000,
11450x8e060000,
11460xff098200,
11470x8e040000,
11480xff098200,
11490x24010000,
11500xff098200,
11510x10c10000,
11520xff050849,
11530x8e6d0000,
11540xff098200,
11550x2ccc0000,
11560xff098200,
11570x2dad0001,
11580x018d6024,
11590x11800000,
11600xff050844,
11610xae900000,
11620xff098200,
11630x8e6c0000,
11640xff098200,
11650x8e6d0000,
11660xff098200,
11670x018d0823,
11680x04310000,
11690xff05084e,
11700xafb20014,
11710x8e790000,
11720xff098200,
11730x02802021,
11740x0320f809,
11750x02002821,
11760x24060000,
11770xff098200,
11780x10000000,
11790xff050849,
11800x00402021,
11810xff06004f,
11820x8e040000,
11830xff098200,
11840x8e050000,
11850xff098200,
11860x11200000,
11870xff050844,
11880x02097021,
11890x24010000,
11900xff098200,
11910xadde0000,
11920xff098200,
11930x14810000,
11940xff050844,
11950x8e120000,
11960xff098200,
11970x8e790000,
11980xff098200,
11990xff000000,
12000xae900000,
12010xff098200,
12020xae900000,
12030xff098200,
12040x26060008,
12050xafb20014,
12060x0320f809,
12070x02802021,
12080x10400000,
12090xff050849,
12100x24060000,
12110xff098200,
12120xd6000008,
12130x2617fff8,
12140xd6020010,
12150x240a0000,
12160xff098200,
12170xf6e00000,
12180x10000000,
12190xff050845,
12200xf6e20008,
12210xff060050,
12220x11200000,
12230xff050844,
12240x8e060000,
12250xff098200,
12260x8e040000,
12270xff098200,
12280x24010000,
12290xff098200,
12300x14c10000,
12310xff050844,
12320x8e120000,
12330xff098200,
12340xff000000,
12350x8c8e0000,
12360xff098200,
12370xd5000000,
12380xff098200,
12390x15c00000,
12400xff050844,
12410xff000000,
12420xd5000000,
12430xff098200,
12440xff000000,
12450x2617fff8,
12460xae1e0000,
12470xff098200,
12480x240a0000,
12490xff098200,
12500x10000000,
12510xff050845,
12520xf6e00000,
12530xff060051,
12540x2d210010,
12550x8e060000,
12560xff098200,
12570x8e040000,
12580xff098200,
12590x8e070000,
12600xff098200,
12610x14200000,
12620xff050844,
12630xd60e0008,
12640x24c60000,
12650xff098200,
12660x2ce10000,
12670xff098200,
12680x240c0001,
12690x0006080b,
12700x448c6000,
12710x10200000,
12720xff050844,
12730x8e120000,
12740xff098200,
12750x46207024,
12760x46806321,
12770x8c8c0000,
12780xff098200,
12790x8c8d0000,
12800xff098200,
12810x440e0000,
12820x2617fff8,
12830x462c7380,
12840x25ce0001,
12850x01cc082b,
12860x000e78c0,
12870x01af7821,
12880x10200000,
12890xff050802,
12900xf6ee0000,
12910x8dee0000,
12920xff098200,
12930xd5e00000,
12940xff06000b,
12950x11de0000,
12960xff050845,
12970x240a0000,
12980xff098200,
12990x240a0000,
13000xff098200,
13010x10000000,
13020xff050845,
13030xf6e00008,
13040xff06000c,
13050x8c8c0000,
13060xff098200,
13070xff000000,
13080x8e790000,
13090xff098200,
13100x11800000,
13110xff050845,
13120x240a0000,
13130xff098200,
13140x0320f809,
13150x01c02821,
13160x10400000,
13170xff050845,
13180x240a0000,
13190xff098200,
13200x8c4e0000,
13210xff098200,
13220x10000000,
13230xff05080b,
13240xd4400000,
13250xff060052,
13260x11200000,
13270xff050844,
13280x8e060000,
13290xff098200,
13300x8e040000,
13310xff098200,
13320x24010000,
13330xff098200,
13340x14c10000,
13350xff050844,
13360x8e120000,
13370xff098200,
13380xff000000,
13390x8c8e0000,
13400xff098200,
13410xd5000000,
13420xff098200,
13430x15c00000,
13440xff050844,
13450xff000000,
13460xd5000000,
13470xff098200,
13480xff000000,
13490x2617fff8,
13500xae000000,
13510xff098200,
13520xae000000,
13530xff098200,
13540x240a0000,
13550xff098200,
13560x10000000,
13570xff050845,
13580xf6e00000,
13590xff060053,
13600x926f0000,
13610xff098200,
13620x11200000,
13630xff050844,
13640x02007021,
13650x26100008,
13660x000f7802,
13670xff0900a6,
13680x31ef0001,
13690x25f20000,
13700xff098200,
13710x10000000,
13720xff050824,
13730x2529fff8,
13740xff060054,
13750x2d210010,
13760x8e070000,
13770xff098200,
13780x14200000,
13790xff050844,
13800xd60e0008,
13810xd60c0000,
13820x926d0000,
13830xff098200,
13840x24010000,
13850xff098200,
13860x02007021,
13870x14e10000,
13880xff050844,
13890x26100010,
13900x000f7802,
13910xff0900a6,
13920xf5ce0000,
13930x31ef0001,
13940xf5cc0008,
13950x25f20000,
13960xff098200,
13970x10000000,
13980xff050824,
13990x2529fff0,
14000xff060055,
14010x11200000,
14020xff050844,
14030x8e060000,
14040xff098200,
14050x8e040000,
14060xff098200,
14070xff000000,
14080x24010000,
14090xff098200,
14100x14c10000,
14110xff050844,
14120x908c0000,
14130xff098200,
14140x8c8d0000,
14150xff098200,
14160x8c850000,
14170xff098200,
14180x8c8e0000,
14190xff098200,
14200x258f0000,
14210xff098200,
14220x1de00000,
14230xff050844,
14240x01c57026,
14250x15a00000,
14260xff050844,
14270x01cc0825,
14280x8c8c0000,
14290xff098200,
14300x10200000,
14310xff050844,
14320x8e120000,
14330xff098200,
14340x00a97021,
14350x018e082b,
14360x14200000,
14370xff050844,
14380xafb20014,
14390xae900000,
14400xff098200,
14410xff06000b,
14420x26100008,
14430x2529fff8,
14440x25cefff8,
14450xac8e0000,
14460xff098200,
14470x02096821,
14480x00a03021,
14490xae900000,
14500xff098200,
14510xff06000c,
14520xd6000000,
14530x020d082b,
14540x10200000,
14550xff050803,
14560x26100008,
14570xf4c00000,
14580x10000000,
14590xff05080c,
14600x24c60008,
14610xff06000d,
14620x04110000,
14630xff050821,
14640x0080b821,
14650xff06000e,
14660xff000000,
14670x8eee0000,
14680xff098200,
14690x2c410000,
14700xff098200,
14710x8eef0000,
14720xff098200,
14730x240c0000,
14740xff098200,
14750x8e900000,
14760xff098200,
14770xae6c0000,
14780xff098200,
14790x10200000,
14800xff050808,
14810x01ee5023,
14820x8e8c0000,
14830xff098200,
14840x11400000,
14850xff050806,
14860x020a6821,
14870x018d082b,
14880x14200000,
14890xff050809,
14900x01ca7821,
14910xaeee0000,
14920xff098200,
14930x02006821,
14940xff06000f,
14950xd5c00000,
14960x25ce0008,
14970x01cf082b,
14980xf5a00000,
14990x14200000,
15000xff05080f,
15010x25ad0008,
15020xff060010,
15030x324c0000,
15040xff090200,
15050x240d0000,
15060xff098200,
15070x2617fff8,
15080xae0d0000,
15090xff098200,
15100x254a0010,
15110xff060011,
15120xafb20014,
15130x11800000,
15140xff050817,
15150x0140a821,
15160x10000000,
15170xff050818,
15180x00000000,
15190xff060012,
15200x25effff8,
15210x240d0000,
15220xff098200,
15230xd5e00000,
15240xaeef0000,
15250xff098200,
15260xff000000,
15270x240a0000,
15280xff098200,
15290xae0d0000,
15300xff098200,
15310x2617fff8,
15320xf6000000,
15330x10000000,
15340xff050811,
15350x324c0000,
15360xff090200,
15370xff060013,
15380x8e790000,
15390xff098200,
15400x000a28c2,
15410x0320f809,
15420x02802021,
15430x10000000,
15440xff05080e,
15450x24020000,
15460xff060056,
15470x8d040000,
15480xff098200,
15490x908c0000,
15500xff098200,
15510x8c8d0000,
15520xff098200,
15530x8c850000,
15540xff098200,
15550x8c8e0000,
15560xff098200,
15570x258f0000,
15580xff098200,
15590x1de00000,
15600xff050844,
15610x01c57026,
15620x15a00000,
15630xff050844,
15640x01cc0825,
15650x8c8c0000,
15660xff098200,
15670x10200000,
15680xff050844,
15690x8e120000,
15700xff098200,
15710x00a97021,
15720x018e082b,
15730x14200000,
15740xff050844,
15750xafb20014,
15760xae900000,
15770xff098200,
15780xff06000b,
15790xac8e0000,
15800xff098200,
15810xff000000,
15820x02096821,
15830x00a03021,
15840xae900000,
15850xff098200,
15860xff06000c,
15870xd6000000,
15880x020d082b,
15890x10200000,
15900xff050803,
15910x26100008,
15920xf4c00000,
15930x10000000,
15940xff05080c,
15950x24c60008,
15960xff06000d,
15970x04110000,
15980xff050821,
15990x0080b821,
16000xff06000e,
16010x8eee0000,
16020xff098200,
16030x2c410000,
16040xff098200,
16050x8eef0000,
16060xff098200,
16070x240c0000,
16080xff098200,
16090x8e900000,
16100xff098200,
16110xae6c0000,
16120xff098200,
16130x10200000,
16140xff050808,
16150x01ee5023,
16160x8e8c0000,
16170xff098200,
16180x11400000,
16190xff050806,
16200x020a6821,
16210x018d082b,
16220x14200000,
16230xff050809,
16240x01ca7821,
16250xaeee0000,
16260xff098200,
16270x02006821,
16280xff06000f,
16290xd5c00000,
16300x25ce0008,
16310x01cf082b,
16320xf5a00000,
16330x14200000,
16340xff05080f,
16350x25ad0008,
16360xff060010,
16370x324c0000,
16380xff090200,
16390x0200b821,
16400x254a0008,
16410xff060011,
16420xff000000,
16430xafb20014,
16440x11800000,
16450xff050817,
16460x0140a821,
16470x10000000,
16480xff050818,
16490x00000000,
16500xff060012,
16510x8e790000,
16520xff098200,
16530x02e02821,
16540x0320f809,
16550x02802021,
16560xff060013,
16570x8e790000,
16580xff098200,
16590x000a28c2,
16600x0320f809,
16610x02802021,
16620x10000000,
16630xff05080e,
16640x24020000,
16650xff060057,
16660x8e8c0000,
16670xff098200,
16680x02096821,
16690xae900000,
16700xff098200,
16710x318c0000,
16720xff090200,
16730xae8d0000,
16740xff098200,
16750x11800000,
16760xff050844,
16770x24020000,
16780xff098200,
16790xae800000,
16800xff098200,
16810x10000000,
16820xff05081a,
16830xa2820000,
16840xff098200,
16850xff060058,
16860x8e060000,
16870xff098200,
16880x11200000,
16890xff050844,
16900xd60c0000,
16910x2cc10000,
16920xff098200,
16930x10200000,
16940xff050844,
16950x46206005,
16960xff060047,
16970xff000000,
16980x8e120000,
16990xff098200,
17000x2617fff8,
17010x10000000,
17020xff050859,
17030xf600fff8,
17040xff060049,
17050x8e120000,
17060xff098200,
17070xae060000,
17080xff098200,
17090x2617fff8,
17100xae040000,
17110xff098200,
17120xff060059,
17130x240a0000,
17140xff098200,
17150xff060045,
17160x324c0000,
17170xff090200,
17180x15800000,
17190xff050818,
17200x0140a821,
17210x8e4bfffc,
17220x000b4542,
17230x310807f8,
17240xff06000f,
17250x0148082b,
17260x14200000,
17270xff050806,
17280x000b6142,
17290x318c07f8,
17300x8e4b0000,
17310x26520004,
17320x02ec8023,
17330x316d00ff,
17340x000d6880,
17350x026d6021,
17360x000b5402,
17370x8d810000,
17380x000bb942,
17390x000a50c0,
17400x00200008,
17410x32f707f8,
17420xff060010,
17430x02ea6821,
17440x254a0008,
17450x10000000,
17460xff05080f,
17470xadbe0000,
17480xff098200,
17490xff06005a,
17500x8e060000,
17510xff098200,
17520x11200000,
17530xff050844,
17540xd60c0000,
17550x2cc10000,
17560xff098200,
17570x10200000,
17580xff050844,
17590x00000000,
17600x04110000,
17610xff05085b,
17620x00000000,
17630x10000000,
17640xff050847,
17650xff000000,
17660x00000000,
17670xff06005c,
17680x8e060000,
17690xff098200,
17700x11200000,
17710xff050844,
17720xd60c0000,
17730x2cc10000,
17740xff098200,
17750x10200000,
17760xff050844,
17770x00000000,
17780x04110000,
17790xff05085d,
17800x00000000,
17810x10000000,
17820xff050847,
17830x00000000,
17840xff06005e,
17850x8e060000,
17860xff098200,
17870x11200000,
17880xff050844,
17890x8e790000,
17900xff098200,
17910x2cc10000,
17920xff098200,
17930x10200000,
17940xff050844,
17950x00000000,
17960x0320f809,
17970xd60c0000,
17980x10000000,
17990xff050847,
18000x00000000,
18010xff06005f,
18020x8e060000,
18030xff098200,
18040x11200000,
18050xff050844,
18060x8e790000,
18070xff098200,
18080x2cc10000,
18090xff098200,
18100x10200000,
18110xff050844,
18120x00000000,
18130x0320f809,
18140xd60c0000,
18150x10000000,
18160xff050847,
18170x00000000,
18180xff060060,
18190x8e060000,
18200xff098200,
18210xff000000,
18220x11200000,
18230xff050844,
18240x8e790000,
18250xff098200,
18260x2cc10000,
18270xff098200,
18280x10200000,
18290xff050844,
18300x00000000,
18310x0320f809,
18320xd60c0000,
18330x10000000,
18340xff050847,
18350x00000000,
18360xff060061,
18370x8e060000,
18380xff098200,
18390x11200000,
18400xff050844,
18410x8e790000,
18420xff098200,
18430x2cc10000,
18440xff098200,
18450x10200000,
18460xff050844,
18470x00000000,
18480x0320f809,
18490xd60c0000,
18500x10000000,
18510xff050847,
18520x00000000,
18530xff060062,
18540x8e060000,
18550xff098200,
18560x11200000,
18570xff050844,
18580x8e790000,
18590xff098200,
18600x2cc10000,
18610xff098200,
18620x10200000,
18630xff050844,
18640x00000000,
18650x0320f809,
18660xd60c0000,
18670x10000000,
18680xff050847,
18690x00000000,
18700xff060063,
18710x8e060000,
18720xff098200,
18730x11200000,
18740xff050844,
18750x8e790000,
18760xff098200,
18770xff000000,
18780x2cc10000,
18790xff098200,
18800x10200000,
18810xff050844,
18820x00000000,
18830x0320f809,
18840xd60c0000,
18850x10000000,
18860xff050847,
18870x00000000,
18880xff060064,
18890x8e060000,
18900xff098200,
18910x11200000,
18920xff050844,
18930x8e790000,
18940xff098200,
18950x2cc10000,
18960xff098200,
18970x10200000,
18980xff050844,
18990x00000000,
19000x0320f809,
19010xd60c0000,
19020x10000000,
19030xff050847,
19040x00000000,
19050xff060065,
19060x8e060000,
19070xff098200,
19080x11200000,
19090xff050844,
19100x8e790000,
19110xff098200,
19120x2cc10000,
19130xff098200,
19140x10200000,
19150xff050844,
19160x00000000,
19170x0320f809,
19180xd60c0000,
19190x10000000,
19200xff050847,
19210x00000000,
19220xff060066,
19230x8e060000,
19240xff098200,
19250x11200000,
19260xff050844,
19270x8e790000,
19280xff098200,
19290x2cc10000,
19300xff098200,
19310x10200000,
19320xff050844,
19330xff000000,
19340x00000000,
19350x0320f809,
19360xd60c0000,
19370x10000000,
19380xff050847,
19390x00000000,
19400xff060067,
19410x8e060000,
19420xff098200,
19430x11200000,
19440xff050844,
19450x8e790000,
19460xff098200,
19470x2cc10000,
19480xff098200,
19490x10200000,
19500xff050844,
19510x00000000,
19520x0320f809,
19530xd60c0000,
19540x10000000,
19550xff050847,
19560x00000000,
19570xff060068,
19580x8e060000,
19590xff098200,
19600x11200000,
19610xff050844,
19620x8e790000,
19630xff098200,
19640x2cc10000,
19650xff098200,
19660x10200000,
19670xff050844,
19680x00000000,
19690x0320f809,
19700xd60c0000,
19710x10000000,
19720xff050847,
19730x00000000,
19740xff060069,
19750x8e060000,
19760xff098200,
19770x11200000,
19780xff050844,
19790x8e790000,
19800xff098200,
19810x2cc10000,
19820xff098200,
19830x10200000,
19840xff050844,
19850x00000000,
19860x0320f809,
19870xd60c0000,
19880x10000000,
19890xff050847,
19900x00000000,
19910xff06006a,
19920xff000000,
19930x2d210010,
19940x8e060000,
19950xff098200,
19960x14200000,
19970xff050844,
19980x8e070000,
19990xff098200,
20000xd60c0000,
20010xd60e0008,
20020x2ccc0000,
20030xff098200,
20040x2ced0000,
20050xff098200,
20060x018d6024,
20070x11800000,
20080xff050844,
20090x8e790000,
20100xff098200,
20110x0320f809,
20120x00000000,
20130x10000000,
20140xff050847,
20150x00000000,
20160xff06006b,
20170x2d210010,
20180x8e060000,
20190xff098200,
20200x14200000,
20210xff050844,
20220x8e070000,
20230xff098200,
20240xd60c0000,
20250xd60e0008,
20260x2ccc0000,
20270xff098200,
20280x2ced0000,
20290xff098200,
20300x018d6024,
20310x11800000,
20320xff050844,
20330x8e790000,
20340xff098200,
20350x0320f809,
20360x00000000,
20370x10000000,
20380xff050847,
20390x00000000,
20400xff06006c,
20410x2d210010,
20420x8e060000,
20430xff098200,
20440x14200000,
20450xff050844,
20460x8e070000,
20470xff098200,
20480xd60c0000,
20490xd60e0008,
20500x2ccc0000,
20510xff098200,
20520x2ced0000,
20530xff098200,
20540xff000000,
20550x018d6024,
20560x11800000,
20570xff050844,
20580x8e790000,
20590xff098200,
20600x0320f809,
20610x00000000,
20620x10000000,
20630xff050847,
20640x00000000,
20650xff06006d,
20660x8e060000,
20670xff098200,
20680x11200000,
20690xff050844,
20700xd60c0000,
20710x2cc10000,
20720xff098200,
20730x10200000,
20740xff050844,
20750x46206004,
20760x10000000,
20770xff050847,
20780x00000000,
20790xff06006e,
20800xff06006f,
20810x8e060000,
20820xff098200,
20830x11200000,
20840xff050844,
20850xd60c0000,
20860x2cc10000,
20870xff098200,
20880x10200000,
20890xff050844,
20900xd50e0000,
20910xff098200,
20920x10000000,
20930xff050847,
20940x462e6002,
20950xff060070,
20960x2d210010,
20970x8e060000,
20980xff098200,
20990x14200000,
21000xff050844,
21010x8e070000,
21020xff098200,
21030xd60c0000,
21040xd60e0008,
21050x2ccc0000,
21060xff098200,
21070x2ced0000,
21080xff098200,
21090xff000000,
21100x018d6024,
21110x11800000,
21120xff050844,
21130x462073a4,
21140x8e790000,
21150xff098200,
21160x44067000,
21170x0320f809,
21180x00000000,
21190x10000000,
21200xff050847,
21210x00000000,
21220xff060071,
21230x8e060000,
21240xff098200,
21250x11200000,
21260xff050844,
21270xd60c0000,
21280x2cc10000,
21290xff098200,
21300x10200000,
21310xff050844,
21320x8e790000,
21330xff098200,
21340x8e120000,
21350xff098200,
21360x0320f809,
21370x26660000,
21380xff098200,
21390x8e6d0000,
21400xff098200,
21410x2617fff8,
21420x448d7000,
21430xf6e00000,
21440x468073a1,
21450xf6ee0008,
21460x10000000,
21470xff050845,
21480x240a0000,
21490xff098200,
21500xff060072,
21510x8e060000,
21520xff098200,
21530x11200000,
21540xff050844,
21550xd60c0000,
21560x2cc10000,
21570xff098200,
21580x10200000,
21590xff050844,
21600x8e790000,
21610xff098200,
21620x8e120000,
21630xff098200,
21640x0320f809,
21650x2606fff8,
21660x2617fff8,
21670xf6000000,
21680x10000000,
21690xff050845,
21700x240a0000,
21710xff098200,
21720xff060073,
21730xff000000,
21740x8e060000,
21750xff098200,
21760x11200000,
21770xff050844,
21780xd6000000,
21790x2cc10000,
21800xff098200,
21810x10200000,
21820xff050844,
21830x02097021,
21840x260d0008,
21850x11ae0000,
21860xff050847,
21870xff06000b,
21880x8da60000,
21890xff098200,
21900xd5ac0000,
21910x25ad0008,
21920x2cc10000,
21930xff098200,
21940x10200000,
21950xff050844,
21960x462c0034,
21970x15ae0000,
21980xff05080b,
21990x46206011,
22000x10000000,
22010xff050847,
22020x00000000,
22030xff060074,
22040x8e060000,
22050xff098200,
22060x11200000,
22070xff050844,
22080xd6000000,
22090x2cc10000,
22100xff098200,
22110x10200000,
22120xff050844,
22130x02097021,
22140x260d0008,
22150x11ae0000,
22160xff050847,
22170xff06000b,
22180x8da60000,
22190xff098200,
22200xd5ac0000,
22210x25ad0008,
22220x2cc10000,
22230xff098200,
22240x10200000,
22250xff050844,
22260x46206034,
22270x15ae0000,
22280xff05080b,
22290x46206011,
22300x10000000,
22310xff050847,
22320xff000000,
22330x00000000,
22340xff060075,
22350x11200000,
22360xff050844,
22370x8e060000,
22380xff098200,
22390x8e040000,
22400xff098200,
22410x24010000,
22420xff098200,
22430x14c10000,
22440xff050844,
22450x00000000,
22460x10000000,
22470xff050876,
22480x8c820000,
22490xff098200,
22500xff060077,
22510x8e060000,
22520xff098200,
22530x8e040000,
22540xff098200,
22550x39210008,
22560x24c60000,
22570xff098200,
22580x00260825,
22590x14200000,
22600xff050844,
22610x00000000,
22620x8c8c0000,
22630xff098200,
22640x908d0000,
22650xff098200,
22660x2617fff8,
22670x000c502b,
22680x448d0000,
22690x254a0001,
22700x46800021,
22710x8e120000,
22720xff098200,
22730x000a50c0,
22740x10000000,
22750xff050845,
22760xf6e00000,
22770xff060078,
22780x8e6c0000,
22790xff098200,
22800x8e6d0000,
22810xff098200,
22820x018d0823,
22830x04310000,
22840xff05084e,
22850x8e060000,
22860xff098200,
22870xd60c0000,
22880x24010008,
22890x15210000,
22900xff050844,
22910xff000000,
22920x2cc10000,
22930xff098200,
22940x10200000,
22950xff050844,
22960x24060001,
22970x46206324,
22980x27a50010,
22990x2d810100,
23000x440c6000,
23010x10200000,
23020xff050844,
23030xafac0010,
23040xff060079,
23050x8e790000,
23060xff098200,
23070xae900000,
23080xff098200,
23090xafb20014,
23100x0320f809,
23110x02802021,
23120x8e900000,
23130xff098200,
23140x00402021,
23150x10000000,
23160xff050849,
23170x24060000,
23180xff098200,
23190xff06007a,
23200x8e6c0000,
23210xff098200,
23220x8e6d0000,
23230xff098200,
23240x018d0823,
23250x04310000,
23260xff05084e,
23270x2521fff0,
23280x8e060000,
23290xff098200,
23300xd6000010,
23310x8e0c0000,
23320xff098200,
23330x8e040000,
23340xff098200,
23350x04200000,
23360xff050844,
23370x8e050000,
23380xff098200,
23390xd6020008,
23400x10200000,
23410xff050801,
23420x2407ffff,
23430x46200024,
23440x2cc10000,
23450xff098200,
23460x10200000,
23470xff050844,
23480x44070000,
23490xff06000b,
23500x2ca10000,
23510xff098200,
23520xff000000,
23530x10200000,
23540xff050844,
23550x24010000,
23560xff098200,
23570x462010a4,
23580x15810000,
23590xff050844,
23600x8c850000,
23610xff098200,
23620x44061000,
23630x00e0082a,
23640x24ac0001,
23650x00ec6821,
23660x00c0782a,
23670x01a1380b,
23680x00cc6821,
23690x01af300b,
23700x240e0001,
23710x00e0082a,
23720x0006782a,
23730x0001380b,
23740x01cf300a,
23750x00a7082a,
23760x00a1380b,
23770x00862821,
23780x00e63023,
23790x24a50000,
23800xff098200,
23810x04c10000,
23820xff050879,
23830x24c60001,
23840xff06007b,
23850x26640000,
23860xff098200,
23870x10000000,
23880xff050849,
23890x24060000,
23900xff098200,
23910xff06007c,
23920x8e6c0000,
23930xff098200,
23940x8e6d0000,
23950xff098200,
23960x018d0823,
23970x04310000,
23980xff05084e,
23990x8e0c0000,
24000xff098200,
24010x2d210010,
24020x8e070000,
24030xff098200,
24040x8e040000,
24050xff098200,
24060x258c0000,
24070xff098200,
24080xd6000008,
24090x002c0825,
24100x14200000,
24110xff050844,
24120x2ce10000,
24130xff098200,
24140x46200024,
24150x10200000,
24160xff050844,
24170x8c8c0000,
24180xff098200,
24190x44060000,
24200x8e6d0000,
24210xff098200,
24220xff000000,
24230x24010001,
24240x18c00000,
24250xff05087b,
24260x002c082b,
24270x11800000,
24280xff05087b,
24290x01a6602b,
24300x002c0825,
24310x8e650000,
24320xff098200,
24330x14200000,
24340xff050844,
24350x908c0000,
24360xff098200,
24370x00a67021,
24380xff06000b,
24390x25ceffff,
24400x00ae082b,
24410x14200000,
24420xff05080b,
24430xa1cc0000,
24440x10000000,
24450xff050879,
24460x00000000,
24470xff06007d,
24480x8e6c0000,
24490xff098200,
24500x8e6d0000,
24510xff098200,
24520x018d0823,
24530x04310000,
24540xff05084e,
24550x8e060000,
24560xff098200,
24570x8e040000,
24580xff098200,
24590x11200000,
24600xff050844,
24610x24010000,
24620xff098200,
24630x14c10000,
24640xff050844,
24650x8e6d0000,
24660xff098200,
24670x8c860000,
24680xff098200,
24690x24840000,
24700xff098200,
24710x8e650000,
24720xff098200,
24730x01a6082b,
24740x14200000,
24750xff050844,
24760x00867821,
24770x00a63821,
24780xff06000b,
24790xff000000,
24800x908d0000,
24810x008f082b,
24820x10200000,
24830xff050879,
24840x24840001,
24850x24e7ffff,
24860x10000000,
24870xff05080b,
24880xa0ed0000,
24890xff06007e,
24900x8e6c0000,
24910xff098200,
24920x8e6d0000,
24930xff098200,
24940x018d0823,
24950x04310000,
24960xff05084e,
24970x8e060000,
24980xff098200,
24990x8e040000,
25000xff098200,
25010x11200000,
25020xff050844,
25030x24010000,
25040xff098200,
25050x14c10000,
25060xff050844,
25070x8e6d0000,
25080xff098200,
25090x8c860000,
25100xff098200,
25110x24840000,
25120xff098200,
25130x8e650000,
25140xff098200,
25150x01a6082b,
25160x14200000,
25170xff050844,
25180x00867821,
25190x00a03821,
25200xff06000b,
25210x908d0000,
25220x008f082b,
25230x10200000,
25240xff050879,
25250x25acffbf,
25260x39ae0020,
25270x2d81001a,
25280x01c1680b,
25290x24840001,
25300xa0ed0000,
25310x10000000,
25320xff05080b,
25330x24e70001,
25340xff06007f,
25350x8e6c0000,
25360xff098200,
25370x8e6d0000,
25380xff098200,
25390x018d0823,
25400x04310000,
25410xff05084e,
25420xff000000,
25430x8e060000,
25440xff098200,
25450x8e040000,
25460xff098200,
25470x11200000,
25480xff050844,
25490x24010000,
25500xff098200,
25510x14c10000,
25520xff050844,
25530x8e6d0000,
25540xff098200,
25550x8c860000,
25560xff098200,
25570x24840000,
25580xff098200,
25590x8e650000,
25600xff098200,
25610x01a6082b,
25620x14200000,
25630xff050844,
25640x00867821,
25650x00a03821,
25660xff06000b,
25670x908d0000,
25680x008f082b,
25690x10200000,
25700xff050879,
25710x25acff9f,
25720x39ae0020,
25730x2d81001a,
25740x01c1680b,
25750x24840001,
25760xa0ed0000,
25770x10000000,
25780xff05080b,
25790x24e70001,
25800xff060080,
25810x11200000,
25820xff050844,
25830x8e060000,
25840xff098200,
25850x8e040000,
25860xff098200,
25870x24010000,
25880xff098200,
25890x14c10000,
25900xff050844,
25910x8e790000,
25920xff098200,
25930x0320f809,
25940x00000000,
25950x10000000,
25960xff050876,
25970x00000000,
25980xff060081,
25990x8e060000,
26000xff098200,
26010xff000000,
26020x11200000,
26030xff050844,
26040xd60c0000,
26050x2cc10000,
26060xff098200,
26070x10200000,
26080xff050844,
26090x463e6300,
26100x44026000,
26110x260d0008,
26120x02097021,
26130xff06000b,
26140x8da70000,
26150xff098200,
26160x11ae0000,
26170xff050876,
26180xd5ac0000,
26190x2ce10000,
26200xff098200,
26210x10200000,
26220xff050844,
26230x463e6300,
26240x44056000,
26250x00451024,
26260x10000000,
26270xff05080b,
26280x25ad0008,
26290xff060082,
26300x8e060000,
26310xff098200,
26320x11200000,
26330xff050844,
26340xd60c0000,
26350x2cc10000,
26360xff098200,
26370x10200000,
26380xff050844,
26390x463e6300,
26400x44026000,
26410x260d0008,
26420x02097021,
26430xff06000b,
26440x8da70000,
26450xff098200,
26460x11ae0000,
26470xff050876,
26480xd5ac0000,
26490x2ce10000,
26500xff098200,
26510x10200000,
26520xff050844,
26530x463e6300,
26540x44056000,
26550x00451025,
26560x10000000,
26570xff05080b,
26580x25ad0008,
26590xff060083,
26600x8e060000,
26610xff098200,
26620x11200000,
26630xff050844,
26640xff000000,
26650xd60c0000,
26660x2cc10000,
26670xff098200,
26680x10200000,
26690xff050844,
26700x463e6300,
26710x44026000,
26720x260d0008,
26730x02097021,
26740xff06000b,
26750x8da70000,
26760xff098200,
26770x11ae0000,
26780xff050876,
26790xd5ac0000,
26800x2ce10000,
26810xff098200,
26820x10200000,
26830xff050844,
26840x463e6300,
26850x44056000,
26860x00451026,
26870x10000000,
26880xff05080b,
26890x25ad0008,
26900xff060084,
26910x8e060000,
26920xff098200,
26930x11200000,
26940xff050844,
26950xd60c0000,
26960x2cc10000,
26970xff098200,
26980x10200000,
26990xff050844,
27000x463e6300,
27010x44026000,
27020x00026602,
27030x00027202,
27040x00026e00,
27050x31ceff00,
27060x018d6025,
27070x3042ff00,
27080x018e6025,
27090x00021200,
27100x10000000,
27110xff050876,
27120x01821025,
27130xff060085,
27140x8e060000,
27150xff098200,
27160x11200000,
27170xff050844,
27180xd60c0000,
27190x2cc10000,
27200xff098200,
27210x10200000,
27220xff050844,
27230x463e6300,
27240x44026000,
27250x10000000,
27260xff050876,
27270x00401027,
27280xff060086,
27290x2d210010,
27300x8e060000,
27310xff098200,
27320x14200000,
27330xff050844,
27340xff000000,
27350x8e070000,
27360xff098200,
27370xd60c0000,
27380xd60e0008,
27390x2ccc0000,
27400xff098200,
27410x2ced0000,
27420xff098200,
27430x018d6024,
27440x11800000,
27450xff050844,
27460x463e6300,
27470x463e7380,
27480x44046000,
27490x44057000,
27500x10000000,
27510xff050876,
27520x00a41004,
27530xff060087,
27540x2d210010,
27550x8e060000,
27560xff098200,
27570x14200000,
27580xff050844,
27590x8e070000,
27600xff098200,
27610xd60c0000,
27620xd60e0008,
27630x2ccc0000,
27640xff098200,
27650x2ced0000,
27660xff098200,
27670x018d6024,
27680x11800000,
27690xff050844,
27700x463e6300,
27710x463e7380,
27720x44046000,
27730x44057000,
27740x10000000,
27750xff050876,
27760x00a41006,
27770xff060088,
27780x2d210010,
27790x8e060000,
27800xff098200,
27810x14200000,
27820xff050844,
27830x8e070000,
27840xff098200,
27850xd60c0000,
27860xd60e0008,
27870x2ccc0000,
27880xff098200,
27890x2ced0000,
27900xff098200,
27910x018d6024,
27920x11800000,
27930xff050844,
27940x463e6300,
27950x463e7380,
27960x44046000,
27970x44057000,
27980x10000000,
27990xff050876,
28000x00a41007,
28010xff060089,
28020x2d210010,
28030x8e060000,
28040xff098200,
28050xff000000,
28060x14200000,
28070xff050844,
28080x8e070000,
28090xff098200,
28100xd60c0000,
28110xd60e0008,
28120x2ccc0000,
28130xff098200,
28140x2ced0000,
28150xff098200,
28160x018d6024,
28170x11800000,
28180xff050844,
28190x463e6300,
28200x463e7380,
28210x44046000,
28220x44057000,
28230x24010020,
28240x00256023,
28250x00a42804,
28260x01842006,
28270x10000000,
28280xff050876,
28290x00851025,
28300xff06008a,
28310x2d210010,
28320x8e060000,
28330xff098200,
28340x14200000,
28350xff050844,
28360x8e070000,
28370xff098200,
28380xd60c0000,
28390xd60e0008,
28400x2ccc0000,
28410xff098200,
28420x2ced0000,
28430xff098200,
28440x018d6024,
28450x11800000,
28460xff050844,
28470x463e6300,
28480x463e7380,
28490x44046000,
28500x44057000,
28510x24010020,
28520x00256023,
28530x00a42806,
28540x01842004,
28550x10000000,
28560xff050876,
28570x00851025,
28580xff06008b,
28590x8e060000,
28600xff098200,
28610x11200000,
28620xff050844,
28630xd60c0000,
28640x2cc10000,
28650xff098200,
28660x10200000,
28670xff050844,
28680x463e6300,
28690x44026000,
28700xff060076,
28710x44820000,
28720x10000000,
28730xff050847,
28740x46800021,
28750xff060044,
28760x8d0f0000,
28770xff098200,
28780xff000000,
28790x02096821,
28800x8e120000,
28810xff098200,
28820x25ac0000,
28830xff098200,
28840x8e8e0000,
28850xff098200,
28860xafb20014,
28870x01cc082b,
28880xae900000,
28890xff098200,
28900xae8d0000,
28910xff098200,
28920x14200000,
28930xff050805,
28940x01e0c821,
28950x01e0f809,
28960x02802021,
28970x8e900000,
28980xff098200,
28990x000250c0,
29000x1c400000,
29010xff050845,
29020x2617fff8,
29030xff06000b,
29040x8e8c0000,
29050xff098200,
29060x8e080000,
29070xff098200,
29080x14400000,
29090xff050829,
29100x01904823,
29110x8d120000,
29120xff098200,
29130x8e4b0000,
29140x26520004,
29150x316d00ff,
29160x000bb942,
29170x000d6880,
29180x32f707f8,
29190x026d6021,
29200x8d8c0000,
29210x01800008,
29220x02f0b821,
29230xff060029,
29240x324c0000,
29250xff090200,
29260x2401fffc,
29270x15800000,
29280xff050803,
29290x02416824,
29300x924d0000,
29310xff098200,
29320x000d68c0,
29330x25ad0008,
29340xff06000d,
29350x10000000,
29360xff050824,
29370x020d7023,
29380xff06000f,
29390x8e790000,
29400xff098200,
29410x24050000,
29420xff098200,
29430x0320f809,
29440x02802021,
29450x8e900000,
29460xff098200,
29470xff000000,
29480x10000000,
29490xff05080b,
29500x24020000,
29510xff06004e,
29520x03e0a821,
29530x8e790000,
29540xff098200,
29550xae900000,
29560xff098200,
29570x02096021,
29580xafb20014,
29590xae8c0000,
29600xff098200,
29610x0320f809,
29620x02802021,
29630x8e900000,
29640xff098200,
29650x02a0f821,
29660x8e8c0000,
29670xff098200,
29680x8e080000,
29690xff098200,
29700x03e00008,
29710x01904823,
29720xff06008c,
29730xff000000,
29740x926f0000,
29750xff098200,
29760x31e10000,
29770xff090200,
29780x14200000,
29790xff050805,
29800x8e6e0000,
29810xff098200,
29820x31e10000,
29830xff090200,
29840x14200000,
29850xff050801,
29860x25ceffff,
29870x31e10000,
29880xff090200,
29890x10200000,
29900xff050801,
29910x00000000,
29920x10000000,
29930xff050801,
29940xae6e0000,
29950xff098200,
29960xff000000,
29970xff06008d,
29980x926f0000,
29990xff098200,
30000x31e10000,
30010xff090200,
30020x10200000,
30030xff050801,
30040xff06000f,
30050x8d810000,
30060xff098200,
30070x00200008,
30080x00000000,
30090xff06008e,
30100x926f0000,
30110xff098200,
30120x8e6e0000,
30130xff098200,
30140x31e10000,
30150xff090200,
30160x14200000,
30170xff05080f,
30180x31e10000,
30190xff090200,
30200x10200000,
30210xff05080f,
30220x25ceffff,
30230x11c00000,
30240xff050801,
30250xae6e0000,
30260xff098200,
30270x31e10000,
30280xff090200,
30290x10200000,
30300xff05080f,
30310xff06000b,
30320x8e790000,
30330xff098200,
30340xafb50010,
30350x02402821,
30360xae900000,
30370xff098200,
30380x0320f809,
30390x02802021,
30400xff06000d,
30410x8e900000,
30420xff098200,
30430xff06000e,
30440xff000000,
30450x8e4bfffc,
30460x316d00ff,
30470x000d6880,
30480x026d6021,
30490x000b5402,
30500x8d810000,
30510xff098200,
30520x000bb942,
30530x000a50c0,
30540x00200008,
30550x32f707f8,
30560xff06008f,
30570x26520004,
30580x10000000,
30590xff05080e,
30600x8d150000,
30610xff098200,
30620xff060090,
30630xff000000,
30640x8e0d0000,
30650xff098200,
30660x26640000,
30670xff098200,
30680xafb20014,
30690x8dad0000,
30700xff098200,
30710x02402821,
30720xae740000,
30730xff098200,
30740x91ad0000,
30750xff098200,
30760x8e790000,
30770xff098200,
30780xae900000,
30790xff098200,
30800x000d68c0,
30810x020d6821,
30820x0320f809,
30830xae8d0000,
30840xff098200,
30850x10000000,
30860xff05080d,
30870x00000000,
30880xff000000,
30890xff060091,
30900xff000000,
30910x10000000,
30920xff050801,
30930xff000000,
30940x02402821,
30950xff060092,
30960xff000000,
30970x36450001,
30980xff06000b,
30990xff000000,
31000x8e790000,
31010xff098200,
31020x02096021,
31030xafb20014,
31040xae900000,
31050xff098200,
31060x02f0b823,
31070xae8c0000,
31080xff098200,
31090x0320f809,
31100x02802021,
31110x8e900000,
31120xff098200,
31130x8e8c0000,
31140xff098200,
31150xafa00014,
31160x01904823,
31170x0217b821,
31180x8e080000,
31190xff098200,
31200x00400008,
31210x8e4bfffc,
31220xff060093,
31230xff000000,
31240x27bd0000,
31250xff098200,
31260xf7a00000,
31270xff098200,
31280xafa00000,
31290xff098200,
31300xafa10000,
31310xff098200,
31320xf7a20000,
31330xff098200,
31340xafa20000,
31350xff098200,
31360xafa30000,
31370xff098200,
31380xf7a40000,
31390xff098200,
31400xafa40000,
31410xff098200,
31420xafa50000,
31430xff098200,
31440xf7a60000,
31450xff098200,
31460xafa60000,
31470xff098200,
31480xafa70000,
31490xff098200,
31500xf7a80000,
31510xff098200,
31520xafa80000,
31530xff098200,
31540xafa90000,
31550xff098200,
31560xf7aa0000,
31570xff098200,
31580xafaa0000,
31590xff098200,
31600xafab0000,
31610xff098200,
31620xf7ac0000,
31630xff098200,
31640xafac0000,
31650xff098200,
31660xafad0000,
31670xff098200,
31680xf7ae0000,
31690xff098200,
31700xff000000,
31710xafae0000,
31720xff098200,
31730xafaf0000,
31740xff098200,
31750xf7b00000,
31760xff098200,
31770xafb00000,
31780xff098200,
31790xafb10000,
31800xff098200,
31810xf7b20000,
31820xff098200,
31830xafb20000,
31840xff098200,
31850xafb30000,
31860xff098200,
31870xf7b40000,
31880xff098200,
31890xafb40000,
31900xff098200,
31910xafb50000,
31920xff098200,
31930xf7b60000,
31940xff098200,
31950xafb60000,
31960xff098200,
31970xafb70000,
31980xff098200,
31990xf7b80000,
32000xff098200,
32010xafb80000,
32020xff098200,
32030xafb90000,
32040xff098200,
32050xf7ba0000,
32060xff098200,
32070xafba0000,
32080xff098200,
32090xafbb0000,
32100xff098200,
32110xf7bc0000,
32120xff098200,
32130xafbc0000,
32140xff098200,
32150xf7be0000,
32160xff098200,
32170xff000000,
32180xafbe0000,
32190xff098200,
32200xafa00000,
32210xff098200,
32220x240c0000,
32230xff098200,
32240x27ae0000,
32250xff098200,
32260x27d30000,
32270xff098200,
32280x8dcd0000,
32290xae6c0000,
32300xff098200,
32310xafae0000,
32320xff098200,
32330x8e740000,
32340xff098200,
32350x8e700000,
32360xff098200,
32370x8e790000,
32380xff098200,
32390xae740000,
32400xff098200,
32410xae7f0000,
32420xff098200,
32430xae6d0000,
32440xff098200,
32450x26640000,
32460xff098200,
32470xae900000,
32480xff098200,
32490x0320f809,
32500x27a50010,
32510x8e8d0000,
32520xff098200,
32530x2401fffc,
32540x8e900000,
32550xff098200,
32560x01a1e824,
32570x8fb20014,
32580x10000000,
32590xff050801,
32600xafb40070,
32610xff000000,
32620xff060094,
32630xff000000,
32640x8fb40070,
32650x27d30000,
32660xff098200,
32670xff06000b,
32680x04400000,
32690xff050803,
32700x8e0d0000,
32710xff098200,
32720x3c0f59c0,
32730x0002a8c0,
32740x241e0000,
32750xff098200,
32760xafb50010,
32770x448ff000,
32780x8dad0000,
32790xff098200,
32800xae600000,
32810xff098200,
32820x8db10000,
32830xff098200,
32840x4600f7a1,
32850x8e4b0000,
32860x26520004,
32870xae7e0000,
32880xff098200,
32890x316d00ff,
32900x000d6880,
32910x2dae0000,
32920xff098200,
32930x026d6021,
32940x000b5402,
32950x8d810000,
32960x000bb942,
32970x11c00000,
32980xff050802,
32990x32f707f8,
33000x00200008,
33010x000a50c0,
33020xff06000c,
33030x26a9fff8,
33040x00200008,
33050x02f0b820,
33060xff06000d,
33070x8e790000,
33080xff098200,
33090x00022823,
33100x0320f809,
33110x02802021,
33120xff000000,
33130xff06005b,
33140x3c0c4330,
33150x44802000,
33160x448c2800,
33170x46206085,
33180x44016800,
33190x46241034,
33200x46241000,
33210x45000000,
33220xff050801,
33230x46240001,
33240x0020082a,
33250x3c0c3ff0,
33260x46200087,
33270x448c2800,
33280x46211013,
33290x46206034,
33300x46240081,
33310x03e00008,
33320x46211011,
33330xff06000b,
33340x03e00008,
33350x46206006,
33360xff06005d,
33370x3c0c4330,
33380x44802000,
33390x448c2800,
33400x46206085,
33410x44016800,
33420x46241034,
33430x46241000,
33440x45000000,
33450xff050801,
33460x46240001,
33470x0020082a,
33480x3c0cbff0,
33490x46200087,
33500x448c2800,
33510x46211013,
33520x462c0034,
33530x46240081,
33540x03e00008,
33550x46211011,
33560xff06000b,
33570x03e00008,
33580x46206006,
33590xff060095,
33600xff000000,
33610x3c0c4330,
33620x44802000,
33630x448c2800,
33640x46206085,
33650x44016800,
33660x46241034,
33670x46241000,
33680x45000000,
33690xff050801,
33700x46240001,
33710x0020082a,
33720x3c0c3ff0,
33730x448c2800,
33740x46201034,
33750x46240081,
33760x46211011,
33770x46200087,
33780x03e00008,
33790x46211013,
33800xff06000b,
33810x03e00008,
33820x46206006,
33830xff000000,
33840xff060096,
33850xff000000,
33860x27bdff90,
33870xafbf0000,
33880xff098200,
33890xafbe0000,
33900xff098200,
33910xf7be0000,
33920xff098200,
33930xafb70000,
33940xff098200,
33950xafb60000,
33960xff098200,
33970xf7bc0000,
33980xff098200,
33990xafb50000,
34000xff098200,
34010xafb40000,
34020xff098200,
34030xf7ba0000,
34040xff098200,
34050xafb30000,
34060xff098200,
34070xafb20000,
34080xff098200,
34090xf7b80000,
34100xff098200,
34110xafb10000,
34120xff098200,
34130xafb00000,
34140xff098200,
34150xf7b60000,
34160xff098200,
34170xf7b40000,
34180xff098200,
34190x8c520000,
34200xff098200,
34210x24530000,
34220xff098200,
34230x8e790000,
34240xff098200,
34250xae410000,
34260xff098200,
34270xae440000,
34280xff098200,
34290xae450000,
34300xff098200,
34310xf64c0000,
34320xff098200,
34330xff000000,
34340xae460000,
34350xff098200,
34360xae470000,
34370xff098200,
34380xf64e0000,
34390xff098200,
34400x27ac0000,
34410xff098200,
34420xae4c0000,
34430xff098200,
34440xafa00014,
34450x03a02821,
34460x0320f809,
34470x02402021,
34480x8c500000,
34490xff098200,
34500x8c490000,
34510xff098200,
34520x0040a021,
34530x3c0f59c0,
34540x8e080000,
34550xff098200,
34560x448ff000,
34570x240c0000,
34580xff098200,
34590x241e0000,
34600xff098200,
34610x01304823,
34620xae6c0000,
34630xff098200,
34640x4600f7a1,
34650x8d120000,
34660xff098200,
34670x8e4b0000,
34680x26520004,
34690x316d00ff,
34700x000bb942,
34710x000d6880,
34720x32f707f8,
34730x026d6021,
34740x8d8c0000,
34750x01800008,
34760x02f0b821,
34770xff000000,
34780xff060028,
34790xff000000,
34800x8e790000,
34810xff098200,
34820x8e720000,
34830xff098200,
34840xae900000,
34850xff098200,
34860xae880000,
34870xff098200,
34880xae540000,
34890xff098200,
34900x02e02821,
34910x0320f809,
34920x02402021,
34930x8e420000,
34940xff098200,
34950xd6400000,
34960xff098200,
34970x8e430000,
34980xff098200,
34990x10000000,
35000xff05081a,
35010xd6420000,
35020xff098200,
35030xff000000,
35040xff060097,
35050xff000000,
35060x8c8d0000,
35070xff098200,
35080x90850000,
35090xff098200,
35100x03a07021,
35110x03ade823,
35120xaddffffc,
35130x00052880,
35140xadd0fff8,
35150xadc4fff4,
35160x01c08021,
35170x248d0000,
35180xff098200,
35190x27ae0010,
35200x10a00000,
35210xff050802,
35220x01a57821,
35230xff06000b,
35240x8dac0000,
35250x25ad0004,
35260x01af082b,
35270xadcc0000,
35280x14200000,
35290xff05080b,
35300x25ce0004,
35310xff06000c,
35320x8c990000,
35330xff098200,
35340x8c850000,
35350xff098200,
35360x8c860000,
35370xff098200,
35380x8c870000,
35390xff098200,
35400xd48c0000,
35410xff098200,
35420xd48e0000,
35430xff098200,
35440x0320f809,
35450x8c840000,
35460xff098200,
35470x8e0dfff4,
35480x8e0efff8,
35490x8e1ffffc,
35500xada20000,
35510xff098200,
35520xada30000,
35530xff098200,
35540xf5a00000,
35550xff098200,
35560xf5a20000,
35570xff098200,
35580x0200e821,
35590x03e00008,
35600x01c08021,
35610xff000000,
35620xff080000,
35630xff000000,
35640x02172821,
35650x020a3021,
35660x8cac0000,
35670xff098200,
35680x8ccd0000,
35690xff098200,
35700xd4a00000,
35710xd4c20000,
35720x2d8c0000,
35730xff098200,
35740x2dad0000,
35750xff098200,
35760x964e0000,
35770xff098200,
35780x018d6024,
35790x26520004,
35800x11800000,
35810xff050835,
35820x3c0d0000,
35830xff090200,
35840x000e7080,
35850x01cd7021,
35860xff000000,
35870x46220034,
35880xff000000,
35890x46220036,
35900xff000000,
35910x00007001,
35920xff000000,
35930x00017001,
35940xff000000,
35950x024e9021,
35960xff06000b,
35970x8e4b0000,
35980x26520004,
35990x316d00ff,
36000x000d6880,
36010x026d6021,
36020x000b5402,
36030x8d810000,
36040x000bb942,
36050x000a50c0,
36060x00200008,
36070x32f707f8,
36080xff000000,
36090x0217b821,
36100x26520004,
36110x8eec0000,
36120xff098200,
36130xd6e00000,
36140x020a5021,
36150x964e0000,
36160xff098200,
36170x8d4d0000,
36180xff098200,
36190xd5420000,
36200x3c0f0000,
36210xff090200,
36220x2d810000,
36230xff098200,
36240x2da40000,
36250xff098200,
36260x000e7080,
36270x00240824,
36280x10200000,
36290xff050805,
36300x01cf7021,
36310x46220032,
36320xff000000,
36330x00007001,
36340xff000000,
36350x00017001,
36360xff000000,
36370xff06000b,
36380x024e9021,
36390x8e4b0000,
36400x26520004,
36410x316d00ff,
36420x000d6880,
36430x026d6021,
36440x000b5402,
36450x8d810000,
36460x000bb942,
36470x000a50c0,
36480x00200008,
36490x32f707f8,
36500xff06000f,
36510x8ee50000,
36520xff098200,
36530x8d460000,
36540xff098200,
36550xff000000,
36560x240f0000,
36570xff098200,
36580x118f0000,
36590xff05083b,
36600xff000000,
36610x2d810000,
36620xff098200,
36630xff000000,
36640x11af0000,
36650xff05083b,
36660xff000000,
36670x00a67826,
36680x01ac6826,
36690x2d840000,
36700xff098200,
36710x0001780a,
36720x000d200b,
36730x01af0825,
36740x0001200a,
36750x10800000,
36760xff05080b,
36770xff000000,
36780x0001700b,
36790xff000000,
36800x0001700a,
36810xff000000,
36820x8cad0000,
36830xff098200,
36840x11a00000,
36850xff05080b,
36860x00000000,
36870x91ad0000,
36880xff098200,
36890x31ad0000,
36900xff090200,
36910x15a00000,
36920xff05080b,
36930x00000000,
36940x10000000,
36950xff05083a,
36960x24070000,
36970xff098200,
36980xff000000,
36990x0217b821,
37000x26520004,
37010x8eec0000,
37020xff098200,
37030x000a5042,
37040x8eef0000,
37050xff098200,
37060x022a5023,
37070x964e0000,
37080xff098200,
37090xff000000,
37100x24010000,
37110xff098200,
37120x11810000,
37130xff05083b,
37140xff000000,
37150x8d4dfffc,
37160x258c0000,
37170xff098200,
37180x000e7080,
37190x01af6826,
37200x018d6025,
37210x3c0f0000,
37220xff090200,
37230x01cf7021,
37240xff000000,
37250x000c700b,
37260xff000000,
37270x000c700a,
37280xff000000,
37290x024e9021,
37300x8e4b0000,
37310x26520004,
37320x316d00ff,
37330x000d6880,
37340x026d6021,
37350x000b5402,
37360x8d810000,
37370x000bb942,
37380x000a50c0,
37390x00200008,
37400x32f707f8,
37410xff000000,
37420x0217b821,
37430x26520004,
37440x8eec0000,
37450xff098200,
37460xd6e00000,
37470x022a5021,
37480x964e0000,
37490xff098200,
37500xd5420000,
37510x3c0f0000,
37520xff090200,
37530x2d810000,
37540xff098200,
37550x000e7080,
37560xff000000,
37570x10200000,
37580xff050805,
37590xff000000,
37600x10200000,
37610xff050801,
37620xff000000,
37630x01cf7021,
37640x46220032,
37650xff000000,
37660x00007001,
37670x024e9021,
37680xff06000b,
37690xff000000,
37700x00017001,
37710xff06000b,
37720x024e9021,
37730xff000000,
37740x8e4b0000,
37750x26520004,
37760x316d00ff,
37770x000d6880,
37780x026d6021,
37790x000b5402,
37800x8d810000,
37810x000bb942,
37820x000a50c0,
37830x00200008,
37840x32f707f8,
37850xff000000,
37860xff06000f,
37870x24010000,
37880xff098200,
37890x11810000,
37900xff05083b,
37910x00000000,
37920x10000000,
37930xff05080b,
37940x00000000,
37950xff000000,
37960x0217b821,
37970x000a68c2,
37980x8eec0000,
37990xff098200,
38000x964e0000,
38010xff098200,
38020x01a06827,
38030x26520004,
38040xff000000,
38050x24010000,
38060xff098200,
38070x11810000,
38080xff05083b,
38090xff000000,
38100x018d6026,
38110x000e7080,
38120x3c0f0000,
38130xff090200,
38140x01cf7021,
38150xff000000,
38160x000c700b,
38170xff000000,
38180x000c700a,
38190xff000000,
38200x024e9021,
38210x8e4b0000,
38220x26520004,
38230x316d00ff,
38240x000d6880,
38250x026d6021,
38260x000b5402,
38270x8d810000,
38280x000bb942,
38290x000a50c0,
38300x00200008,
38310x32f707f8,
38320xff000000,
38330x020a5021,
38340x964e0000,
38350xff098200,
38360x8d4c0000,
38370xff098200,
38380x26520004,
38390xff000000,
38400x2d8c0000,
38410xff098200,
38420x000e7080,
38430x3c0f0000,
38440xff090200,
38450x01cf7021,
38460xff000000,
38470x000c700a,
38480xff000000,
38490x000c700b,
38500xff000000,
38510x024e9021,
38520xff000000,
38530x2d8c0000,
38540xff098200,
38550xd5400000,
38560xff000000,
38570x11800000,
38580xff050801,
38590xff000000,
38600x15800000,
38610xff050801,
38620xff000000,
38630x0217b821,
38640x000e7080,
38650x3c0f0000,
38660xff090200,
38670x01cf7021,
38680xf6e00000,
38690x024e9021,
38700xff06000b,
38710xff000000,
38720x8e4b0000,
38730x26520004,
38740x316d00ff,
38750x000d6880,
38760x026d6021,
38770x000b5402,
38780x8d810000,
38790x000bb942,
38800x000a50c0,
38810x00200008,
38820x32f707f8,
38830xff000000,
38840x020a5021,
38850x0217b821,
38860xd5400000,
38870x8e4b0000,
38880x26520004,
38890xf6e00000,
38900x316d00ff,
38910x000d6880,
38920x026d6021,
38930x000b5402,
38940x8d810000,
38950x000bb942,
38960x000a50c0,
38970x00200008,
38980x32f707f8,
38990xff000000,
39000x020a5021,
39010x0217b821,
39020x8d4c0000,
39030xff098200,
39040x240d0000,
39050xff098200,
39060x2d8c0000,
39070xff098200,
39080x258d0000,
39090xff098200,
39100x8e4b0000,
39110x26520004,
39120xaeed0000,
39130xff098200,
39140x316d00ff,
39150x000d6880,
39160x026d6021,
39170x000b5402,
39180x8d810000,
39190x000bb942,
39200x000a50c0,
39210x00200008,
39220x32f707f8,
39230xff000000,
39240x020a3021,
39250x0217b821,
39260x8ccc0000,
39270xff098200,
39280xd4c00000,
39290x2d810000,
39300xff098200,
39310x10200000,
39320xff05083c,
39330x46200007,
39340x8e4b0000,
39350x26520004,
39360xf6e00000,
39370x316d00ff,
39380x000d6880,
39390x026d6021,
39400x000b5402,
39410x8d810000,
39420x000bb942,
39430x000a50c0,
39440x00200008,
39450x32f707f8,
39460xff000000,
39470x020a2821,
39480x0217b821,
39490x8cac0000,
39500xff098200,
39510x8ca40000,
39520xff098200,
39530x24010000,
39540xff098200,
39550x15810000,
39560xff050802,
39570x24010000,
39580xff098200,
39590x8c820000,
39600xff098200,
39610xff06000b,
39620x44820000,
39630x46800021,
39640x8e4b0000,
39650x26520004,
39660xf6e00000,
39670x316d00ff,
39680x000d6880,
39690x026d6021,
39700x000b5402,
39710x8d810000,
39720x000bb942,
39730x000a50c0,
39740x00200008,
39750x32f707f8,
39760xff06000c,
39770x15810000,
39780xff05083e,
39790x00000000,
39800xff000000,
39810x8c8e0000,
39820xff098200,
39830x15c00000,
39840xff050809,
39850x00000000,
39860xff06000d,
39870xff000000,
39880xff06003f,
39890x8e790000,
39900xff098200,
39910x0320f809,
39920x00000000,
39930x10000000,
39940xff05080b,
39950x00000000,
39960xff000000,
39970xff060013,
39980x91cc0000,
39990xff098200,
40000x318c0000,
40010xff090200,
40020x15800000,
40030xff05080d,
40040x00000000,
40050x10000000,
40060xff05083e,
40070x00000000,
40080xff000000,
40090x000b4542,
40100x310807f8,
40110x314907f8,
40120xff000000,
40130x02083021,
40140x02293821,
40150x8ccd0000,
40160xff098200,
40170xd4d40000,
40180xd4f60000,
40190x2da10000,
40200xff098200,
40210xff000000,
40220x02083821,
40230x02293021,
40240x8ced0000,
40250xff098200,
40260xd4f60000,
40270xd4d40000,
40280x2da10000,
40290xff098200,
40300xff000000,
40310x02083021,
40320x02093821,
40330x8ccd0000,
40340xff098200,
40350x8cee0000,
40360xff098200,
40370xd4d40000,
40380xd4f60000,
40390x2da10000,
40400xff098200,
40410x2dcc0000,
40420xff098200,
40430x002c0824,
40440xff000000,
40450x10200000,
40460xff05083d,
40470x0217b821,
40480x4636a000,
40490x8e4b0000,
40500x26520004,
40510xf6e00000,
40520x316d00ff,
40530x000d6880,
40540x026d6021,
40550x000b5402,
40560x8d810000,
40570x000bb942,
40580x000a50c0,
40590x00200008,
40600x32f707f8,
40610xff000000,
40620x000b4542,
40630x310807f8,
40640x314907f8,
40650xff000000,
40660x02083021,
40670x02293821,
40680x8ccd0000,
40690xff098200,
40700xd4d40000,
40710xd4f60000,
40720x2da10000,
40730xff098200,
40740xff000000,
40750x02083821,
40760x02293021,
40770x8ced0000,
40780xff098200,
40790xd4f60000,
40800xd4d40000,
40810x2da10000,
40820xff098200,
40830xff000000,
40840x02083021,
40850x02093821,
40860x8ccd0000,
40870xff098200,
40880x8cee0000,
40890xff098200,
40900xd4d40000,
40910xd4f60000,
40920x2da10000,
40930xff098200,
40940x2dcc0000,
40950xff098200,
40960x002c0824,
40970xff000000,
40980x10200000,
40990xff05083d,
41000x0217b821,
41010x4636a001,
41020x8e4b0000,
41030x26520004,
41040xf6e00000,
41050x316d00ff,
41060x000d6880,
41070x026d6021,
41080x000b5402,
41090x8d810000,
41100x000bb942,
41110x000a50c0,
41120x00200008,
41130x32f707f8,
41140xff000000,
41150x000b4542,
41160x310807f8,
41170x314907f8,
41180xff000000,
41190x02083021,
41200x02293821,
41210x8ccd0000,
41220xff098200,
41230xd4d40000,
41240xd4f60000,
41250x2da10000,
41260xff098200,
41270xff000000,
41280x02083821,
41290x02293021,
41300x8ced0000,
41310xff098200,
41320xd4f60000,
41330xd4d40000,
41340x2da10000,
41350xff098200,
41360xff000000,
41370x02083021,
41380x02093821,
41390x8ccd0000,
41400xff098200,
41410x8cee0000,
41420xff098200,
41430xd4d40000,
41440xd4f60000,
41450x2da10000,
41460xff098200,
41470x2dcc0000,
41480xff098200,
41490x002c0824,
41500xff000000,
41510x10200000,
41520xff05083d,
41530x0217b821,
41540x4636a002,
41550x8e4b0000,
41560x26520004,
41570xf6e00000,
41580x316d00ff,
41590x000d6880,
41600x026d6021,
41610x000b5402,
41620x8d810000,
41630x000bb942,
41640x000a50c0,
41650x00200008,
41660x32f707f8,
41670xff000000,
41680x000b4542,
41690x310807f8,
41700x314907f8,
41710xff000000,
41720x02083021,
41730x02293821,
41740x8ccd0000,
41750xff098200,
41760xd4d40000,
41770xd4f60000,
41780x2da10000,
41790xff098200,
41800xff000000,
41810x02083821,
41820x02293021,
41830x8ced0000,
41840xff098200,
41850xd4f60000,
41860xd4d40000,
41870x2da10000,
41880xff098200,
41890xff000000,
41900x02083021,
41910x02093821,
41920x8ccd0000,
41930xff098200,
41940x8cee0000,
41950xff098200,
41960xd4d40000,
41970xd4f60000,
41980x2da10000,
41990xff098200,
42000x2dcc0000,
42010xff098200,
42020x002c0824,
42030xff000000,
42040x10200000,
42050xff05083d,
42060x0217b821,
42070x4636a003,
42080x8e4b0000,
42090x26520004,
42100xf6e00000,
42110x316d00ff,
42120x000d6880,
42130x026d6021,
42140x000b5402,
42150x8d810000,
42160x000bb942,
42170x000a50c0,
42180x00200008,
42190x32f707f8,
42200xff000000,
42210x000b4542,
42220x310807f8,
42230x314907f8,
42240xff000000,
42250x02083021,
42260x02293821,
42270x8ccd0000,
42280xff098200,
42290xd4d40000,
42300xd4f60000,
42310x2da10000,
42320xff098200,
42330xff000000,
42340x02083821,
42350x02293021,
42360x8ced0000,
42370xff098200,
42380xd4f60000,
42390xd4d40000,
42400x2da10000,
42410xff098200,
42420xff000000,
42430x02083021,
42440x02093821,
42450x8ccd0000,
42460xff098200,
42470x8cee0000,
42480xff098200,
42490xd4d40000,
42500xd4f60000,
42510x2da10000,
42520xff098200,
42530x2dcc0000,
42540xff098200,
42550x002c0824,
42560xff000000,
42570x10200000,
42580xff05083d,
42590x0217b821,
42600xff060098,
42610x04110000,
42620xff05085b,
42630x4636a303,
42640x46360002,
42650x4620a001,
42660x8e4b0000,
42670x26520004,
42680xf6e00000,
42690x316d00ff,
42700x000d6880,
42710x026d6021,
42720x000b5402,
42730x8d810000,
42740x000bb942,
42750x000a50c0,
42760x00200008,
42770x32f707f8,
42780xff000000,
42790x000b4542,
42800x310807f8,
42810x314907f8,
42820xff000000,
42830x02083021,
42840x02293821,
42850x8ccd0000,
42860xff098200,
42870xd4d40000,
42880xd4f60000,
42890x2da10000,
42900xff098200,
42910xff000000,
42920x02083821,
42930x02293021,
42940x8ced0000,
42950xff098200,
42960xd4f60000,
42970xd4d40000,
42980x2da10000,
42990xff098200,
43000xff000000,
43010x02083021,
43020x02093821,
43030x8ccd0000,
43040xff098200,
43050x8cee0000,
43060xff098200,
43070xd4d40000,
43080xd4f60000,
43090x2da10000,
43100xff098200,
43110x2dcc0000,
43120xff098200,
43130x002c0824,
43140xff000000,
43150x10200000,
43160xff05083d,
43170x0217b821,
43180x10000000,
43190xff050898,
43200x00000000,
43210xff000000,
43220x000b4542,
43230x310807f8,
43240x314907f8,
43250x02083021,
43260x02093821,
43270x8ccd0000,
43280xff098200,
43290x8cee0000,
43300xff098200,
43310xd4cc0000,
43320xd4ee0000,
43330x2da10000,
43340xff098200,
43350x2dcc0000,
43360xff098200,
43370x002c0824,
43380x8e790000,
43390xff098200,
43400x10200000,
43410xff05083d,
43420x0217b821,
43430x0320f809,
43440x00000000,
43450x8e4b0000,
43460x26520004,
43470xf6e00000,
43480x316d00ff,
43490x000d6880,
43500x026d6021,
43510x000b5402,
43520x8d810000,
43530x000bb942,
43540x000a50c0,
43550x00200008,
43560x32f707f8,
43570xff000000,
43580x000b4542,
43590x310807f8,
43600x314907f8,
43610x01283023,
43620xae900000,
43630xff098200,
43640x02092821,
43650x0100a821,
43660xff06002b,
43670x8e790000,
43680xff098200,
43690x000630c2,
43700xafb20014,
43710x0320f809,
43720x02802021,
43730x14400000,
43740xff050836,
43750x8e900000,
43760xff098200,
43770x02154021,
43780xd5000000,
43790x0217b821,
43800x8e4b0000,
43810x26520004,
43820xf6e00000,
43830x316d00ff,
43840x000d6880,
43850x026d6021,
43860x000b5402,
43870x8d810000,
43880x000bb942,
43890x000a50c0,
43900x00200008,
43910x32f707f8,
43920xff000000,
43930x000a6842,
43940x022d6823,
43950x8e4b0000,
43960x26520004,
43970x8dacfffc,
43980x0217b821,
43990x240e0000,
44000xff098200,
44010xaeec0000,
44020xff098200,
44030xaeee0000,
44040xff098200,
44050x316d00ff,
44060x000d6880,
44070x026d6021,
44080x000b5402,
44090x8d810000,
44100x000bb942,
44110x000a50c0,
44120x00200008,
44130x32f707f8,
44140xff000000,
44150x000a6842,
44160x022d6823,
44170x8e4b0000,
44180x26520004,
44190x8dacfffc,
44200x0217b821,
44210x240e0000,
44220xff098200,
44230xaeec0000,
44240xff098200,
44250xaeee0000,
44260xff098200,
44270x316d00ff,
44280x000d6880,
44290x026d6021,
44300x000b5402,
44310x8d810000,
44320x000bb942,
44330x000a50c0,
44340x00200008,
44350x32f707f8,
44360xff000000,
44370x000b5403,
44380x448a0000,
44390x0217b821,
44400x46800021,
44410x8e4b0000,
44420x26520004,
44430xf6e00000,
44440x316d00ff,
44450x000d6880,
44460x026d6021,
44470x000b5402,
44480x8d810000,
44490x000bb942,
44500x000a50c0,
44510x00200008,
44520x32f707f8,
44530xff000000,
44540x022a5021,
44550x0217b821,
44560xd5400000,
44570x8e4b0000,
44580x26520004,
44590xf6e00000,
44600x316d00ff,
44610x000d6880,
44620x026d6021,
44630x000b5402,
44640x8d810000,
44650x000bb942,
44660x000a50c0,
44670x00200008,
44680x32f707f8,
44690xff000000,
44700x000a68c2,
44710x0217b821,
44720x01a06027,
44730x8e4b0000,
44740x26520004,
44750xaeec0000,
44760xff098200,
44770x316d00ff,
44780x000d6880,
44790x026d6021,
44800x000b5402,
44810x8d810000,
44820x000bb942,
44830x000a50c0,
44840x00200008,
44850x32f707f8,
44860xff000000,
44870x0217b821,
44880xaefe0000,
44890xff098200,
44900x26f70008,
44910x020a5021,
44920xff06000b,
44930xaefe0000,
44940xff098200,
44950x02ea082a,
44960x14200000,
44970xff05080b,
44980x26f70008,
44990x8e4b0000,
45000x26520004,
45010x316d00ff,
45020x000d6880,
45030x026d6021,
45040x000b5402,
45050x8d810000,
45060x000bb942,
45070x000a50c0,
45080x00200008,
45090x32f707f8,
45100xff000000,
45110x8e080000,
45120xff098200,
45130x000a5042,
45140x01485021,
45150x8d480000,
45160xff098200,
45170x8e4b0000,
45180x26520004,
45190x8d0d0000,
45200xff098200,
45210xd5a00000,
45220x0217b821,
45230xf6e00000,
45240x316d00ff,
45250x000d6880,
45260x026d6021,
45270x000b5402,
45280x8d810000,
45290x000bb942,
45300x000a50c0,
45310x00200008,
45320x32f707f8,
45330xff000000,
45340x8e080000,
45350xff098200,
45360x0017b842,
45370x020a5021,
45380x02e8b821,
45390xd5400000,
45400x8ee80000,
45410xff098200,
45420x910f0000,
45430xff098200,
45440x8d050000,
45450xff098200,
45460x31ef0000,
45470xff090200,
45480x910c0000,
45490xff098200,
45500x8d4e0000,
45510xff098200,
45520xf4a00000,
45530x24010000,
45540xff098200,
45550x01ec7825,
45560x11e10000,
45570xff050802,
45580x25ce0000,
45590xff098200,
45600xff06000b,
45610x8e4b0000,
45620x26520004,
45630x316d00ff,
45640x000d6880,
45650x026d6021,
45660x000b5402,
45670x8d810000,
45680x000bb942,
45690x000a50c0,
45700x00200008,
45710x32f707f8,
45720xff06000c,
45730x2dc10000,
45740xff098200,
45750x10200000,
45760xff05080b,
45770x8d4d0000,
45780xff098200,
45790x91af0000,
45800xff098200,
45810x31ef0000,
45820xff090200,
45830x11e00000,
45840xff05080b,
45850x8e790000,
45860xff098200,
45870x0320f809,
45880x26640000,
45890xff098200,
45900x10000000,
45910xff05080b,
45920x00000000,
45930xff000000,
45940x8e080000,
45950xff098200,
45960x0017b842,
45970x000a6842,
45980x02e8b821,
45990x022d6823,
46000x8ee80000,
46010xff098200,
46020x8dadfffc,
46030x910e0000,
46040xff098200,
46050x8d050000,
46060xff098200,
46070x91af0000,
46080xff098200,
46090x31c10000,
46100xff090200,
46110x910e0000,
46120xff098200,
46130x240c0000,
46140xff098200,
46150xacad0000,
46160xff098200,
46170x14200000,
46180xff050802,
46190xacac0000,
46200xff098200,
46210xff06000b,
46220x8e4b0000,
46230x26520004,
46240x316d00ff,
46250x000d6880,
46260x026d6021,
46270x000b5402,
46280x8d810000,
46290x000bb942,
46300x000a50c0,
46310x00200008,
46320x32f707f8,
46330xff06000c,
46340x11c00000,
46350xff05080b,
46360x31e10000,
46370xff090200,
46380x10200000,
46390xff05080b,
46400x8e790000,
46410xff098200,
46420x0320f809,
46430x26640000,
46440xff098200,
46450x10000000,
46460xff05080b,
46470x00000000,
46480xff000000,
46490x8e080000,
46500xff098200,
46510x0017b842,
46520x022a5021,
46530x02e8b821,
46540xd5400000,
46550x8ee80000,
46560xff098200,
46570x8e4b0000,
46580x26520004,
46590x8d0d0000,
46600xff098200,
46610xf5a00000,
46620x316d00ff,
46630x000d6880,
46640x026d6021,
46650x000b5402,
46660x8d810000,
46670x000bb942,
46680x000a50c0,
46690x00200008,
46700x32f707f8,
46710xff000000,
46720x8e080000,
46730xff098200,
46740x0017b842,
46750x000a60c2,
46760x02e8b821,
46770x01806027,
46780x8ee80000,
46790xff098200,
46800x8e4b0000,
46810x26520004,
46820x8d0d0000,
46830xff098200,
46840xadac0000,
46850xff098200,
46860x316d00ff,
46870x000d6880,
46880x026d6021,
46890x000b5402,
46900x8d810000,
46910x000bb942,
46920x000a50c0,
46930x00200008,
46940x32f707f8,
46950xff000000,
46960x8e8e0000,
46970xff098200,
46980x000a6042,
46990x3c010000,
47000xff090200,
47010x01816021,
47020x024c9021,
47030x8e790000,
47040xff098200,
47050xae900000,
47060xff098200,
47070x11c00000,
47080xff050801,
47090x02802021,
47100x0320f809,
47110x02172821,
47120x8e900000,
47130xff098200,
47140xff06000b,
47150x8e4b0000,
47160x26520004,
47170x316d00ff,
47180x000d6880,
47190x026d6021,
47200x000b5402,
47210x8d810000,
47220x000bb942,
47230x000a50c0,
47240x00200008,
47250x32f707f8,
47260xff000000,
47270x000a6842,
47280x8e790000,
47290xff098200,
47300x022d6823,
47310x8e060000,
47320xff098200,
47330x8da5fffc,
47340xae900000,
47350xff098200,
47360xafb20014,
47370x0320f809,
47380x02802021,
47390x8e900000,
47400xff098200,
47410x240c0000,
47420xff098200,
47430x8e4b0000,
47440x26520004,
47450x0217b821,
47460xaeec0000,
47470xff098200,
47480xaee20000,
47490xff098200,
47500x316d00ff,
47510x000d6880,
47520x026d6021,
47530x000b5402,
47540x8d810000,
47550x000bb942,
47560x000a50c0,
47570x00200008,
47580x32f707f8,
47590xff000000,
47600x8e6c0000,
47610xff098200,
47620x8e6d0000,
47630xff098200,
47640xae900000,
47650xff098200,
47660xafb20014,
47670x018d082b,
47680x10200000,
47690xff050805,
47700xff06000b,
47710xff000000,
47720x8e790000,
47730xff098200,
47740x000a28c2,
47750x30a507ff,
47760x240c0801,
47770x24a1f801,
47780x000a3382,
47790x0181280a,
47800x0320f809,
47810x02802021,
47820xff000000,
47830x8e790000,
47840xff098200,
47850x000a6842,
47860x022d6823,
47870x02802021,
47880x0320f809,
47890x8da5fffc,
47900xff000000,
47910x8e900000,
47920xff098200,
47930x8e4b0000,
47940x26520004,
47950x0217b821,
47960x240c0000,
47970xff098200,
47980xaee20000,
47990xff098200,
48000xaeec0000,
48010xff098200,
48020x316d00ff,
48030x000d6880,
48040x026d6021,
48050x000b5402,
48060x8d810000,
48070x000bb942,
48080x000a50c0,
48090x00200008,
48100x32f707f8,
48110xff06000f,
48120x8e790000,
48130xff098200,
48140x0140a821,
48150x0320f809,
48160x02802021,
48170x10000000,
48180xff05080b,
48190x02a05021,
48200xff000000,
48210x8e0e0000,
48220xff098200,
48230x000a6842,
48240x022d6823,
48250x8dc80000,
48260xff098200,
48270x8da9fffc,
48280xff000000,
48290x10000000,
48300xff050899,
48310xff000000,
48320x10000000,
48330xff05089a,
48340xff000000,
48350x0217b821,
48360xff000000,
48370x000b4542,
48380x310807f8,
48390x314907f8,
48400x02082821,
48410x02093021,
48420x8cad0000,
48430xff098200,
48440x8cce0000,
48450xff098200,
48460x8ca80000,
48470xff098200,
48480x24010000,
48490xff098200,
48500xd4c00000,
48510x15a10000,
48520xff050830,
48530x0217b821,
48540x2dc10000,
48550xff098200,
48560x10200000,
48570xff050805,
48580x24010000,
48590xff098200,
48600x462000a4,
48610x8d0c0000,
48620xff098200,
48630x440e1000,
48640x46801121,
48650x8d0d0000,
48660xff098200,
48670x46240032,
48680x01cc082b,
48690x00000801,
48700x000e70c0,
48710x10200000,
48720xff050830,
48730x01ae7021,
48740x8dcc0000,
48750xff098200,
48760x119e0000,
48770xff050802,
48780xd5c00000,
48790xff06000b,
48800x8e4b0000,
48810x26520004,
48820xf6e00000,
48830x316d00ff,
48840x000d6880,
48850x026d6021,
48860x000b5402,
48870x8d810000,
48880x000bb942,
48890x000a50c0,
48900x00200008,
48910x32f707f8,
48920xff06000c,
48930x8d0e0000,
48940xff098200,
48950x11c00000,
48960xff05080b,
48970x00000000,
48980x91cc0000,
48990xff098200,
49000x318c0000,
49010xff090200,
49020x15800000,
49030xff05080b,
49040x00000000,
49050x10000000,
49060xff050830,
49070x00000000,
49080xff06000f,
49090x15c10000,
49100xff050830,
49110xff000000,
49120x8cc90000,
49130xff098200,
49140x10000000,
49150xff050899,
49160x00000000,
49170xff000000,
49180x000b4542,
49190x310807f8,
49200x02082821,
49210x000b4b82,
49220x8cac0000,
49230xff098200,
49240x312903fc,
49250x24010000,
49260xff098200,
49270x8ca80000,
49280xff098200,
49290x02293023,
49300x8cc9fffc,
49310x15810000,
49320xff05082d,
49330x0217b821,
49340xff060099,
49350x8d0c0000,
49360xff098200,
49370x8d2d0000,
49380xff098200,
49390x8d0e0000,
49400xff098200,
49410x01ac6824,
49420x000d6140,
49430x000d68c0,
49440x018d6823,
49450x01cd7021,
49460xff06000b,
49470x8dc40000,
49480xff098200,
49490x8dcc0000,
49500xff098200,
49510x8dcd0000,
49520xff098200,
49530x8dc50000,
49540xff098200,
49550x24840000,
49560xff098200,
49570x01896026,
49580x008c0825,
49590x14200000,
49600xff050804,
49610x8d0f0000,
49620xff098200,
49630x10be0000,
49640xff050805,
49650x8dc40000,
49660xff098200,
49670xff06000d,
49680x8e4b0000,
49690x26520004,
49700xaee50000,
49710xff098200,
49720xaee40000,
49730xff098200,
49740x316d00ff,
49750x000d6880,
49760x026d6021,
49770x000b5402,
49780x8d810000,
49790x000bb942,
49800x000a50c0,
49810x00200008,
49820x32f707f8,
49830xff06000e,
49840x15a00000,
49850xff05080b,
49860xff000000,
49870x01a07021,
49880xff06000f,
49890x11e00000,
49900xff05080d,
49910x24050000,
49920xff098200,
49930x91ec0000,
49940xff098200,
49950x318c0000,
49960xff090200,
49970x15800000,
49980xff05080d,
49990x00000000,
50000x10000000,
50010xff05082e,
50020x00000000,
50030xff000000,
50040x000b4542,
50050x310807f8,
50060x02082821,
50070x314907f8,
50080x8ca40000,
50090xff098200,
50100x24010000,
50110xff098200,
50120x8ca80000,
50130xff098200,
50140x0217b821,
50150x14810000,
50160xff05082f,
50170x000960c2,
50180x8d0d0000,
50190xff098200,
50200x8d0e0000,
50210xff098200,
50220x018d082b,
50230x10200000,
50240xff05082f,
50250x01c94821,
50260x8d2d0000,
50270xff098200,
50280x11be0000,
50290xff050805,
50300xd5200000,
50310xff06000b,
50320x8e4b0000,
50330x26520004,
50340xf6e00000,
50350x316d00ff,
50360x000d6880,
50370x026d6021,
50380x000b5402,
50390x8d810000,
50400x000bb942,
50410x000a50c0,
50420x00200008,
50430x32f707f8,
50440xff06000f,
50450x8d0e0000,
50460xff098200,
50470x11c00000,
50480xff05080b,
50490x00000000,
50500x91cd0000,
50510xff098200,
50520x31ad0000,
50530xff090200,
50540x15a00000,
50550xff05080b,
50560x00000000,
50570x10000000,
50580xff05082f,
50590x00000000,
50600xff000000,
50610x000b4542,
50620x310807f8,
50630x314907f8,
50640x02082821,
50650x02093021,
50660x8cad0000,
50670xff098200,
50680x8cce0000,
50690xff098200,
50700x8ca80000,
50710xff098200,
50720x24010000,
50730xff098200,
50740xd4c00000,
50750x15a10000,
50760xff050834,
50770x0217b821,
50780x2dc10000,
50790xff098200,
50800x10200000,
50810xff050805,
50820x24010000,
50830xff098200,
50840x462000a4,
50850x8d0c0000,
50860xff098200,
50870x440e1000,
50880x46801121,
50890x8d0d0000,
50900xff098200,
50910x46240032,
50920x01cc082b,
50930x00000801,
50940x000e70c0,
50950x10200000,
50960xff050834,
50970x01ae6821,
50980x910f0000,
50990xff098200,
51000x8dac0000,
51010xff098200,
51020x119e0000,
51030xff050803,
51040xd6e00000,
51050xff06000b,
51060x31e10000,
51070xff090200,
51080x14200000,
51090xff050807,
51100xf5a00000,
51110xff06000c,
51120x8e4b0000,
51130x26520004,
51140x316d00ff,
51150x000d6880,
51160x026d6021,
51170x000b5402,
51180x8d810000,
51190x000bb942,
51200x000a50c0,
51210x00200008,
51220x32f707f8,
51230xff06000d,
51240x8d0e0000,
51250xff098200,
51260x11c00000,
51270xff05080b,
51280x00000000,
51290x91ce0000,
51300xff098200,
51310x31ce0000,
51320xff090200,
51330xff000000,
51340x15c00000,
51350xff05080b,
51360x00000000,
51370x10000000,
51380xff050834,
51390x00000000,
51400xff06000f,
51410x15c10000,
51420xff050834,
51430x8cc90000,
51440xff098200,
51450x10000000,
51460xff05089a,
51470x00000000,
51480xff060011,
51490x8e6c0000,
51500xff098200,
51510x31ef0000,
51520xff090200,
51530xae680000,
51540xff098200,
51550xa10f0000,
51560xff098200,
51570x10000000,
51580xff05080c,
51590xad0c0000,
51600xff098200,
51610xff000000,
51620x000b4542,
51630x310807f8,
51640x02082821,
51650x000b4b82,
51660x8cac0000,
51670xff098200,
51680x312903fc,
51690x24010000,
51700xff098200,
51710x02293023,
51720x8ca80000,
51730xff098200,
51740x8cc9fffc,
51750x15810000,
51760xff050831,
51770x0217b821,
51780xff06009a,
51790x8d0c0000,
51800xff098200,
51810x8d2d0000,
51820xff098200,
51830x8d0e0000,
51840xff098200,
51850xa1000000,
51860xff098200,
51870x01ac6824,
51880x000d6140,
51890x000d68c0,
51900x018d6823,
51910x01cd7021,
51920xd6f40000,
51930xff06000b,
51940x8dc40000,
51950xff098200,
51960x8dcc0000,
51970xff098200,
51980x24010000,
51990xff098200,
52000x8dcd0000,
52010xff098200,
52020x14810000,
52030xff050805,
52040x8dc50000,
52050xff098200,
52060x15890000,
52070xff050805,
52080x910f0000,
52090xff098200,
52100x10be0000,
52110xff050804,
52120x8d0c0000,
52130xff098200,
52140xff06000c,
52150x31e10000,
52160xff090200,
52170x14200000,
52180xff050807,
52190xff000000,
52200xf5d40000,
52210xff098200,
52220xff06000d,
52230x8e4b0000,
52240x26520004,
52250x316d00ff,
52260x000d6880,
52270x026d6021,
52280x000b5402,
52290x8d810000,
52300x000bb942,
52310x000a50c0,
52320x00200008,
52330x32f707f8,
52340xff06000e,
52350x11800000,
52360xff05080c,
52370x00000000,
52380x918c0000,
52390xff098200,
52400x318c0000,
52410xff090200,
52420x15800000,
52430xff05080c,
52440x00000000,
52450x10000000,
52460xff050832,
52470x00000000,
52480xff06000f,
52490x15a00000,
52500xff05080b,
52510x01a07021,
52520x8d0e0000,
52530xff098200,
52540x11c00000,
52550xff050806,
52560x26660000,
52570xff098200,
52580x91cc0000,
52590xff098200,
52600x318c0000,
52610xff090200,
52620x11800000,
52630xff050832,
52640x24010000,
52650xff098200,
52660xff060010,
52670x8e790000,
52680xff098200,
52690xacc90000,
52700xff098200,
52710xacc10000,
52720xff098200,
52730xae900000,
52740xff098200,
52750x01002821,
52760xafb20014,
52770x0320f809,
52780x02802021,
52790x8e900000,
52800xff098200,
52810xff000000,
52820x10000000,
52830xff05080d,
52840xf4540000,
52850xff060011,
52860x8e6c0000,
52870xff098200,
52880x31ef0000,
52890xff090200,
52900xae680000,
52910xff098200,
52920xa10f0000,
52930xff098200,
52940x10000000,
52950xff05080d,
52960xad0c0000,
52970xff098200,
52980xff000000,
52990x000b4542,
53000x310807f8,
53010x02082821,
53020x314907f8,
53030x8ca40000,
53040xff098200,
53050x24010000,
53060xff098200,
53070x8ca80000,
53080xff098200,
53090x0217b821,
53100x14810000,
53110xff050833,
53120x000960c2,
53130x8d0d0000,
53140xff098200,
53150x8d0e0000,
53160xff098200,
53170x018d082b,
53180x10200000,
53190xff050833,
53200x01c94821,
53210x8d2d0000,
53220xff098200,
53230x910f0000,
53240xff098200,
53250x11be0000,
53260xff050805,
53270xd6e00000,
53280xff06000b,
53290x31e10000,
53300xff090200,
53310x14200000,
53320xff050807,
53330xf5200000,
53340xff06000c,
53350x8e4b0000,
53360x26520004,
53370x316d00ff,
53380x000d6880,
53390x026d6021,
53400x000b5402,
53410x8d810000,
53420x000bb942,
53430x000a50c0,
53440x00200008,
53450x32f707f8,
53460xff06000f,
53470x8d0e0000,
53480xff098200,
53490x11c00000,
53500xff05080b,
53510x00000000,
53520x91cd0000,
53530xff098200,
53540x31ad0000,
53550xff090200,
53560x15a00000,
53570xff05080b,
53580x00000000,
53590x10000000,
53600xff050833,
53610x00000000,
53620xff060011,
53630x8e6c0000,
53640xff098200,
53650xff000000,
53660x31ef0000,
53670xff090200,
53680xae680000,
53690xff098200,
53700xa10f0000,
53710xff098200,
53720x10000000,
53730xff05080c,
53740xad0c0000,
53750xff098200,
53760xff000000,
53770x0217b821,
53780xff06000b,
53790x022a7821,
53800x8ee50000,
53810xff098200,
53820x26acfff8,
53830x8def0000,
53840xff098200,
53850x11800000,
53860xff050804,
53870x000c30c2,
53880x00cf3021,
53890x8cae0000,
53900xff098200,
53910x000f68c0,
53920x90af0000,
53930xff098200,
53940x8ca40000,
53950xff098200,
53960x01c6082b,
53970x14200000,
53980xff050805,
53990x02ec7021,
54000x01a46821,
54010x31ec0000,
54020xff090200,
54030xff06000d,
54040xd6e00000,
54050x26f70008,
54060x02ee082b,
54070xf5a00000,
54080x14200000,
54090xff05080d,
54100x25ad0008,
54110x15800000,
54120xff050807,
54130x00000000,
54140xff06000e,
54150x8e4b0000,
54160x26520004,
54170x316d00ff,
54180x000d6880,
54190x026d6021,
54200x000b5402,
54210x8d810000,
54220x000bb942,
54230x000a50c0,
54240x00200008,
54250x32f707f8,
54260xff06000f,
54270x8e790000,
54280xff098200,
54290xae900000,
54300xff098200,
54310xafb20014,
54320x01408021,
54330x0320f809,
54340x02802021,
54350x02005021,
54360x10000000,
54370xff05080b,
54380x8e900000,
54390xff098200,
54400xff060011,
54410x8e6c0000,
54420xff098200,
54430x31ef0000,
54440xff090200,
54450xae650000,
54460xff098200,
54470xa0af0000,
54480xff098200,
54490xff000000,
54500x10000000,
54510xff05080e,
54520xacac0000,
54530xff098200,
54540xff000000,
54550x314907f8,
54560x10000000,
54570xff05089b,
54580x01354821,
54590xff000000,
54600x314907f8,
54610xff06009b,
54620x02007021,
54630x02178021,
54640x24010000,
54650xff098200,
54660x8e0c0000,
54670xff098200,
54680x8e080000,
54690xff098200,
54700x26100008,
54710x15810000,
54720xff050825,
54730x2529fff8,
54740xae120000,
54750xff098200,
54760x8d120000,
54770xff098200,
54780x8e4b0000,
54790x26520004,
54800x316d00ff,
54810x000bb942,
54820x000d6880,
54830x32f707f8,
54840x026d6021,
54850x8d8c0000,
54860x01800008,
54870x02f0b821,
54880xff000000,
54890x01555021,
54900xff000000,
54910x0217b821,
54920x24010000,
54930xff098200,
54940x8eec0000,
54950xff098200,
54960x8ee80000,
54970xff098200,
54980x01404821,
54990x8e0d0000,
55000xff098200,
55010x26f70008,
55020x15810000,
55030xff050840,
55040x2529fff8,
55050xff060041,
55060x31ac0000,
55070xff090200,
55080x910f0000,
55090xff098200,
55100x15800000,
55110xff050807,
55120x39ae0000,
55130xff090200,
55140xff06000b,
55150xae080000,
55160xff098200,
55170x2de10002,
55180x02007021,
55190x11200000,
55200xff050803,
55210x01207821,
55220xff06000c,
55230xd6e00000,
55240x26f70008,
55250x25effff8,
55260xf5c00000,
55270x15e00000,
55280xff05080c,
55290x25ce0008,
55300xff06000d,
55310x01816025,
55320x11800000,
55330xff050805,
55340x00000000,
55350xff06000e,
55360x8d120000,
55370xff098200,
55380x8e4b0000,
55390x26520004,
55400x316d00ff,
55410x000bb942,
55420x000d6880,
55430x32f707f8,
55440x026d6021,
55450x8d8c0000,
55460x01800008,
55470x02f0b821,
55480xff06000f,
55490x8dabfffc,
55500x000bb942,
55510x32f707f8,
55520x02176823,
55530x8dad0000,
55540xff098200,
55550x8dad0000,
55560xff098200,
55570x10000000,
55580xff05080e,
55590xff000000,
55600x8db10000,
55610xff098200,
55620xff060011,
55630x31c10000,
55640xff090200,
55650x14200000,
55660xff05080b,
55670x020e7023,
55680x01c08021,
55690x8dcd0000,
55700xff098200,
55710x10000000,
55720xff05080b,
55730x31ac0000,
55740xff090200,
55750xff000000,
55760x02007021,
55770x02178021,
55780x24010000,
55790xff098200,
55800x8e0d0000,
55810xff098200,
55820x8e080000,
55830xff098200,
55840xd602fff8,
55850xd600fff0,
55860xae0d0000,
55870xff098200,
55880xae080000,
55890xff098200,
55900xf6020010,
55910xf6000008,
55920x26100008,
55930x15a10000,
55940xff050825,
55950x24090010,
55960xae120000,
55970xff098200,
55980x8d120000,
55990xff098200,
56000x8e4b0000,
56010x26520004,
56020x316d00ff,
56030x000bb942,
56040x000d6880,
56050x32f707f8,
56060x026d6021,
56070x8d8c0000,
56080x01800008,
56090x02f0b821,
56100xff000000,
56110x0217b821,
56120x8ee80000,
56130xff098200,
56140x8ee90000,
56150xff098200,
56160x8d0c0000,
56170xff098200,
56180x8d0d0000,
56190xff098200,
56200x26520004,
56210xff06000b,
56220x012c082b,
56230x10200000,
56240xff050805,
56250x000978c0,
56260x01af7821,
56270x8dee0000,
56280xff098200,
56290xd5e00000,
56300x44891000,
56310x964a0000,
56320xff098200,
56330x11de0000,
56340xff05080b,
56350x25290001,
56360x468010a1,
56370x3c0f0000,
56380xff090200,
56390xf6e00008,
56400x000a5080,
56410x014f5021,
56420xaee90000,
56430xff098200,
56440x024a9021,
56450xf6e20000,
56460xff06000d,
56470x8e4b0000,
56480x26520004,
56490x316d00ff,
56500x000d6880,
56510x026d6021,
56520x000b5402,
56530x8d810000,
56540x000bb942,
56550x000a50c0,
56560x00200008,
56570x32f707f8,
56580xff06000f,
56590x8d0d0000,
56600xff098200,
56610x012c4823,
56620x8d0e0000,
56630xff098200,
56640xff060010,
56650x01a9082b,
56660x14200000,
56670xff05080d,
56680x00097940,
56690x000940c0,
56700x01e87823,
56710x01ee7821,
56720x8de80000,
56730xff098200,
56740xd5e00000,
56750x964a0000,
56760xff098200,
56770x111e0000,
56780xff050810,
56790x25290001,
56800xd5e20000,
56810xff098200,
56820x3c0f0000,
56830xff090200,
56840xf6e00008,
56850x012c4821,
56860x000a5080,
56870x014f5021,
56880xf6e20000,
56890x024a9021,
56900x10000000,
56910xff05080d,
56920xff000000,
56930xaee90000,
56940xff098200,
56950xff000000,
56960x0217b821,
56970x8eec0000,
56980xff098200,
56990x8eed0000,
57000xff098200,
57010x8eee0000,
57020xff098200,
57030x8eef0000,
57040xff098200,
57050x24010000,
57060xff098200,
57070x15810000,
57080xff050805,
57090x25ce0000,
57100xff098200,
57110x91ad0000,
57120xff098200,
57130x25ef0000,
57140xff098200,
57150x000a6042,
57160x01cf7025,
57170x25ad0000,
57180xff098200,
57190x024c6021,
57200x01ae6825,
57210x15a00000,
57220xff050805,
57230x3c0e0000,
57240xff090200,
57250x018e9021,
57260xaee00000,
57270xff098200,
57280xff06000b,
57290x8e4b0000,
57300x26520004,
57310x316d00ff,
57320x000d6880,
57330x026d6021,
57340x000b5402,
57350x8d810000,
57360x000bb942,
57370x000a50c0,
57380x00200008,
57390x32f707f8,
57400xff06000f,
57410x240f0000,
57420xff098200,
57430x240d0000,
57440xff098200,
57450xa24f0000,
57460xff098200,
57470x018e9021,
57480x10000000,
57490xff05080b,
57500xa24d0000,
57510xff098200,
57520xff000000,
57530x8e0c0000,
57540xff098200,
57550x314907f8,
57560x000b4542,
57570x02094821,
57580x310807f8,
57590x0217b821,
57600x25290000,
57610xff098200,
57620x02e87021,
57630x260ffff8,
57640x012c4823,
57650x11000000,
57660xff050805,
57670x01e96823,
57680x25cefff0,
57690xff06000b,
57700x8d240000,
57710xff098200,
57720x012f082b,
57730x8d250000,
57740xff098200,
57750x25290008,
57760x03c1200a,
57770xaee40000,
57780xff098200,
57790xaee50000,
57800xff098200,
57810x02ee082b,
57820x14200000,
57830xff05080b,
57840x26f70008,
57850xff06000d,
57860x8e4b0000,
57870x26520004,
57880x316d00ff,
57890x000d6880,
57900x026d6021,
57910x000b5402,
57920x8d810000,
57930x000bb942,
57940x000a50c0,
57950x00200008,
57960x32f707f8,
57970xff06000f,
57980x8e8c0000,
57990xff098200,
58000x19a00000,
58010xff05080d,
58020x24150008,
58030x02ed7021,
58040x018e082b,
58050x14200000,
58060xff050807,
58070x25b50008,
58080xff060010,
58090xd5200000,
58100x25290008,
58110xf6e00000,
58120x012f082b,
58130x14200000,
58140xff050810,
58150x26f70008,
58160x10000000,
58170xff05080d,
58180x00000000,
58190xff060011,
58200x8e790000,
58210xff098200,
58220xae970000,
58230xff098200,
58240x02f0b823,
58250xae900000,
58260xff098200,
58270x01308023,
58280xafb20014,
58290x000d28c2,
58300x0320f809,
58310x02802021,
58320x02004821,
58330x8e900000,
58340xff098200,
58350x0217b821,
58360x02094821,
58370x10000000,
58380xff050810,
58390xff000000,
58400x260ffff8,
58410xff000000,
58420x01555021,
58430xff000000,
58440x8e120000,
58450xff098200,
58460x0217b821,
58470x0140a821,
58480xff06000b,
58490x324c0000,
58500xff090200,
58510x15800000,
58520xff05089c,
58530x3a4d0000,
58540xff090200,
58550xff060017,
58560x8e4bfffc,
58570x260efff8,
58580x2549fff8,
58590x000b6142,
58600x000b4542,
58610x318c07f8,
58620x310807f8,
58630x01c87821,
58640x11200000,
58650xff050803,
58660x01cc8023,
58670xff06000c,
58680xd6e00000,
58690x26f70008,
58700x2529fff8,
58710xf5c00000,
58720x15200000,
58730xff05080c,
58740x25ce0008,
58750xff06000d,
58760x25effff8,
58770xff06000f,
58780x01cf082b,
58790x14200000,
58800xff050806,
58810x8e0d0000,
58820xff098200,
58830x8e4b0000,
58840x26520004,
58850x8dad0000,
58860xff098200,
58870x8db10000,
58880xff098200,
58890x316d00ff,
58900x000d6880,
58910x026d6021,
58920x000b5402,
58930x8d810000,
58940x000bb942,
58950x000a50c0,
58960x00200008,
58970x32f707f8,
58980xff060010,
58990xadde0000,
59000xff098200,
59010x10000000,
59020xff05080f,
59030x25ce0008,
59040xff06009c,
59050x31ae0000,
59060xff090200,
59070x15c00000,
59080xff050818,
59090x00000000,
59100x020d8023,
59110x10000000,
59120xff05080b,
59130x8e120000,
59140xff098200,
59150xff000000,
59160x8e120000,
59170xff098200,
59180x0217b821,
59190x0140a821,
59200x324c0000,
59210xff090200,
59220x15800000,
59230xff05089c,
59240x3a4d0000,
59250xff090200,
59260x8e4bfffc,
59270x260efff8,
59280xff000000,
59290xd6e00000,
59300xff000000,
59310x000b4542,
59320x000bb942,
59330x310807f8,
59340x32f707f8,
59350xff000000,
59360xf5c00000,
59370xff000000,
59380x01d78023,
59390xff06000f,
59400x0148082b,
59410x14200000,
59420xff050806,
59430x8e0d0000,
59440xff098200,
59450x8e4b0000,
59460x26520004,
59470x8dad0000,
59480xff098200,
59490x8db10000,
59500xff098200,
59510x316d00ff,
59520x000d6880,
59530x026d6021,
59540x000b5402,
59550x8d810000,
59560x000bb942,
59570x000a50c0,
59580x00200008,
59590x32f707f8,
59600xff060010,
59610x25ce0008,
59620x254a0008,
59630x10000000,
59640xff05080f,
59650xff000000,
59660xadde0000,
59670xff098200,
59680xff000000,
59690xadde0000,
59700xff098200,
59710xff000000,
59720x00126842,
59730x31ad007e,
59740x01b36821,
59750x95ae0000,
59760xff098200,
59770x25ce0000,
59780xff098200,
59790x05c00000,
59800xff050890,
59810xa5ae0000,
59820xff098200,
59830xff000000,
59840x0217b821,
59850xff000000,
59860xd6e00000,
59870xff098200,
59880xd6e40000,
59890xff098200,
59900xd6e20000,
59910xff098200,
59920x8eef0000,
59930xff098200,
59940x46240000,
59950xf6e00000,
59960xff098200,
59970xff000000,
59980x8eed0000,
59990xff098200,
60000x8eef0000,
60010xff098200,
60020x8eee0000,
60030xff098200,
60040x2dad0000,
60050xff098200,
60060x2dec0000,
60070xff098200,
60080x2dce0000,
60090xff098200,
60100x01ac6824,
60110x01ae6824,
60120xd6e00000,
60130xff098200,
60140x11a00000,
60150xff050842,
60160xd6e20000,
60170xff098200,
60180xff000000,
60190x000a5042,
60200x3c0c0000,
60210xff090200,
60220xff000000,
60230x4622003e,
60240x4620113e,
60250xf6e00000,
60260xff098200,
60270xff000000,
60280x240d0001,
60290x240e0001,
60300x014c6021,
60310x01e0782a,
60320x00006801,
60330x024c9021,
60340x00047001,
60350x964a0000,
60360xff098200,
60370x01cf680b,
60380x15a00000,
60390xff070800,
60400x000a50c0,
60410xff000000,
60420x240d0001,
60430x240e0001,
60440x01e0782a,
60450x00006801,
60460x00047001,
60470x01cf680b,
60480x15a00000,
60490xff070800,
60500x00000000,
60510xff000000,
60520x014c6821,
60530x01e0782a,
60540x01a07021,
60550xff000000,
60560x00016801,
60570x00057001,
60580xff000000,
60590x00006801,
60600x00047001,
60610xff000000,
60620x01cf680b,
60630x024d9021,
60640xff000000,
60650x8e4b0000,
60660x26520004,
60670x316d00ff,
60680x000d6880,
60690x026d6021,
60700x000b5402,
60710x8d810000,
60720x000bb942,
60730x000a50c0,
60740x00200008,
60750x32f707f8,
60760xff000000,
60770x00126842,
60780x31ad007e,
60790x01b36821,
60800x95ae0000,
60810xff098200,
60820x25ce0000,
60830xff098200,
60840x05c00000,
60850xff050890,
60860xa5ae0000,
60870xff098200,
60880xff000000,
60890x0217b821,
60900x8eed0000,
60910xff098200,
60920x11be0000,
60930xff050801,
60940x8eee0000,
60950xff098200,
60960xff000000,
60970xaeed0000,
60980xff098200,
60990x10000000,
61000xff070800,
61010xaeee0000,
61020xff098200,
61030xff000000,
61040x000a6042,
61050x3c010000,
61060xff090200,
61070x01816021,
61080x024c9021,
61090xaeed0000,
61100xff098200,
61110xaeee0000,
61120xff098200,
61130xff000000,
61140xff06000b,
61150x8e4b0000,
61160x26520004,
61170x316d00ff,
61180x000d6880,
61190x026d6021,
61200x000b5402,
61210x8d810000,
61220x000bb942,
61230x000a50c0,
61240x00200008,
61250x32f707f8,
61260xff000000,
61270x00126842,
61280x31ad007e,
61290x01b36821,
61300x95ae0000,
61310xff098200,
61320x25ce0000,
61330xff098200,
61340x05c00000,
61350xff050890,
61360xa5ae0000,
61370xff098200,
61380xff000000,
61390x8e4b0000,
61400x26520004,
61410x316d00ff,
61420x000d6880,
61430x026d6021,
61440x000b5402,
61450x8d810000,
61460x000bb942,
61470x000a50c0,
61480x00200008,
61490x32f707f8,
61500xff000000,
61510x8e6d0000,
61520xff098200,
61530x000a5042,
61540x24010000,
61550x01aa6821,
61560xae610000,
61570xff098200,
61580x8dae0000,
61590xae700000,
61600xff098200,
61610xae740000,
61620xff098200,
61630x8dce0000,
61640xff098200,
61650x01c00008,
61660x267e0000,
61670xff098200,
61680xff000000,
61690x000a6042,
61700x3c010000,
61710xff090200,
61720x01816021,
61730x024c9021,
61740x8e4b0000,
61750x26520004,
61760x316d00ff,
61770x000d6880,
61780x026d6021,
61790x000b5402,
61800x8d810000,
61810x000bb942,
61820x000a50c0,
61830x00200008,
61840x32f707f8,
61850xff000000,
61860x00126842,
61870x31ad007e,
61880x01b36821,
61890x95ae0000,
61900xff098200,
61910x25ce0000,
61920xff098200,
61930x05c00000,
61940xff050892,
61950xa5ae0000,
61960xff098200,
61970xff000000,
61980x8e8e0000,
61990xff098200,
62000x924d0000,
62010xff098200,
62020x8e510000,
62030xff098200,
62040x01d7082b,
62050x14200000,
62060xff050820,
62070x000d68c0,
62080xff000000,
62090x8e4b0000,
62100x26520004,
62110xff000000,
62120xff06000c,
62130x012d082b,
62140x14200000,
62150xff050803,
62160x02090821,
62170xff000000,
62180x000b5402,
62190x10000000,
62200xff070800,
62210x000a50c0,
62220xff000000,
62230x316d00ff,
62240x000d6880,
62250x026d6021,
62260x000b5402,
62270x8d810000,
62280x000bb942,
62290x000a50c0,
62300x00200008,
62310x32f707f8,
62320xff000000,
62330xff06000d,
62340xac3e0000,
62350xff098200,
62360x10000000,
62370xff05080c,
62380x25290008,
62390xff000000,
62400xf0f0f0f0,
62410xff000000,
62420x02096821,
62430x8e8e0000,
62440xff098200,
62450x02e96021,
62460xada80000,
62470xff098200,
62480x252f0000,
62490xff098200,
62500x018e082b,
62510x8e510000,
62520xff098200,
62530x10200000,
62540xff050820,
62550xadaf0000,
62560xff098200,
62570x924e0000,
62580xff098200,
62590x0200b821,
62600x01a04821,
62610x8e4b0000,
62620x26520004,
62630x11c00000,
62640xff050803,
62650x25b00008,
62660xff06000b,
62670x8eec0000,
62680xff098200,
62690x8eef0000,
62700xff098200,
62710x02e9082b,
62720x01802021,
62730x03c1600a,
62740x03c1200b,
62750xadaf0000,
62760xff098200,
62770x25ceffff,
62780xadac0000,
62790xff098200,
62800x25ad0008,
62810xaee40000,
62820xff098200,
62830x15c00000,
62840xff05080b,
62850x26f70008,
62860xff06000d,
62870x316d00ff,
62880x000d6880,
62890x026d6021,
62900x000b5402,
62910x8d810000,
62920x000bb942,
62930x000a50c0,
62940x00200008,
62950x32f707f8,
62960xff000000,
62970x8d190000,
62980xff098200,
62990xff000000,
63000x8e790000,
63010xff098200,
63020xff000000,
63030x02e96821,
63040x8e8e0000,
63050xff098200,
63060x02094821,
63070xae900000,
63080xff098200,
63090x01cd082b,
63100xae890000,
63110xff098200,
63120x240c0000,
63130xff098200,
63140xff000000,
63150x8d050000,
63160xff098200,
63170xff000000,
63180x14200000,
63190xff05081f,
63200x02802021,
63210x0320f809,
63220xae6c0000,
63230xff098200,
63240x8e900000,
63250xff098200,
63260x000250c0,
63270x8e8d0000,
63280xff098200,
63290x240c0000,
63300xff098200,
63310x8e120000,
63320xff098200,
63330x01aab823,
63340x10000000,
63350xff050816,
63360xae6c0000,
63370xff098200,
63380xff000000,
63390xff010000
6340};
6341
6342enum {
6343 GLOB_vm_returnp,
6344 GLOB_cont_dispatch,
6345 GLOB_vm_returnc,
6346 GLOB_BC_RET_Z,
6347 GLOB_vm_return,
6348 GLOB_vm_leave_cp,
6349 GLOB_vm_leave_unw,
6350 GLOB_vm_unwind_c,
6351 GLOB_vm_unwind_c_eh,
6352 GLOB_vm_unwind_ff,
6353 GLOB_vm_unwind_ff_eh,
6354 GLOB_vm_growstack_c,
6355 GLOB_vm_growstack_l,
6356 GLOB_vm_resume,
6357 GLOB_vm_pcall,
6358 GLOB_vm_call,
6359 GLOB_vm_call_dispatch,
6360 GLOB_vmeta_call,
6361 GLOB_vm_call_dispatch_f,
6362 GLOB_vm_cpcall,
6363 GLOB_cont_ffi_callback,
6364 GLOB_vm_call_tail,
6365 GLOB_cont_cat,
6366 GLOB_BC_CAT_Z,
6367 GLOB_cont_nop,
6368 GLOB_vmeta_tgets1,
6369 GLOB_vmeta_tgets,
6370 GLOB_vmeta_tgetb,
6371 GLOB_vmeta_tgetv,
6372 GLOB_vmeta_tsets1,
6373 GLOB_vmeta_tsets,
6374 GLOB_vmeta_tsetb,
6375 GLOB_vmeta_tsetv,
6376 GLOB_vmeta_comp,
6377 GLOB_vmeta_binop,
6378 GLOB_cont_ra,
6379 GLOB_cont_condt,
6380 GLOB_cont_condf,
6381 GLOB_vmeta_equal,
6382 GLOB_vmeta_equal_cd,
6383 GLOB_vmeta_unm,
6384 GLOB_vmeta_arith,
6385 GLOB_vmeta_len,
6386 GLOB_BC_LEN_Z,
6387 GLOB_vmeta_callt,
6388 GLOB_BC_CALLT_Z,
6389 GLOB_vmeta_for,
6390 GLOB_ff_assert,
6391 GLOB_fff_fallback,
6392 GLOB_fff_res,
6393 GLOB_ff_type,
6394 GLOB_fff_resn,
6395 GLOB_ff_getmetatable,
6396 GLOB_fff_restv,
6397 GLOB_ff_setmetatable,
6398 GLOB_ff_rawget,
6399 GLOB_ff_tonumber,
6400 GLOB_ff_tostring,
6401 GLOB_fff_gcstep,
6402 GLOB_ff_next,
6403 GLOB_ff_pairs,
6404 GLOB_ff_ipairs_aux,
6405 GLOB_ff_ipairs,
6406 GLOB_ff_pcall,
6407 GLOB_ff_xpcall,
6408 GLOB_ff_coroutine_resume,
6409 GLOB_ff_coroutine_wrap_aux,
6410 GLOB_ff_coroutine_yield,
6411 GLOB_ff_math_abs,
6412 GLOB_fff_res1,
6413 GLOB_ff_math_floor,
6414 GLOB_vm_floor,
6415 GLOB_ff_math_ceil,
6416 GLOB_vm_ceil,
6417 GLOB_ff_math_log,
6418 GLOB_ff_math_log10,
6419 GLOB_ff_math_exp,
6420 GLOB_ff_math_sin,
6421 GLOB_ff_math_cos,
6422 GLOB_ff_math_tan,
6423 GLOB_ff_math_asin,
6424 GLOB_ff_math_acos,
6425 GLOB_ff_math_atan,
6426 GLOB_ff_math_sinh,
6427 GLOB_ff_math_cosh,
6428 GLOB_ff_math_tanh,
6429 GLOB_ff_math_pow,
6430 GLOB_ff_math_atan2,
6431 GLOB_ff_math_fmod,
6432 GLOB_ff_math_sqrt,
6433 GLOB_ff_math_deg,
6434 GLOB_ff_math_rad,
6435 GLOB_ff_math_ldexp,
6436 GLOB_ff_math_frexp,
6437 GLOB_ff_math_modf,
6438 GLOB_ff_math_min,
6439 GLOB_ff_math_max,
6440 GLOB_ff_string_len,
6441 GLOB_fff_resi,
6442 GLOB_ff_string_byte,
6443 GLOB_ff_string_char,
6444 GLOB_fff_newstr,
6445 GLOB_ff_string_sub,
6446 GLOB_fff_emptystr,
6447 GLOB_ff_string_rep,
6448 GLOB_ff_string_reverse,
6449 GLOB_ff_string_lower,
6450 GLOB_ff_string_upper,
6451 GLOB_ff_table_getn,
6452 GLOB_ff_bit_band,
6453 GLOB_ff_bit_bor,
6454 GLOB_ff_bit_bxor,
6455 GLOB_ff_bit_bswap,
6456 GLOB_ff_bit_bnot,
6457 GLOB_ff_bit_lshift,
6458 GLOB_ff_bit_rshift,
6459 GLOB_ff_bit_arshift,
6460 GLOB_ff_bit_rol,
6461 GLOB_ff_bit_ror,
6462 GLOB_ff_bit_tobit,
6463 GLOB_vm_record,
6464 GLOB_vm_rethook,
6465 GLOB_vm_inshook,
6466 GLOB_cont_hook,
6467 GLOB_vm_hotloop,
6468 GLOB_vm_callhook,
6469 GLOB_vm_hotcall,
6470 GLOB_vm_exit_handler,
6471 GLOB_vm_exit_interp,
6472 GLOB_vm_trunc,
6473 GLOB_vm_ffi_callback,
6474 GLOB_vm_ffi_call,
6475 GLOB_BC_MODVN_Z,
6476 GLOB_BC_TGETS_Z,
6477 GLOB_BC_TSETS_Z,
6478 GLOB_BC_CALL_Z,
6479 GLOB_BC_RETV_Z,
6480 GLOB__MAX
6481};
6482static const char *const globnames[] = {
6483 "vm_returnp",
6484 "cont_dispatch",
6485 "vm_returnc",
6486 "BC_RET_Z",
6487 "vm_return",
6488 "vm_leave_cp",
6489 "vm_leave_unw",
6490 "vm_unwind_c",
6491 "vm_unwind_c_eh",
6492 "vm_unwind_ff",
6493 "vm_unwind_ff_eh",
6494 "vm_growstack_c",
6495 "vm_growstack_l",
6496 "vm_resume",
6497 "vm_pcall",
6498 "vm_call",
6499 "vm_call_dispatch",
6500 "vmeta_call",
6501 "vm_call_dispatch_f",
6502 "vm_cpcall",
6503 "cont_ffi_callback",
6504 "vm_call_tail",
6505 "cont_cat",
6506 "BC_CAT_Z",
6507 "cont_nop",
6508 "vmeta_tgets1",
6509 "vmeta_tgets",
6510 "vmeta_tgetb",
6511 "vmeta_tgetv",
6512 "vmeta_tsets1",
6513 "vmeta_tsets",
6514 "vmeta_tsetb",
6515 "vmeta_tsetv",
6516 "vmeta_comp",
6517 "vmeta_binop",
6518 "cont_ra",
6519 "cont_condt",
6520 "cont_condf",
6521 "vmeta_equal",
6522 "vmeta_equal_cd",
6523 "vmeta_unm",
6524 "vmeta_arith",
6525 "vmeta_len",
6526 "BC_LEN_Z",
6527 "vmeta_callt",
6528 "BC_CALLT_Z",
6529 "vmeta_for",
6530 "ff_assert",
6531 "fff_fallback",
6532 "fff_res",
6533 "ff_type",
6534 "fff_resn",
6535 "ff_getmetatable",
6536 "fff_restv",
6537 "ff_setmetatable",
6538 "ff_rawget",
6539 "ff_tonumber",
6540 "ff_tostring",
6541 "fff_gcstep",
6542 "ff_next",
6543 "ff_pairs",
6544 "ff_ipairs_aux",
6545 "ff_ipairs",
6546 "ff_pcall",
6547 "ff_xpcall",
6548 "ff_coroutine_resume",
6549 "ff_coroutine_wrap_aux",
6550 "ff_coroutine_yield",
6551 "ff_math_abs",
6552 "fff_res1",
6553 "ff_math_floor",
6554 "vm_floor",
6555 "ff_math_ceil",
6556 "vm_ceil",
6557 "ff_math_log",
6558 "ff_math_log10",
6559 "ff_math_exp",
6560 "ff_math_sin",
6561 "ff_math_cos",
6562 "ff_math_tan",
6563 "ff_math_asin",
6564 "ff_math_acos",
6565 "ff_math_atan",
6566 "ff_math_sinh",
6567 "ff_math_cosh",
6568 "ff_math_tanh",
6569 "ff_math_pow",
6570 "ff_math_atan2",
6571 "ff_math_fmod",
6572 "ff_math_sqrt",
6573 "ff_math_deg",
6574 "ff_math_rad",
6575 "ff_math_ldexp",
6576 "ff_math_frexp",
6577 "ff_math_modf",
6578 "ff_math_min",
6579 "ff_math_max",
6580 "ff_string_len",
6581 "fff_resi",
6582 "ff_string_byte",
6583 "ff_string_char",
6584 "fff_newstr",
6585 "ff_string_sub",
6586 "fff_emptystr",
6587 "ff_string_rep",
6588 "ff_string_reverse",
6589 "ff_string_lower",
6590 "ff_string_upper",
6591 "ff_table_getn",
6592 "ff_bit_band",
6593 "ff_bit_bor",
6594 "ff_bit_bxor",
6595 "ff_bit_bswap",
6596 "ff_bit_bnot",
6597 "ff_bit_lshift",
6598 "ff_bit_rshift",
6599 "ff_bit_arshift",
6600 "ff_bit_rol",
6601 "ff_bit_ror",
6602 "ff_bit_tobit",
6603 "vm_record",
6604 "vm_rethook",
6605 "vm_inshook",
6606 "cont_hook",
6607 "vm_hotloop",
6608 "vm_callhook",
6609 "vm_hotcall",
6610 "vm_exit_handler",
6611 "vm_exit_interp",
6612 "vm_trunc",
6613 "vm_ffi_callback",
6614 "vm_ffi_call",
6615 "BC_MODVN_Z",
6616 "BC_TGETS_Z",
6617 "BC_TSETS_Z",
6618 "BC_CALL_Z",
6619 "BC_RETV_Z",
6620 (const char *)0
6621};
6622static const char *const extnames[] = {
6623 (const char *)0
6624};
6625#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
6626#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
6627#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
6628#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
6629#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
6630#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
6631#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
6632#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
6633#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
6634#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
6635#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
6636#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
6637#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
6638#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
6639#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
6640#define GG_DISP2GOT (GG_OFS(got) - GG_OFS(dispatch))
6641#define DISPATCH_GOT(name) (GG_DISP2GOT + 4*LJ_GOT_##name)
6642#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
6643
6644/* Generate subroutines used by opcodes and other parts of the VM. */
6645/* The .code_sub section should be last to help static branch prediction. */
6646static void build_subroutines(BuildCtx *ctx)
6647{
6648 dasm_put(Dst, 0);
6649 dasm_put(Dst, 1, FRAME_P, LJ_TTRUE, LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, FRAME_C, Dt1(->base), ~LJ_VMST_C, DISPATCH_GL(vmstate), Dt1(->top));
6650 dasm_put(Dst, 57, Dt1(->cframe), 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt1(->maxstack), LJ_ENDIAN_SELECT(4,0));
6651 dasm_put(Dst, 109, DISPATCH_GOT(lj_state_growstack), Dt1(->top), ~LJ_VMST_C, Dt1(->glref), Dt2(->vmstate), LJ_TNIL, Dt1(->base), Dt1(->glref), LJ_TFALSE, ~LJ_VMST_INTERP, LJ_ENDIAN_SELECT(-4,-8), GG_G2DISP, LJ_ENDIAN_SELECT(4,0));
6652 dasm_put(Dst, 172, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), DISPATCH_GOT(lj_state_growstack), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4);
6653 dasm_put(Dst, 235, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-4,-8), Dt1(->status), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate), FRAME_TYPE);
6654 dasm_put(Dst, 296, LJ_TNIL, 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, FRAME_CP, 72+9*4);
6655 dasm_put(Dst, 345, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base));
6656 dasm_put(Dst, 396, Dt1(->top), ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate), LJ_ENDIAN_SELECT(-4,-8), LJ_TFUNC, LJ_ENDIAN_SELECT(-8,-4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc), 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4);
6657 dasm_put(Dst, 457, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP, -16+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-8,-4));
6658#if LJ_HASFFI
6659 dasm_put(Dst, 506);
6660#endif
6661 dasm_put(Dst, 508, -16+LJ_ENDIAN_SELECT(4,0), Dt7(->pc));
6662#if LJ_HASFFI
6663 dasm_put(Dst, 514);
6664#endif
6665 dasm_put(Dst, 517, -8+LJ_ENDIAN_SELECT(4,0), PC2PROTO(k));
6666#if LJ_HASFFI
6667 dasm_put(Dst, 523);
6668#endif
6669 dasm_put(Dst, 531, Dt1(->base), DISPATCH_GL(tmptv), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), DISPATCH_GL(tmptv2), LJ_ENDIAN_SELECT(4,0), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv));
6670 dasm_put(Dst, 589, DISPATCH_GOT(lj_meta_tget), Dt1(->base), -FRAME_CONT, Dt1(->top), -16+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(-8,-4), DISPATCH_GL(tmptv), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), DISPATCH_GL(tmptv2), LJ_ENDIAN_SELECT(4,0), LJ_TSTR, LJ_ENDIAN_SELECT(0,4));
6671 dasm_put(Dst, 651, LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(tmptv), DISPATCH_GOT(lj_meta_tset), Dt1(->base), -FRAME_CONT, Dt1(->top), -16+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(-8,-4), DISPATCH_GOT(lj_meta_comp), Dt1(->base), LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535));
6672 dasm_put(Dst, 721, -4+LJ_ENDIAN_SELECT(1,2), LJ_ENDIAN_SELECT(4,0), LJ_TISTRUECOND, LJ_ENDIAN_SELECT(4,0), LJ_TISTRUECOND, DISPATCH_GOT(lj_meta_equal), Dt1(->base));
6673#if LJ_HASFFI
6674 dasm_put(Dst, 776, DISPATCH_GOT(lj_meta_equal_cd), Dt1(->base));
6675#endif
6676 dasm_put(Dst, 789, DISPATCH_GOT(lj_meta_arith), Dt1(->base), -16+LJ_ENDIAN_SELECT(4,0), FRAME_CONT);
6677#ifdef LUAJIT_ENABLE_LUA52COMPAT
6678 dasm_put(Dst, 818);
6679#endif
6680 dasm_put(Dst, 820, DISPATCH_GOT(lj_meta_len), Dt1(->base));
6681#ifdef LUAJIT_ENABLE_LUA52COMPAT
6682 dasm_put(Dst, 828);
6683#else
6684 dasm_put(Dst, 835);
6685#endif
6686 dasm_put(Dst, 839, DISPATCH_GOT(lj_meta_call), Dt1(->base), LJ_ENDIAN_SELECT(-8,-4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc), DISPATCH_GOT(lj_meta_call), Dt1(->base), LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(-8,-4), DISPATCH_GOT(lj_meta_for), Dt1(->base));
6687#if LJ_HASJIT
6688 dasm_put(Dst, 896, BC_JFORI);
6689#endif
6690 dasm_put(Dst, 900);
6691#if LJ_HASJIT
6692 dasm_put(Dst, 904, BC_JFORI, BC_FORI);
6693#else
6694 dasm_put(Dst, 911, BC_FORI);
6695#endif
6696 dasm_put(Dst, 915, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TISTRUECOND, LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, Dt8(->upvalue), LJ_ENDIAN_SELECT(4,0));
6697 dasm_put(Dst, 970, LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_TUDATA, Dt6(->metatable), DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), LJ_TNIL, Dt6(->hmask), LJ_TTAB, Dt5(->hash), Dt6(->node), LJ_TSTR, offsetof(Node, key)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, key)+LJ_ENDIAN_SELECT(0,4), DtB(->next), offsetof(Node, val)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, val)+LJ_ENDIAN_SELECT(0,4));
6698 dasm_put(Dst, 1020, LJ_TISNUM, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT]), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(0,4), LJ_TTAB, -LJ_TTAB, Dt6(->metatable), Dt6(->marked));
6699 dasm_put(Dst, 1075, LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), DISPATCH_GOT(lj_tab_get), -LJ_TTAB, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6700 dasm_put(Dst, 1129, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), LJ_TISNUM, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GOT(lj_str_fromnum), LJ_TSTR, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GOT(lj_tab_next));
6701 dasm_put(Dst, 1184, Dt1(->base), Dt1(->top), LJ_TNIL, (2+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_ENDIAN_SELECT(-4,-8));
6702#ifdef LUAJIT_ENABLE_LUA52COMPAT
6703 dasm_put(Dst, 1219, Dt6(->metatable), Dt8(->upvalue[0]));
6704#else
6705 dasm_put(Dst, 1226, Dt8(->upvalue[0]));
6706#endif
6707 dasm_put(Dst, 1229, 8+LJ_ENDIAN_SELECT(4,0), (3+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(4,0), -LJ_TTAB, LJ_TISNUM, LJ_ENDIAN_SELECT(-4,-8), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), (0+1)*8, (2+1)*8, Dt6(->hmask));
6708 dasm_put(Dst, 1292, DISPATCH_GOT(lj_tab_getinth), (0+1)*8, (0+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_ENDIAN_SELECT(-4,-8));
6709#ifdef LUAJIT_ENABLE_LUA52COMPAT
6710 dasm_put(Dst, 1323, Dt6(->metatable), Dt8(->upvalue[0]));
6711#else
6712 dasm_put(Dst, 1330, Dt8(->upvalue[0]));
6713#endif
6714 dasm_put(Dst, 1333, 8+LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(0,4), (3+1)*8, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, 8+LJ_ENDIAN_SELECT(4,0), DISPATCH_GL(hookmask), LJ_TFUNC, HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
6715 dasm_put(Dst, 1392, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top), Dt1(->base), -LUA_YIELD, Dt1(->maxstack), LJ_ENDIAN_SELECT(-4,-8), Dt1(->base), Dt1(->top), Dt1(->top));
6716 dasm_put(Dst, 1451, Dt1(->base), LUA_YIELD+1, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, LJ_TTRUE, -8+LJ_ENDIAN_SELECT(4,0), LJ_TFALSE, Dt1(->top));
6717 dasm_put(Dst, 1511, (2+1)*8, -8+LJ_ENDIAN_SELECT(4,0), FRAME_TYPE, DISPATCH_GOT(lj_state_growstack), Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), Dt1(->base), -LUA_YIELD, Dt1(->maxstack), LJ_ENDIAN_SELECT(-4,-8), Dt1(->base), Dt1(->top));
6718 dasm_put(Dst, 1566, Dt1(->top), Dt1(->base), LUA_YIELD+1, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE);
6719 dasm_put(Dst, 1627, DISPATCH_GOT(lj_ffh_coroutine_wrap_err), DISPATCH_GOT(lj_state_growstack), Dt1(->cframe), Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6720 dasm_put(Dst, 1682, LJ_ENDIAN_SELECT(-4,-8), LJ_ENDIAN_SELECT(-4,-8), -8+LJ_ENDIAN_SELECT(4,0), -8+LJ_ENDIAN_SELECT(0,4), (1+1)*8, FRAME_TYPE, -8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6721 dasm_put(Dst, 1750, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(log), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(log10), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
6722 dasm_put(Dst, 1806, DISPATCH_GOT(exp), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(sin), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(cos), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(tan));
6723 dasm_put(Dst, 1862, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(asin), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(acos), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(atan), LJ_TISNUM);
6724 dasm_put(Dst, 1918, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(sinh), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(cosh), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(tanh), LJ_TISNUM);
6725 dasm_put(Dst, 1977, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, DISPATCH_GOT(pow), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, DISPATCH_GOT(atan2), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
6726 dasm_put(Dst, 2039, DISPATCH_GOT(fmod), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, Dt8(->upvalue[0]), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
6727 dasm_put(Dst, 2094, DISPATCH_GOT(ldexp), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, DISPATCH_GOT(frexp), LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, DISPATCH_GOT(modf), LJ_ENDIAN_SELECT(-4,-8), (2+1)*8);
6728 dasm_put(Dst, 2158, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6729 dasm_put(Dst, 2217, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, Dt5(->len), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), -LJ_TSTR, Dt5(->len), Dt5([1]), LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0));
6730 dasm_put(Dst, 2276, LJ_TISNUM, DISPATCH_GOT(lj_str_new), Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 16+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
6731 dasm_put(Dst, 2337, LJ_TSTR, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(strempty), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), -LJ_TSTR, LJ_TISNUM, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
6732 dasm_put(Dst, 2407, DISPATCH_GL(tmpbuf.buf), Dt5([1]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
6733 dasm_put(Dst, 2464, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
6734 dasm_put(Dst, 2527, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, DISPATCH_GOT(lj_tab_len), LJ_ENDIAN_SELECT(4,0));
6735 dasm_put(Dst, 2586, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
6736 dasm_put(Dst, 2649, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
6737 dasm_put(Dst, 2719, 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0));
6738 dasm_put(Dst, 2790, 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), 8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, Dt8(->f));
6739 dasm_put(Dst, 2863, LJ_ENDIAN_SELECT(-4,-8), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), FRAME_TYPE, LJ_ENDIAN_SELECT(1,2), DISPATCH_GOT(lj_state_growstack), LUA_MINSTACK, Dt1(->base));
6740 dasm_put(Dst, 2932, DISPATCH_GOT(lj_gc_step), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4));
6741#if LJ_HASJIT
6742 dasm_put(Dst, 2958, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
6743#endif
6744 dasm_put(Dst, 2981, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE, DISPATCH_GOT(lj_dispatch_ins), Dt1(->base), Dt1(->base));
6745 dasm_put(Dst, 3029, GG_DISP2STATIC, -24+LJ_ENDIAN_SELECT(0,4));
6746#if LJ_HASJIT
6747 dasm_put(Dst, 3048, LJ_ENDIAN_SELECT(-8,-4), GG_DISP2J, Dt7(->pc), DISPATCH_J(L), PC2PROTO(framesize), DISPATCH_GOT(lj_trace_hot), Dt1(->base), Dt1(->top));
6748#endif
6749 dasm_put(Dst, 3073);
6750#if LJ_HASJIT
6751 dasm_put(Dst, 3075);
6752#endif
6753 dasm_put(Dst, 3078);
6754#if LJ_HASJIT
6755 dasm_put(Dst, 3081);
6756#endif
6757 dasm_put(Dst, 3084, DISPATCH_GOT(lj_dispatch_call), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4));
6758#if LJ_HASJIT
6759 dasm_put(Dst, 3108, -(16+32*8+32*4), 16+0*8, 16+32*8+0*4, 16+32*8+1*4, 16+2*8, 16+32*8+2*4, 16+32*8+3*4, 16+4*8, 16+32*8+4*4, 16+32*8+5*4, 16+6*8, 16+32*8+6*4, 16+32*8+7*4, 16+8*8, 16+32*8+8*4, 16+32*8+9*4, 16+10*8, 16+32*8+10*4, 16+32*8+11*4, 16+12*8, 16+32*8+12*4, 16+32*8+13*4, 16+14*8);
6760 dasm_put(Dst, 3155, 16+32*8+14*4, 16+32*8+15*4, 16+16*8, 16+32*8+16*4, 16+32*8+17*4, 16+18*8, 16+32*8+18*4, 16+32*8+19*4, 16+20*8, 16+32*8+20*4, 16+32*8+21*4, 16+22*8, 16+32*8+22*4, 16+32*8+23*4, 16+24*8, 16+32*8+24*4, 16+32*8+25*4, 16+26*8, 16+32*8+26*4, 16+32*8+27*4, 16+28*8, 16+32*8+28*4, 16+30*8);
6761 dasm_put(Dst, 3202, 16+32*8+30*4, 16+32*8+31*4, ~LJ_VMST_EXIT, 16+32*8+32*4, -GG_DISP2G-32768, DISPATCH_GL(vmstate), 16+32*8+29*4, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_GOT(lj_trace_exit), DISPATCH_J(L), DISPATCH_J(parent), DISPATCH_J(exitno), GG_DISP2J, Dt1(->base), Dt1(->cframe), Dt1(->base));
6762#endif
6763 dasm_put(Dst, 3246);
6764#if LJ_HASJIT
6765 dasm_put(Dst, 3248, -GG_DISP2G-32768, LJ_ENDIAN_SELECT(-8,-4), LJ_TNIL, Dt7(->pc), DISPATCH_GL(jit_L), PC2PROTO(k), DISPATCH_GL(vmstate), BC_FUNCF*4, DISPATCH_GOT(lj_err_throw));
6766#endif
6767 dasm_put(Dst, 3297);
6768#if LJ_HASJIT
6769 dasm_put(Dst, 3345);
6770#endif
6771 dasm_put(Dst, 3368);
6772#if LJ_HASFFI
6773#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
6774 dasm_put(Dst, 3370, 72+9*4, 72+8*4, 24+5*8, 72+7*4, 72+6*4, 24+4*8, 72+5*4, 72+4*4, 24+3*8, 72+3*4, 72+2*4, 24+2*8, 72+1*4, 72+0*4, 24+1*8, 24+0*8, Dt2(->ctype_state), GG_G2DISP, DISPATCH_GOT(lj_ccallback_enter), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.fpr[0]));
6775 dasm_put(Dst, 3418, DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[1]), 112+16, DtE(->cb.stack), Dt1(->base), Dt1(->top), LJ_ENDIAN_SELECT(-8,-4), ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate), Dt7(->pc));
6776#endif
6777 dasm_put(Dst, 3462);
6778#if LJ_HASFFI
6779 dasm_put(Dst, 3464, DISPATCH_GOT(lj_ccallback_leave), DISPATCH_GL(ctype_state), Dt1(->base), Dt1(->top), DtE(->L), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]), DtE(->cb.gpr[1]), DtE(->cb.fpr[1]));
6780#endif
6781 dasm_put(Dst, 3488);
6782#if LJ_HASFFI
6783#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
6784 dasm_put(Dst, 3490, DtF(->spadj), DtF(->nsp), offsetof(CCallState, stack), DtF(->func), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->fpr[0]), DtF(->fpr[1]), DtF(->gpr[0]), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->fpr[0]), DtF(->fpr[1]));
6785#endif
6786}
6787
6788/* Generate the code for a single instruction. */
6789static void build_ins(BuildCtx *ctx, BCOp op, int defop)
6790{
6791 int vk = 0;
6792 dasm_put(Dst, 3546, defop);
6793
6794 switch (op) {
6795
6796 /* -- Comparison ops ---------------------------------------------------- */
6797
6798 /* Remember: all ops branch for a true comparison, fall through otherwise. */
6799
6800 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
6801 dasm_put(Dst, 3548, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535));
6802 if (op == BC_ISLT || op == BC_ISGE) {
6803 dasm_put(Dst, 3571);
6804 } else {
6805 dasm_put(Dst, 3573);
6806 }
6807 if (op == BC_ISLT || op == BC_ISLE) {
6808 dasm_put(Dst, 3575);
6809 } else {
6810 dasm_put(Dst, 3577);
6811 }
6812 dasm_put(Dst, 3579);
6813 break;
6814
6815 case BC_ISEQV: case BC_ISNEV:
6816 vk = op == BC_ISEQV;
6817 dasm_put(Dst, 3593, LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), LJ_ENDIAN_SELECT(4,0), (-(BCBIAS_J*4 >> 16) & 65535), LJ_TISNUM, LJ_TISNUM);
6818 if (vk) {
6819 dasm_put(Dst, 3617);
6820 } else {
6821 dasm_put(Dst, 3619);
6822 }
6823 dasm_put(Dst, 3621, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(0,4));
6824 if (LJ_HASFFI) {
6825 dasm_put(Dst, 3640, LJ_TCDATA);
6826 }
6827 dasm_put(Dst, 3645, LJ_TISPRI);
6828 if (LJ_HASFFI) {
6829 dasm_put(Dst, 3648);
6830 }
6831 dasm_put(Dst, 3651, LJ_TISTABUD+1);
6832 if (vk) {
6833 dasm_put(Dst, 3662);
6834 } else {
6835 dasm_put(Dst, 3664);
6836 }
6837 dasm_put(Dst, 3666, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq, 1-vk);
6838 break;
6839
6840 case BC_ISEQS: case BC_ISNES:
6841 vk = op == BC_ISEQS;
6842 dasm_put(Dst, 3683, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), -4+LJ_ENDIAN_SELECT(2,0));
6843 if (LJ_HASFFI) {
6844 dasm_put(Dst, 3694, LJ_TCDATA);
6845 }
6846 dasm_put(Dst, 3699, -LJ_TSTR, (-(BCBIAS_J*4 >> 16) & 65535));
6847 if (vk) {
6848 dasm_put(Dst, 3709);
6849 } else {
6850 dasm_put(Dst, 3711);
6851 }
6852 dasm_put(Dst, 3713);
6853 break;
6854
6855 case BC_ISEQN: case BC_ISNEN:
6856 vk = op == BC_ISEQN;
6857 dasm_put(Dst, 3726, LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535), LJ_TISNUM);
6858 if (LJ_HASFFI) {
6859 dasm_put(Dst, 3741);
6860 } else {
6861 dasm_put(Dst, 3744);
6862 }
6863 dasm_put(Dst, 3747);
6864 if (vk) {
6865 dasm_put(Dst, 3750);
6866 } else {
6867 dasm_put(Dst, 3754);
6868 }
6869 dasm_put(Dst, 3758);
6870 if (LJ_HASFFI) {
6871 dasm_put(Dst, 3770, LJ_TCDATA);
6872 }
6873 break;
6874
6875 case BC_ISEQP: case BC_ISNEP:
6876 vk = op == BC_ISEQP;
6877 dasm_put(Dst, 3780, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(2,0));
6878 if (LJ_HASFFI) {
6879 dasm_put(Dst, 3789, LJ_TCDATA);
6880 }
6881 dasm_put(Dst, 3794, (-(BCBIAS_J*4 >> 16) & 65535));
6882 if (vk) {
6883 dasm_put(Dst, 3800);
6884 } else {
6885 dasm_put(Dst, 3802);
6886 }
6887 dasm_put(Dst, 3804);
6888 break;
6889
6890 /* -- Unary test and copy ops ------------------------------------------- */
6891
6892 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
6893 dasm_put(Dst, 3817, LJ_ENDIAN_SELECT(2,0), LJ_ENDIAN_SELECT(4,0));
6894 if (op == BC_IST || op == BC_ISF) {
6895 dasm_put(Dst, 3824, LJ_TISTRUECOND, (-(BCBIAS_J*4 >> 16) & 65535));
6896 if (op == BC_IST) {
6897 dasm_put(Dst, 3831);
6898 } else {
6899 dasm_put(Dst, 3833);
6900 }
6901 dasm_put(Dst, 3835);
6902 } else {
6903 dasm_put(Dst, 3837, LJ_TISTRUECOND);
6904 if (op == BC_ISTC) {
6905 dasm_put(Dst, 3841);
6906 } else {
6907 dasm_put(Dst, 3844);
6908 }
6909 dasm_put(Dst, 3847, (-(BCBIAS_J*4 >> 16) & 65535));
6910 }
6911 dasm_put(Dst, 3856);
6912 break;
6913
6914 /* -- Unary ops --------------------------------------------------------- */
6915
6916 case BC_MOV:
6917 dasm_put(Dst, 3868);
6918 break;
6919 case BC_NOT:
6920 dasm_put(Dst, 3884, LJ_ENDIAN_SELECT(4,0), LJ_TFALSE, LJ_TISTRUECOND, LJ_TTRUE, LJ_ENDIAN_SELECT(4,0));
6921 break;
6922 case BC_UNM:
6923 dasm_put(Dst, 3908, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6924 break;
6925 case BC_LEN:
6926 dasm_put(Dst, 3931, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TSTR, LJ_TTAB, Dt5(->len));
6927#ifdef LUAJIT_ENABLE_LUA52COMPAT
6928 dasm_put(Dst, 3965, Dt6(->metatable));
6929#endif
6930 dasm_put(Dst, 3972, DISPATCH_GOT(lj_tab_len));
6931#ifdef LUAJIT_ENABLE_LUA52COMPAT
6932 dasm_put(Dst, 3981, Dt6(->nomm), 1<<MM_len);
6933#endif
6934 break;
6935
6936 /* -- Binary ops -------------------------------------------------------- */
6937
6938
6939 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
6940 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6941 dasm_put(Dst, 3993);
6942 switch (vk) {
6943 case 0:
6944 dasm_put(Dst, 3997, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6945 break;
6946 case 1:
6947 dasm_put(Dst, 4006, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6948 break;
6949 default:
6950 dasm_put(Dst, 4015, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
6951 break;
6952 }
6953 dasm_put(Dst, 4029);
6954 break;
6955 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
6956 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6957 dasm_put(Dst, 4046);
6958 switch (vk) {
6959 case 0:
6960 dasm_put(Dst, 4050, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6961 break;
6962 case 1:
6963 dasm_put(Dst, 4059, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6964 break;
6965 default:
6966 dasm_put(Dst, 4068, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
6967 break;
6968 }
6969 dasm_put(Dst, 4082);
6970 break;
6971 case BC_MULVN: case BC_MULNV: case BC_MULVV:
6972 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6973 dasm_put(Dst, 4099);
6974 switch (vk) {
6975 case 0:
6976 dasm_put(Dst, 4103, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6977 break;
6978 case 1:
6979 dasm_put(Dst, 4112, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6980 break;
6981 default:
6982 dasm_put(Dst, 4121, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
6983 break;
6984 }
6985 dasm_put(Dst, 4135);
6986 break;
6987 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
6988 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
6989 dasm_put(Dst, 4152);
6990 switch (vk) {
6991 case 0:
6992 dasm_put(Dst, 4156, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6993 break;
6994 case 1:
6995 dasm_put(Dst, 4165, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
6996 break;
6997 default:
6998 dasm_put(Dst, 4174, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
6999 break;
7000 }
7001 dasm_put(Dst, 4188);
7002 break;
7003 case BC_MODVN:
7004 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
7005 dasm_put(Dst, 4205);
7006 switch (vk) {
7007 case 0:
7008 dasm_put(Dst, 4209, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
7009 break;
7010 case 1:
7011 dasm_put(Dst, 4218, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
7012 break;
7013 default:
7014 dasm_put(Dst, 4227, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
7015 break;
7016 }
7017 dasm_put(Dst, 4241);
7018 break;
7019 case BC_MODNV: case BC_MODVV:
7020 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
7021 dasm_put(Dst, 4263);
7022 switch (vk) {
7023 case 0:
7024 dasm_put(Dst, 4267, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
7025 break;
7026 case 1:
7027 dasm_put(Dst, 4276, LJ_ENDIAN_SELECT(4,0), LJ_TISNUM);
7028 break;
7029 default:
7030 dasm_put(Dst, 4285, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM);
7031 break;
7032 }
7033 dasm_put(Dst, 4299);
7034 break;
7035 case BC_POW:
7036 dasm_put(Dst, 4306, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, DISPATCH_GOT(pow));
7037 break;
7038
7039 case BC_CAT:
7040 dasm_put(Dst, 4342, Dt1(->base), DISPATCH_GOT(lj_meta_cat), Dt1(->base));
7041 break;
7042
7043 /* -- Constant ops ------------------------------------------------------ */
7044
7045 case BC_KSTR:
7046 dasm_put(Dst, 4377, LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0));
7047 break;
7048 case BC_KCDATA:
7049#if LJ_HASFFI
7050 dasm_put(Dst, 4399, LJ_TCDATA, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0));
7051#endif
7052 break;
7053 case BC_KSHORT:
7054 dasm_put(Dst, 4421);
7055 break;
7056 case BC_KNUM:
7057 dasm_put(Dst, 4438);
7058 break;
7059 case BC_KPRI:
7060 dasm_put(Dst, 4454, LJ_ENDIAN_SELECT(4,0));
7061 break;
7062 case BC_KNIL:
7063 dasm_put(Dst, 4471, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0));
7064 break;
7065
7066 /* -- Upvalue and function ops ------------------------------------------ */
7067
7068 case BC_UGET:
7069 dasm_put(Dst, 4495, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->v));
7070 break;
7071 case BC_USETV:
7072 dasm_put(Dst, 4518, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), LJ_ENDIAN_SELECT(4,0), LJ_GC_BLACK|1, -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), LJ_ENDIAN_SELECT(0,4), Dt4(->gch.marked), LJ_GC_WHITES, DISPATCH_GOT(lj_gc_barrieruv), GG_DISP2G);
7073 break;
7074 case BC_USETS:
7075 dasm_put(Dst, 4578, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->marked), DtA(->v), Dt5(->marked), LJ_GC_BLACK, DtA(->closed), LJ_TSTR, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_GC_WHITES, DISPATCH_GOT(lj_gc_barrieruv), GG_DISP2G);
7076 break;
7077 case BC_USETN:
7078 dasm_put(Dst, 4633, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->v));
7079 break;
7080 case BC_USETP:
7081 dasm_put(Dst, 4656, LJ_ENDIAN_SELECT(-8,-4), Dt7(->uvptr), DtA(->v), LJ_ENDIAN_SELECT(4,0));
7082 break;
7083
7084 case BC_UCLO:
7085 dasm_put(Dst, 4680, Dt1(->openupval), (-(BCBIAS_J*4 >> 16) & 65535), DISPATCH_GOT(lj_func_closeuv), Dt1(->base), Dt1(->base));
7086 break;
7087
7088 case BC_FNEW:
7089 dasm_put(Dst, 4711, DISPATCH_GOT(lj_func_newL_gc), LJ_ENDIAN_SELECT(-8,-4), Dt1(->base), Dt1(->base), LJ_TFUNC, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
7090 break;
7091
7092 /* -- Table ops --------------------------------------------------------- */
7093
7094 case BC_TNEW:
7095 case BC_TDUP:
7096 dasm_put(Dst, 4744, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
7097 if (op == BC_TNEW) {
7098 dasm_put(Dst, 4756, DISPATCH_GOT(lj_tab_new));
7099 } else {
7100 dasm_put(Dst, 4767, DISPATCH_GOT(lj_tab_dup));
7101 }
7102 dasm_put(Dst, 4775, Dt1(->base), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), DISPATCH_GOT(lj_gc_step_fixtop));
7103 break;
7104
7105 case BC_GGET:
7106 case BC_GSET:
7107 dasm_put(Dst, 4805, LJ_ENDIAN_SELECT(-8,-4), Dt7(->env));
7108 if (op == BC_GGET) {
7109 dasm_put(Dst, 4813);
7110 } else {
7111 dasm_put(Dst, 4816);
7112 }
7113 dasm_put(Dst, 4819);
7114 break;
7115
7116 case BC_TGETV:
7117 dasm_put(Dst, 4821, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_TISNUM, LJ_TSTR, Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
7118 dasm_put(Dst, 4896, LJ_ENDIAN_SELECT(0,4));
7119 break;
7120 case BC_TGETS:
7121 dasm_put(Dst, 4902, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->hmask), Dt5(->hash), Dt6(->node), offsetof(Node, key)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, key)+LJ_ENDIAN_SELECT(0,4), DtB(->next), offsetof(Node, val)+LJ_ENDIAN_SELECT(4,0), -LJ_TSTR, Dt6(->metatable), offsetof(Node, val)+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
7122 dasm_put(Dst, 4971, LJ_TNIL, Dt6(->nomm), 1<<MM_index);
7123 break;
7124 case BC_TGETB:
7125 dasm_put(Dst, 4988, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
7126 break;
7127
7128 case BC_TSETV:
7129 dasm_put(Dst, 5045, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_TTAB, LJ_TISNUM, LJ_TSTR, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_ENDIAN_SELECT(4,0), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
7130 dasm_put(Dst, 5118, LJ_ENDIAN_SELECT(0,4), DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7131 break;
7132 case BC_TSETS:
7133 dasm_put(Dst, 5146, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), offsetof(Node, key)+LJ_ENDIAN_SELECT(4,0), offsetof(Node, key)+LJ_ENDIAN_SELECT(0,4), LJ_TSTR, DtB(->next), offsetof(Node, val)+LJ_ENDIAN_SELECT(4,0), Dt6(->marked), Dt6(->metatable), LJ_GC_BLACK);
7134 dasm_put(Dst, 5204, DtB(->val), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), DISPATCH_GL(tmptv), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, DISPATCH_GOT(lj_tab_newkey), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), Dt1(->base), Dt1(->base));
7135 dasm_put(Dst, 5266, DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7136 break;
7137 case BC_TSETB:
7138 dasm_put(Dst, 5283, LJ_ENDIAN_SELECT(4,0), LJ_TTAB, LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain));
7139 dasm_put(Dst, 5350, ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
7140 break;
7141
7142 case BC_TSETM:
7143 dasm_put(Dst, 5361, -8+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->marked), Dt6(->array), LJ_GC_BLACK, DISPATCH_GOT(lj_tab_reasize), Dt1(->base), Dt1(->base), DISPATCH_GL(gc.grayagain), ~LJ_GC_BLACK & 255, DISPATCH_GL(gc.grayagain), Dt6(->marked));
7144 dasm_put(Dst, 5434, Dt6(->gclist));
7145 break;
7146
7147 /* -- Calls and vararg handling ----------------------------------------- */
7148
7149 case BC_CALLM:
7150 dasm_put(Dst, 5439);
7151 break;
7152 case BC_CALL:
7153 dasm_put(Dst, 5444, LJ_TFUNC, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc));
7154 break;
7155
7156 case BC_CALLMT:
7157 dasm_put(Dst, 5473);
7158 break;
7159 case BC_CALLT:
7160 dasm_put(Dst, 5475, LJ_TFUNC, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, Dt7(->ffid), FRAME_VARG, LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), -8+LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc));
7161 dasm_put(Dst, 5544, PC2PROTO(k), FRAME_TYPEP, LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE);
7162 break;
7163
7164 case BC_ITERC:
7165 dasm_put(Dst, 5560, LJ_TFUNC, -24+LJ_ENDIAN_SELECT(4,0), -24+LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(-4,-8), Dt7(->pc));
7166 break;
7167
7168 case BC_ITERN:
7169#if LJ_HASJIT
7170#endif
7171 dasm_put(Dst, 5595, -16+LJ_ENDIAN_SELECT(0,4), -8+LJ_ENDIAN_SELECT(0,4), Dt6(->asize), Dt6(->array), LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), (-(BCBIAS_J*4 >> 16) & 65535), -8+LJ_ENDIAN_SELECT(0,4), Dt6(->hmask), Dt6(->node), LJ_ENDIAN_SELECT(4,0), -4+LJ_ENDIAN_SELECT(2,0), DtB(->key), (-(BCBIAS_J*4 >> 16) & 65535));
7172 dasm_put(Dst, 5677, -8+LJ_ENDIAN_SELECT(0,4));
7173 break;
7174
7175 case BC_ISNEXT:
7176 dasm_put(Dst, 5680, -24+LJ_ENDIAN_SELECT(4,0), -24+LJ_ENDIAN_SELECT(0,4), -16+LJ_ENDIAN_SELECT(4,0), -8+LJ_ENDIAN_SELECT(4,0), LJ_TFUNC, -LJ_TTAB, Dt8(->ffid), -LJ_TNIL, -FF_next_N, (-(BCBIAS_J*4 >> 16) & 65535), -8+LJ_ENDIAN_SELECT(0,4), BC_JMP, BC_ITERC, -4+LJ_ENDIAN_SELECT(0,3), LJ_ENDIAN_SELECT(0,3));
7177 break;
7178
7179 case BC_VARG:
7180 dasm_put(Dst, 5737, LJ_ENDIAN_SELECT(-4,-8), FRAME_VARG, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), Dt1(->maxstack), DISPATCH_GOT(lj_state_growstack), Dt1(->top), Dt1(->base), Dt1(->base));
7181 dasm_put(Dst, 5824);
7182 break;
7183
7184 /* -- Returns ----------------------------------------------------------- */
7185
7186 case BC_RETM:
7187 dasm_put(Dst, 5826);
7188 break;
7189
7190 case BC_RET:
7191 dasm_put(Dst, 5828, LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, FRAME_VARG, LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), PC2PROTO(k), LJ_ENDIAN_SELECT(4,0), FRAME_TYPEP, LJ_ENDIAN_SELECT(-4,-8));
7192 break;
7193
7194 case BC_RET0: case BC_RET1:
7195 dasm_put(Dst, 5900, LJ_ENDIAN_SELECT(-4,-8), FRAME_TYPE, FRAME_VARG);
7196 if (op == BC_RET1) {
7197 dasm_put(Dst, 5913);
7198 }
7199 dasm_put(Dst, 5915);
7200 if (op == BC_RET1) {
7201 dasm_put(Dst, 5920);
7202 }
7203 dasm_put(Dst, 5922, LJ_ENDIAN_SELECT(-8,-4), Dt7(->pc), PC2PROTO(k));
7204 if (op == BC_RET1) {
7205 dasm_put(Dst, 5950, LJ_ENDIAN_SELECT(4,0));
7206 } else {
7207 dasm_put(Dst, 5953, -8+LJ_ENDIAN_SELECT(4,0));
7208 }
7209 break;
7210
7211 /* -- Loops and branches ------------------------------------------------ */
7212
7213 case BC_FORL:
7214#if LJ_HASJIT
7215 dasm_put(Dst, 5956, GG_DISP2HOT, -HOTCOUNT_LOOP, GG_DISP2HOT);
7216#endif
7217 break;
7218
7219 case BC_JFORI:
7220 case BC_JFORL:
7221#if !LJ_HASJIT
7222 break;
7223#endif
7224 case BC_FORI:
7225 case BC_IFORL:
7226 vk = (op == BC_IFORL || op == BC_JFORL);
7227 dasm_put(Dst, 5968);
7228 if (vk) {
7229 dasm_put(Dst, 5970, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8, FORL_STEP*8+LJ_ENDIAN_SELECT(4,0), FORL_IDX*8);
7230 } else {
7231 dasm_put(Dst, 5982, FORL_IDX*8+LJ_ENDIAN_SELECT(4,0), FORL_STEP*8+LJ_ENDIAN_SELECT(4,0), FORL_STOP*8+LJ_ENDIAN_SELECT(4,0), LJ_TISNUM, LJ_TISNUM, LJ_TISNUM, FORL_IDX*8, FORL_STOP*8);
7232 }
7233 if (op != BC_JFORL) {
7234 dasm_put(Dst, 6003, (-(BCBIAS_J*4 >> 16) & 65535));
7235 }
7236 dasm_put(Dst, 6007, FORL_EXT*8);
7237 if (op == BC_JFORI) {
7238 dasm_put(Dst, 6012, -4+LJ_ENDIAN_SELECT(2,0), BC_JLOOP);
7239 } else if (op == BC_JFORL) {
7240 dasm_put(Dst, 6026, BC_JLOOP);
7241 } else {
7242 dasm_put(Dst, 6036);
7243 if (op == BC_FORI) {
7244 dasm_put(Dst, 6040);
7245 } else {
7246 dasm_put(Dst, 6043);
7247 }
7248 dasm_put(Dst, 6046);
7249 }
7250 dasm_put(Dst, 6049);
7251 break;
7252
7253 case BC_ITERL:
7254#if LJ_HASJIT
7255 dasm_put(Dst, 6061, GG_DISP2HOT, -HOTCOUNT_LOOP, GG_DISP2HOT);
7256#endif
7257 break;
7258
7259 case BC_JITERL:
7260#if !LJ_HASJIT
7261 break;
7262#endif
7263 case BC_IITERL:
7264 dasm_put(Dst, 6073, LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4));
7265 if (op == BC_JITERL) {
7266 dasm_put(Dst, 6081, -8+LJ_ENDIAN_SELECT(4,0), BC_JLOOP, -8+LJ_ENDIAN_SELECT(0,4));
7267 } else {
7268 dasm_put(Dst, 6088, (-(BCBIAS_J*4 >> 16) & 65535), -8+LJ_ENDIAN_SELECT(4,0), -8+LJ_ENDIAN_SELECT(0,4));
7269 }
7270 dasm_put(Dst, 6098);
7271 break;
7272
7273 case BC_LOOP:
7274#if LJ_HASJIT
7275 dasm_put(Dst, 6111, GG_DISP2HOT, -HOTCOUNT_LOOP, GG_DISP2HOT);
7276#endif
7277 break;
7278
7279 case BC_ILOOP:
7280 dasm_put(Dst, 6123);
7281 break;
7282
7283 case BC_JLOOP:
7284#if LJ_HASJIT
7285 dasm_put(Dst, 6135, DISPATCH_J(trace), DISPATCH_GL(vmstate), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), DtD(->mcode), GG_DISP2G+32768);
7286#endif
7287 break;
7288
7289 case BC_JMP:
7290 dasm_put(Dst, 6153, (-(BCBIAS_J*4 >> 16) & 65535));
7291 break;
7292
7293 /* -- Function headers -------------------------------------------------- */
7294
7295 case BC_FUNCF:
7296#if LJ_HASJIT
7297 dasm_put(Dst, 6170, GG_DISP2HOT, -HOTCOUNT_CALL, GG_DISP2HOT);
7298#endif
7299 case BC_FUNCV: /* NYI: compiled vararg functions. */
7300 break;
7301
7302 case BC_JFUNCF:
7303#if !LJ_HASJIT
7304 break;
7305#endif
7306 case BC_IFUNCF:
7307 dasm_put(Dst, 6182, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k));
7308 if (op != BC_JFUNCF) {
7309 dasm_put(Dst, 6193);
7310 }
7311 dasm_put(Dst, 6196);
7312 if (op == BC_JFUNCF) {
7313 dasm_put(Dst, 6202, BC_JLOOP);
7314 } else {
7315 dasm_put(Dst, 6207);
7316 }
7317 dasm_put(Dst, 6217, LJ_ENDIAN_SELECT(4,0));
7318 break;
7319
7320 case BC_JFUNCV:
7321#if !LJ_HASJIT
7322 break;
7323#endif
7324 dasm_put(Dst, 6224);
7325 break; /* NYI: compiled vararg functions. */
7326
7327 case BC_IFUNCV:
7328 dasm_put(Dst, 6226, Dt1(->maxstack), LJ_ENDIAN_SELECT(0,4), 8+FRAME_VARG, -4+PC2PROTO(k), LJ_ENDIAN_SELECT(4,0), -4+PC2PROTO(numparams), LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(0,4), 8+LJ_ENDIAN_SELECT(4,0), LJ_ENDIAN_SELECT(4,0));
7329 break;
7330
7331 case BC_FUNCC:
7332 case BC_FUNCCW:
7333 if (op == BC_FUNCC) {
7334 dasm_put(Dst, 6281, Dt8(->f));
7335 } else {
7336 dasm_put(Dst, 6284, DISPATCH_GL(wrapf));
7337 }
7338 dasm_put(Dst, 6287, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
7339 if (op == BC_FUNCCW) {
7340 dasm_put(Dst, 6299, Dt8(->f));
7341 }
7342 dasm_put(Dst, 6302, DISPATCH_GL(vmstate), Dt1(->base), Dt1(->top), ~LJ_VMST_INTERP, LJ_ENDIAN_SELECT(-4,-8), DISPATCH_GL(vmstate));
7343 break;
7344
7345 /* ---------------------------------------------------------------------- */
7346
7347 default:
7348 fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
7349 exit(2);
7350 break;
7351 }
7352}
7353
7354static int build_backend(BuildCtx *ctx)
7355{
7356 int op;
7357
7358 dasm_growpc(Dst, BC__MAX);
7359
7360 build_subroutines(ctx);
7361
7362 dasm_put(Dst, 6323);
7363 for (op = 0; op < BC__MAX; op++)
7364 build_ins(ctx, (BCOp)op, op);
7365
7366 return BC__MAX;
7367}
7368
7369/* Emit pseudo frame-info for all assembler functions. */
7370static void emit_asm_debug(BuildCtx *ctx)
7371{
7372 int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
7373 int i;
7374 switch (ctx->mode) {
7375 case BUILD_elfasm:
7376 fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
7377 fprintf(ctx->fp,
7378 ".Lframe0:\n"
7379 "\t.4byte .LECIE0-.LSCIE0\n"
7380 ".LSCIE0:\n"
7381 "\t.4byte 0xffffffff\n"
7382 "\t.byte 0x1\n"
7383 "\t.string \"\"\n"
7384 "\t.uleb128 0x1\n"
7385 "\t.sleb128 -4\n"
7386 "\t.byte 31\n"
7387 "\t.byte 0xc\n\t.uleb128 29\n\t.uleb128 0\n"
7388 "\t.align 2\n"
7389 ".LECIE0:\n\n");
7390 fprintf(ctx->fp,
7391 ".LSFDE0:\n"
7392 "\t.4byte .LEFDE0-.LASFDE0\n"
7393 ".LASFDE0:\n"
7394 "\t.4byte .Lframe0\n"
7395 "\t.4byte .Lbegin\n"
7396 "\t.4byte %d\n"
7397 "\t.byte 0xe\n\t.uleb128 %d\n"
7398 "\t.byte 0x9f\n\t.sleb128 1\n"
7399 "\t.byte 0x9e\n\t.sleb128 2\n",
7400 fcofs, CFRAME_SIZE);
7401 for (i = 23; i >= 16; i--)
7402 fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+i, 26-i);
7403 for (i = 30; i >= 20; i -= 2)
7404 fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+32+i, 42-i);
7405 fprintf(ctx->fp,
7406 "\t.align 2\n"
7407 ".LEFDE0:\n\n");
7408#if LJ_HASFFI
7409 fprintf(ctx->fp,
7410 ".LSFDE1:\n"
7411 "\t.4byte .LEFDE1-.LASFDE1\n"
7412 ".LASFDE1:\n"
7413 "\t.4byte .Lframe0\n"
7414 "\t.4byte lj_vm_ffi_call\n"
7415 "\t.4byte %d\n"
7416 "\t.byte 0x9f\n\t.uleb128 1\n"
7417 "\t.byte 0x90\n\t.uleb128 2\n"
7418 "\t.byte 0xd\n\t.uleb128 0x10\n"
7419 "\t.align 2\n"
7420 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
7421#endif
7422 fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
7423 fprintf(ctx->fp,
7424 "\t.globl lj_err_unwind_dwarf\n"
7425 ".Lframe1:\n"
7426 "\t.4byte .LECIE1-.LSCIE1\n"
7427 ".LSCIE1:\n"
7428 "\t.4byte 0\n"
7429 "\t.byte 0x1\n"
7430 "\t.string \"zPR\"\n"
7431 "\t.uleb128 0x1\n"
7432 "\t.sleb128 -4\n"
7433 "\t.byte 31\n"
7434 "\t.uleb128 6\n" /* augmentation length */
7435 "\t.byte 0\n"
7436 "\t.4byte lj_err_unwind_dwarf\n"
7437 "\t.byte 0\n"
7438 "\t.byte 0xc\n\t.uleb128 29\n\t.uleb128 0\n"
7439 "\t.align 2\n"
7440 ".LECIE1:\n\n");
7441 fprintf(ctx->fp,
7442 ".LSFDE2:\n"
7443 "\t.4byte .LEFDE2-.LASFDE2\n"
7444 ".LASFDE2:\n"
7445 "\t.4byte .LASFDE2-.Lframe1\n"
7446 "\t.4byte .Lbegin\n"
7447 "\t.4byte %d\n"
7448 "\t.uleb128 0\n" /* augmentation length */
7449 "\t.byte 0xe\n\t.uleb128 %d\n"
7450 "\t.byte 0x9f\n\t.sleb128 1\n"
7451 "\t.byte 0x9e\n\t.sleb128 2\n",
7452 fcofs, CFRAME_SIZE);
7453 for (i = 23; i >= 16; i--)
7454 fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+i, 26-i);
7455 for (i = 30; i >= 20; i -= 2)
7456 fprintf(ctx->fp, "\t.byte %d\n\t.uleb128 %d\n", 0x80+32+i, 42-i);
7457 fprintf(ctx->fp,
7458 "\t.align 2\n"
7459 ".LEFDE2:\n\n");
7460#if LJ_HASFFI
7461 fprintf(ctx->fp,
7462 ".Lframe2:\n"
7463 "\t.4byte .LECIE2-.LSCIE2\n"
7464 ".LSCIE2:\n"
7465 "\t.4byte 0\n"
7466 "\t.byte 0x1\n"
7467 "\t.string \"zR\"\n"
7468 "\t.uleb128 0x1\n"
7469 "\t.sleb128 -4\n"
7470 "\t.byte 31\n"
7471 "\t.uleb128 1\n" /* augmentation length */
7472 "\t.byte 0\n"
7473 "\t.byte 0xc\n\t.uleb128 29\n\t.uleb128 0\n"
7474 "\t.align 2\n"
7475 ".LECIE2:\n\n");
7476 fprintf(ctx->fp,
7477 ".LSFDE3:\n"
7478 "\t.4byte .LEFDE3-.LASFDE3\n"
7479 ".LASFDE3:\n"
7480 "\t.4byte .LASFDE3-.Lframe2\n"
7481 "\t.4byte lj_vm_ffi_call\n"
7482 "\t.4byte %d\n"
7483 "\t.uleb128 0\n" /* augmentation length */
7484 "\t.byte 0x9f\n\t.uleb128 1\n"
7485 "\t.byte 0x90\n\t.uleb128 2\n"
7486 "\t.byte 0xd\n\t.uleb128 0x10\n"
7487 "\t.align 2\n"
7488 ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
7489#endif
7490 break;
7491 default:
7492 break;
7493 }
7494}
7495
diff --git a/src/buildvm_ppc.h b/src/buildvm_ppc.h
deleted file mode 100644
index ce0941ec..00000000
--- a/src/buildvm_ppc.h
+++ /dev/null
@@ -1,9797 +0,0 @@
1/*
2** This file has been pre-processed with DynASM.
3** http://luajit.org/dynasm.html
4** DynASM version 1.3.0, DynASM ppc version 1.3.0
5** DO NOT EDIT! The original file is in "buildvm_ppc.dasc".
6*/
7
8#if DASM_VERSION != 10300
9#error "Version mismatch between DynASM and included encoding engine"
10#endif
11
12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2
15static const unsigned int build_actionlist[7763] = {
160x00010001,
170x00060014,
180x72000000,
190x00090200,
200x39000000,
210x00098200,
220x41820000,
230x00050815,
240x8209fff8,
250x7d2e4b78,
260x9514fff8,
270x00060016,
280x72000000,
290x00090200,
300x398c0008,
310x7d936378,
320x41820000,
330x00050817,
340x00060018,
350x2c000000,
360x00098200,
370x56090038,
380x38000000,
390x00098200,
400x7d297050,
410x40a20000,
420x00050814,
430x350cfff8,
440x91320000,
450x00098200,
460x8121002c,
470x39cefff8,
480x90110000,
490x00098200,
500x55291800,
510x000900a1,
520x41820000,
530x00050802,
540x0006000b,
550x3508fff8,
560xc8140000,
570x3a940008,
580xd80e0000,
590x39ce0008,
600x40a20000,
610x0005080b,
620x0006000c,
630x7c096000,
640x40820000,
650x00050806,
660x0006000d,
670x91d20000,
680x00098200,
690x00060019,
700x00000000,
710x80010028,
720x38600000,
730x90120000,
740x00098200,
750x0006001a,
760x80010114,
770x81810034,
780x81c10000,
790x00098200,
800xc9c10000,
810x00098200,
820x81e10000,
830x00098200,
840xc9e10000,
850x00098200,
860x82010000,
870x00098200,
880xca010000,
890x00098200,
900x82210000,
910x00098200,
920xca210000,
930x00098200,
940x82410000,
950x00098200,
960xca410000,
970x00098200,
980x82610000,
990x00098200,
1000xca610000,
1010x00098200,
1020x7c0803a6,
1030x7d838120,
1040x82810000,
1050x00098200,
1060xca810000,
1070x00098200,
1080x82a10000,
1090x00098200,
1100xcaa10000,
1110x00098200,
1120x82c10000,
1130x00098200,
1140xcac10000,
1150x00098200,
1160x82e10000,
1170x00098200,
1180xcae10000,
1190x00098200,
1200x00000000,
1210x83010000,
1220x00098200,
1230xcb010000,
1240x00098200,
1250x83210000,
1260x00098200,
1270xcb210000,
1280x00098200,
1290x83410000,
1300x00098200,
1310xcb410000,
1320x00098200,
1330x83610000,
1340x00098200,
1350xcb610000,
1360x00098200,
1370x83810000,
1380x00098200,
1390xcb810000,
1400x00098200,
1410x83a10000,
1420x00098200,
1430xcba10000,
1440x00098200,
1450x83c10000,
1460x00098200,
1470xcbc10000,
1480x00098200,
1490x83e10000,
1500x00098200,
1510xcbe10000,
1520x00098200,
1530x38210110,
1540x4e800020,
1550x00060010,
1560x40810000,
1570x00050807,
1580x81120000,
1590x00098200,
1600x7c0e4040,
1610x40800000,
1620x00050808,
1630x92ee0000,
1640x398c0008,
1650x39ce0008,
1660x48000000,
1670x0005000c,
1680x00060011,
1690x00000000,
1700x20c90000,
1710x7c096050,
1720x7d084110,
1730x7c004038,
1740x7dc07050,
1750x48000000,
1760x0005000d,
1770x00060012,
1780x91d20000,
1790x00098200,
1800x7d956378,
1810x7d244b78,
1820x7e439378,
1830x48000001,
1840x00030000,
1850x8121002c,
1860x7eacab78,
1870x55291800,
1880x000900a1,
1890x81d20000,
1900x00098200,
1910x48000000,
1920x0005000c,
1930x0006001b,
1940x7c611b78,
1950x7c832378,
1960x0006001c,
1970x82410024,
1980x38000000,
1990x00098200,
2000x81120000,
2010x00098200,
2020x90080000,
2030x00098200,
2040x48000000,
2050x0005001a,
2060x0006001d,
2070x5461003a,
2080x0006001e,
2090x82410024,
2100x3ac00000,
2110x00098200,
2120x81d20000,
2130x00098200,
2140x3cc059c0,
2150x82320000,
2160x00098200,
2170x3b000000,
2180x90c10010,
2190x39000000,
2200x00098200,
2210x60c60004,
2220x3ae00000,
2230x00098200,
2240x38000000,
2250x00098200,
2260xc3c10010,
2270x820efff8,
2280x3a8efff8,
2290x90c10010,
2300x3a310000,
2310x00098200,
2320x00000000,
2330x91140000,
2340x39800010,
2350x90110000,
2360x00098200,
2370xc3e10010,
2380x48000000,
2390x00050016,
2400x0006001f,
2410x38800000,
2420x00098200,
2430x48000000,
2440x00050002,
2450x00060020,
2460x7d6e5a14,
2470x7e8ea050,
2480x91d20000,
2490x00098200,
2500x3a100004,
2510x91720000,
2520x00098200,
2530x568400fe,
2540x000900ab,
2550x0006000c,
2560x92010020,
2570x7e439378,
2580x48000001,
2590x00030000,
2600x81d20000,
2610x00098200,
2620x81720000,
2630x00098200,
2640x814efffc,
2650x7d6e5850,
2660x820a0000,
2670x00098200,
2680x80f00000,
2690x3a100004,
2700x54e815ba,
2710x54f4dd78,
2720x7c11402e,
2730x7e947214,
2740x7c0903a6,
2750x4e800420,
2760x00060021,
2770x9421fef0,
2780x91c10000,
2790x00098200,
2800xd9c10000,
2810x00098200,
2820x91e10000,
2830x00098200,
2840xd9e10000,
2850x00098200,
2860x92010000,
2870x00098200,
2880xda010000,
2890x00098200,
2900x7c0802a6,
2910x92210000,
2920x00098200,
2930x00000000,
2940xda210000,
2950x00098200,
2960x92410000,
2970x00098200,
2980xda410000,
2990x00098200,
3000x92610000,
3010x00098200,
3020xda610000,
3030x00098200,
3040x92810000,
3050x00098200,
3060xda810000,
3070x00098200,
3080x92a10000,
3090x00098200,
3100xdaa10000,
3110x00098200,
3120x92c10000,
3130x00098200,
3140xdac10000,
3150x00098200,
3160x90010114,
3170x92e10000,
3180x00098200,
3190xdae10000,
3200x00098200,
3210x93010000,
3220x00098200,
3230xdb010000,
3240x00098200,
3250x93210000,
3260x00098200,
3270xdb210000,
3280x00098200,
3290x7c000026,
3300x93410000,
3310x00098200,
3320xdb410000,
3330x00098200,
3340x93610000,
3350x00098200,
3360xdb610000,
3370x00098200,
3380x93810000,
3390x00098200,
3400x00000000,
3410xdb810000,
3420x00098200,
3430x93a10000,
3440x00098200,
3450xdba10000,
3460x00098200,
3470x93c10000,
3480x00098200,
3490xdbc10000,
3500x00098200,
3510x93e10000,
3520x00098200,
3530xdbe10000,
3540x00098200,
3550x90010034,
3560x7c721b78,
3570x82320000,
3580x00098200,
3590x7c8e2378,
3600x89120000,
3610x00098200,
3620x92410024,
3630x3a000000,
3640x00098200,
3650x38010000,
3660x00098200,
3670x3a310000,
3680x00098200,
3690x90a1002c,
3700x28080000,
3710x90a10030,
3720x90120000,
3730x00098200,
3740x90a10028,
3750x90610020,
3760x41820000,
3770x00050803,
3780x7dd47378,
3790x81d20000,
3800x00098200,
3810x3ac00000,
3820x00098200,
3830x81120000,
3840x00098200,
3850x820efff8,
3860x3cc059c0,
3870x98b20000,
3880x00098200,
3890x90c10010,
3900x60c60004,
3910xc3c10010,
3920x7d8e4050,
3930x90c10010,
3940x3c004338,
3950x398c0008,
3960x90010008,
3970x38000000,
3980x00098200,
3990x3b000000,
4000x90110000,
4010x00098200,
4020x72000000,
4030x00090200,
4040x7d936378,
4050xc3e10010,
4060x3ae00000,
4070x00098200,
4080x00000000,
4090x41820000,
4100x00050817,
4110x48000000,
4120x00050018,
4130x00060022,
4140x9421fef0,
4150x91c10000,
4160x00098200,
4170xd9c10000,
4180x00098200,
4190x91e10000,
4200x00098200,
4210xd9e10000,
4220x00098200,
4230x92010000,
4240x00098200,
4250xda010000,
4260x00098200,
4270x7c0802a6,
4280x92210000,
4290x00098200,
4300xda210000,
4310x00098200,
4320x92410000,
4330x00098200,
4340xda410000,
4350x00098200,
4360x92610000,
4370x00098200,
4380xda610000,
4390x00098200,
4400x92810000,
4410x00098200,
4420xda810000,
4430x00098200,
4440x92a10000,
4450x00098200,
4460xdaa10000,
4470x00098200,
4480x92c10000,
4490x00098200,
4500xdac10000,
4510x00098200,
4520x90010114,
4530x92e10000,
4540x00098200,
4550x00000000,
4560xdae10000,
4570x00098200,
4580x93010000,
4590x00098200,
4600xdb010000,
4610x00098200,
4620x93210000,
4630x00098200,
4640xdb210000,
4650x00098200,
4660x7c000026,
4670x93410000,
4680x00098200,
4690xdb410000,
4700x00098200,
4710x93610000,
4720x00098200,
4730xdb610000,
4740x00098200,
4750x93810000,
4760x00098200,
4770xdb810000,
4780x00098200,
4790x93a10000,
4800x00098200,
4810xdba10000,
4820x00098200,
4830x93c10000,
4840x00098200,
4850xdbc10000,
4860x00098200,
4870x93e10000,
4880x00098200,
4890xdbe10000,
4900x00098200,
4910x90010034,
4920x3a000000,
4930x00098200,
4940x90c10030,
4950x48000000,
4960x00050001,
4970x00060023,
4980x9421fef0,
4990x91c10000,
5000x00098200,
5010xd9c10000,
5020x00098200,
5030x00000000,
5040x91e10000,
5050x00098200,
5060xd9e10000,
5070x00098200,
5080x92010000,
5090x00098200,
5100xda010000,
5110x00098200,
5120x7c0802a6,
5130x92210000,
5140x00098200,
5150xda210000,
5160x00098200,
5170x92410000,
5180x00098200,
5190xda410000,
5200x00098200,
5210x92610000,
5220x00098200,
5230xda610000,
5240x00098200,
5250x92810000,
5260x00098200,
5270xda810000,
5280x00098200,
5290x92a10000,
5300x00098200,
5310xdaa10000,
5320x00098200,
5330x92c10000,
5340x00098200,
5350xdac10000,
5360x00098200,
5370x90010114,
5380x92e10000,
5390x00098200,
5400xdae10000,
5410x00098200,
5420x93010000,
5430x00098200,
5440xdb010000,
5450x00098200,
5460x93210000,
5470x00098200,
5480xdb210000,
5490x00098200,
5500x00000000,
5510x7c000026,
5520x93410000,
5530x00098200,
5540xdb410000,
5550x00098200,
5560x93610000,
5570x00098200,
5580xdb610000,
5590x00098200,
5600x93810000,
5610x00098200,
5620xdb810000,
5630x00098200,
5640x93a10000,
5650x00098200,
5660xdba10000,
5670x00098200,
5680x93c10000,
5690x00098200,
5700xdbc10000,
5710x00098200,
5720x93e10000,
5730x00098200,
5740xdbe10000,
5750x00098200,
5760x90010034,
5770x3a000000,
5780x00098200,
5790x0006000b,
5800x81030000,
5810x00098200,
5820x90a1002c,
5830x7c721b78,
5840x90610024,
5850x7c8e2378,
5860x90320000,
5870x00098200,
5880x82320000,
5890x00098200,
5900x90610020,
5910x91010028,
5920x3a310000,
5930x00098200,
5940x0006000d,
5950x81320000,
5960x00098200,
5970x3ac00000,
5980x00098200,
5990x81120000,
6000x00098200,
6010x00000000,
6020x3cc059c0,
6030x7e107214,
6040x90c10010,
6050x3b000000,
6060x60c60004,
6070xc3c10010,
6080x7e098050,
6090x90c10010,
6100x3c004338,
6110x7d6e4050,
6120x90010008,
6130x38000000,
6140x00098200,
6150xc3e10010,
6160x3ae00000,
6170x00098200,
6180x90110000,
6190x00098200,
6200x00060024,
6210x800efff8,
6220x814efffc,
6230x2c000000,
6240x00098200,
6250x40820000,
6260x00050825,
6270x00060026,
6280x920efff8,
6290x820a0000,
6300x00098200,
6310x80f00000,
6320x3a100004,
6330x54e815ba,
6340x54f4dd78,
6350x7c11402e,
6360x7e947214,
6370x7c0903a6,
6380x4e800420,
6390x00060027,
6400x9421fef0,
6410x91c10000,
6420x00098200,
6430xd9c10000,
6440x00098200,
6450x91e10000,
6460x00098200,
6470xd9e10000,
6480x00098200,
6490x92010000,
6500x00098200,
6510xda010000,
6520x00098200,
6530x7c0802a6,
6540x92210000,
6550x00098200,
6560xda210000,
6570x00098200,
6580x92410000,
6590x00098200,
6600xda410000,
6610x00098200,
6620x92610000,
6630x00098200,
6640xda610000,
6650x00098200,
6660x92810000,
6670x00098200,
6680x00000000,
6690xda810000,
6700x00098200,
6710x92a10000,
6720x00098200,
6730xdaa10000,
6740x00098200,
6750x92c10000,
6760x00098200,
6770xdac10000,
6780x00098200,
6790x90010114,
6800x92e10000,
6810x00098200,
6820xdae10000,
6830x00098200,
6840x93010000,
6850x00098200,
6860xdb010000,
6870x00098200,
6880x93210000,
6890x00098200,
6900xdb210000,
6910x00098200,
6920x7c000026,
6930x93410000,
6940x00098200,
6950xdb410000,
6960x00098200,
6970x93610000,
6980x00098200,
6990xdb610000,
7000x00098200,
7010x93810000,
7020x00098200,
7030xdb810000,
7040x00098200,
7050x93a10000,
7060x00098200,
7070xdba10000,
7080x00098200,
7090x93c10000,
7100x00098200,
7110xdbc10000,
7120x00098200,
7130x93e10000,
7140x00098200,
7150x00000000,
7160xdbe10000,
7170x00098200,
7180x90010034,
7190x7c721b78,
7200x80030000,
7210x00098200,
7220x90610024,
7230x81120000,
7240x00098200,
7250x90610020,
7260x7c080050,
7270x81120000,
7280x00098200,
7290x90320000,
7300x00098200,
7310x39200000,
7320x9001002c,
7330x91210030,
7340x91010028,
7350x7cc903a6,
7360x4e800421,
7370x7c6e1b79,
7380x82320000,
7390x00098200,
7400x3a000000,
7410x00098200,
7420x3a310000,
7430x00098200,
7440x40820000,
7450x0005080d,
7460x48000000,
7470x00050019,
7480x00060015,
7490x800efff4,
7500x7dca7378,
7510x7d2e4b78,
7520x8109fffc,
7530x00000000,
7540x28000001,
7550x00000000,
7560x820afff0,
7570x392cfff8,
7580x81080000,
7590x00098200,
7600x7ef4492e,
7610x00000000,
7620x40810000,
7630x00050801,
7640x00000000,
7650x81e80000,
7660x00098200,
7670x7c0903a6,
7680x4e800420,
7690x00000000,
7700x0006000b,
7710x41820000,
7720x00050828,
7730x390afff0,
7740x7d6e4050,
7750x48000000,
7760x00050029,
7770x00000000,
7780x0006002a,
7790x80f0fffc,
7800x388afff0,
7810x54f55d78,
7820xc8140000,
7830x7d0eaa14,
7840x91d20000,
7850x00098200,
7860x7c082040,
7870x7ca82050,
7880x54f4dd78,
7890xd8040000,
7900x40a20000,
7910x0005082b,
7920x7c0ea5ae,
7930x48000000,
7940x0005002c,
7950x0006002d,
7960x38b10000,
7970x00098200,
7980x38000000,
7990x00098200,
8000x54ea5d78,
8010x91650004,
8020x7c8e5214,
8030x90050000,
8040x48000000,
8050x00050001,
8060x0006002e,
8070x38910000,
8080x00098200,
8090x38000000,
8100x00098200,
8110x91440004,
8120x38b10000,
8130x00098200,
8140x90040000,
8150x39000000,
8160x00098200,
8170x91650004,
8180x91050000,
8190x48000000,
8200x00050001,
8210x0006002f,
8220x00000000,
8230x9001000c,
8240xc8010008,
8250xfc00f028,
8260x00000000,
8270x54ea5d78,
8280x38b10000,
8290x00098200,
8300x7c8e5214,
8310x00000000,
8320x92c50000,
8330x90050004,
8340x00000000,
8350xd8050000,
8360x00000000,
8370x48000000,
8380x00050001,
8390x00060030,
8400x54ea5d78,
8410x54eb9d78,
8420x7c8e5214,
8430x7cae5a14,
8440x0006000b,
8450x91d20000,
8460x00098200,
8470x7e439378,
8480x92010020,
8490x48000001,
8500x00030001,
8510x28030000,
8520x41820000,
8530x00050803,
8540xc8030000,
8550x80f00000,
8560x3a100004,
8570x7c0ea5ae,
8580x54e815ba,
8590x7c11402e,
8600x7c0903a6,
8610x54ea5d78,
8620x54ec9b78,
8630x54f4dd78,
8640x54eb9d78,
8650x4e800420,
8660x0006000d,
8670x210e0000,
8680x00098200,
8690x81d20000,
8700x00098200,
8710x920efff0,
8720x7e087214,
8730x814efffc,
8740x39600010,
8750x48000000,
8760x00050026,
8770x00060031,
8780x38b10000,
8790x00098200,
8800x38000000,
8810x00098200,
8820x54ea5d78,
8830x91650004,
8840x7c8e5214,
8850x90050000,
8860x48000000,
8870x00050001,
8880x00060032,
8890x38910000,
8900x00098200,
8910x38000000,
8920x00098200,
8930x91440004,
8940x38b10000,
8950x00098200,
8960x90040000,
8970x39000000,
8980x00098200,
8990x91650004,
9000x91050000,
9010x48000000,
9020x00050001,
9030x00060033,
9040x00000000,
9050x9001000c,
9060xc8010008,
9070xfc00f028,
9080x00000000,
9090x54ea5d78,
9100x38b10000,
9110x00098200,
9120x7c8e5214,
9130x00000000,
9140x92c50000,
9150x90050004,
9160x00000000,
9170xd8050000,
9180x00000000,
9190x48000000,
9200x00050001,
9210x00060034,
9220x54ea5d78,
9230x54eb9d78,
9240x7c8e5214,
9250x7cae5a14,
9260x0006000b,
9270x91d20000,
9280x00098200,
9290x7e439378,
9300x92010020,
9310x48000001,
9320x00030002,
9330x28030000,
9340x7c0ea4ae,
9350x41820000,
9360x00050803,
9370x80f00000,
9380x3a100004,
9390xd8030000,
9400x54e815ba,
9410x7c11402e,
9420x7c0903a6,
9430x54ea5d78,
9440x54ec9b78,
9450x54f4dd78,
9460x54eb9d78,
9470x4e800420,
9480x0006000d,
9490x210e0000,
9500x00098200,
9510x81d20000,
9520x00098200,
9530x920efff0,
9540x7e087214,
9550x814efffc,
9560x39600018,
9570xd80e0010,
9580x48000000,
9590x00050026,
9600x00060035,
9610x7e439378,
9620x3a10fffc,
9630x00000000,
9640x7e84a378,
9650x00000000,
9660x7c8ea214,
9670x00000000,
9680x92010020,
9690x00000000,
9700x7d856378,
9710x00000000,
9720x7cae6214,
9730x00000000,
9740x91d20000,
9750x00098200,
9760x54e6063e,
9770x48000001,
9780x00030003,
9790x0006000d,
9800x28030001,
9810x41810000,
9820x00050836,
9830x20630000,
9840x0006000e,
9850x80f00000,
9860x3a100004,
9870x54e993ba,
9880x3d290000,
9890x00098200,
9900x7d291838,
9910x7e104a14,
9920x0006002c,
9930x80f00000,
9940x3a100004,
9950x54e815ba,
9960x7c11402e,
9970x7c0903a6,
9980x54ea5d78,
9990x54ec9b78,
10000x54f4dd78,
10010x54eb9d78,
10020x4e800420,
10030x00060037,
10040x80f0fffc,
10050xc8140000,
10060x54e8dd78,
10070x7c0e45ae,
10080x48000000,
10090x0005002c,
10100x00060038,
10110x80140000,
10120x20000000,
10130x00098200,
10140x7c631910,
10150x7c6318f8,
10160x48000000,
10170x0005000e,
10180x00060039,
10190x80140000,
10200x20000000,
10210x00098200,
10220x7c631910,
10230x48000000,
10240x0005000e,
10250x0006003a,
10260x3a10fffc,
10270x91d20000,
10280x00098200,
10290x7e439378,
10300x92010020,
10310x48000001,
10320x00030004,
10330x48000000,
10340x0005000d,
10350x0006003b,
10360x00000000,
10370x7ce43b78,
10380x3a10fffc,
10390x91d20000,
10400x00098200,
10410x7e439378,
10420x92010020,
10430x48000001,
10440x00030005,
10450x48000000,
10460x0005000d,
10470x00000000,
10480x0006003c,
10490x7caf5a14,
10500x7cce5214,
10510x48000000,
10520x00050001,
10530x0006003d,
10540x00000000,
10550x7d655b78,
10560x7d465378,
10570x48000000,
10580x00050001,
10590x00000000,
10600x0006003e,
10610x7d856378,
10620x7d866378,
10630x48000000,
10640x00050001,
10650x0006003f,
10660x7cae5214,
10670x7ccf5a14,
10680x48000000,
10690x00050001,
10700x00060040,
10710x7cae5214,
10720x7cce5a14,
10730x00000000,
10740x48000000,
10750x00050001,
10760x00000000,
10770x00060041,
10780x00060042,
10790x00000000,
10800x7d455378,
10810x7d665b78,
10820x00000000,
10830x0006000b,
10840x7c8ea214,
10850x91d20000,
10860x00098200,
10870x7e439378,
10880x92010020,
10890x54e7063e,
10900x48000001,
10910x00030006,
10920x28030000,
10930x41820000,
10940x0005082c,
10950x00060036,
10960x7d0e1850,
10970x9203fff0,
10980x7dc97378,
10990x3a080000,
11000x00098200,
11010x7c6e1b78,
11020x39600010,
11030x48000000,
11040x00050024,
11050x00060043,
11060x00000000,
11070x7c751b78,
11080x00000000,
11090x7d846378,
11100x91d20000,
11110x00098200,
11120x7e439378,
11130x92010020,
11140x48000001,
11150x00030007,
11160x00000000,
11170x28030000,
11180x40820000,
11190x00050836,
11200x7ea3ab78,
11210x48000000,
11220x00050044,
11230x00000000,
11240x48000000,
11250x00050036,
11260x00000000,
11270x00060025,
11280x7e439378,
11290x91320000,
11300x00098200,
11310x388efff8,
11320x92010020,
11330x7cae5a14,
11340x7d755b78,
11350x48000001,
11360x00030008,
11370x814efffc,
11380x39750008,
11390x920efff8,
11400x820a0000,
11410x00098200,
11420x80f00000,
11430x3a100004,
11440x54e815ba,
11450x54f4dd78,
11460x7c11402e,
11470x7e947214,
11480x7c0903a6,
11490x4e800420,
11500x00060045,
11510x7e439378,
11520x91d20000,
11530x00098200,
11540x3894fff8,
11550x92010020,
11560x7cb45a14,
11570x7d755b78,
11580x48000001,
11590x00030008,
11600x810efff8,
11610x39750008,
11620x8154fffc,
11630x48000000,
11640x00050046,
11650x00060047,
11660x7e439378,
11670x91d20000,
11680x00098200,
11690x7e84a378,
11700x92010020,
11710x7cf53b78,
11720x48000001,
11730x00030009,
11740x00000000,
11750x56a0063e,
11760x00000000,
11770x56b4dd78,
11780x00000000,
11790x2c000000,
11800x00098200,
11810x00000000,
11820x56ac9b78,
11830x00000000,
11840x41a20000,
11850x00070800,
11860x00000000,
11870x48000000,
11880x00070000,
11890x00060048,
11900x280b0008,
11910x80ae0000,
11920x806e0004,
11930x41800000,
11940x00050849,
11950x39000000,
11960x00098200,
11970x3a8efff8,
11980x7c854040,
11990x820efff8,
12000x40840000,
12010x00050849,
12020x90b40000,
12030x398b0008,
12040x90740004,
12050x41820000,
12060x0005084a,
12070x39000008,
12080x396bfff8,
12090x0006000b,
12100x7c085840,
12110x7c0e44ae,
12120x7c1445ae,
12130x39080008,
12140x40a20000,
12150x0005080b,
12160x48000000,
12170x0005004a,
12180x0006004b,
12190x280b0008,
12200x806e0000,
12210x41800000,
12220x00050849,
12230x7c161810,
12240x7d231910,
12250x7d280338,
12260x39080000,
12270x00098200,
12280x55081800,
12290x000900a1,
12300x392a0000,
12310x00098200,
12320x7c2944ae,
12330x48000000,
12340x0005004c,
12350x0006004d,
12360x280b0008,
12370x80ae0000,
12380x806e0004,
12390x41800000,
12400x00050849,
12410x2c050000,
12420x00098200,
12430x40820000,
12440x00050806,
12450x0006000b,
12460x80630000,
12470x00098200,
12480x0006000c,
12490x00000000,
12500x38a00000,
12510x00098200,
12520x28030000,
12530x81710000,
12540x00098200,
12550x41820000,
12560x0005084e,
12570x80030000,
12580x00098200,
12590x38a00000,
12600x00098200,
12610x810b0000,
12620x00098200,
12630x81230000,
12640x00098200,
12650x7d080038,
12660x55002800,
12670x000900a1,
12680x55081800,
12690x000900a1,
12700x7d080050,
12710x7d294214,
12720x0006000d,
12730x80c90000,
12740x00098200,
12750x80090000,
12760x00098200,
12770x80890000,
12780x00098200,
12790x81090000,
12800x00098200,
12810x2c060000,
12820x00098200,
12830x40820000,
12840x00050804,
12850x7c005800,
12860x41820000,
12870x00050805,
12880x0006000e,
12890x81290000,
12900x00098200,
12910x28090000,
12920x41820000,
12930x0005084e,
12940x48000000,
12950x0005000d,
12960x0006000f,
12970x00000000,
12980x2c040000,
12990x00098200,
13000x41820000,
13010x0005084e,
13020x7c852378,
13030x7d034378,
13040x48000000,
13050x0005004e,
13060x00060010,
13070x2c050000,
13080x00098200,
13090x41820000,
13100x0005080b,
13110x7c162810,
13120x7d252910,
13130x7d280338,
13140x39080000,
13150x00098200,
13160x55081000,
13170x000900a1,
13180x39310000,
13190x00098200,
13200x7c69402e,
13210x48000000,
13220x0005000c,
13230x0006004f,
13240x280b0010,
13250x80ae0000,
13260x80ce0008,
13270x806e0004,
13280x808e000c,
13290x41800000,
13300x00050849,
13310x2c050000,
13320x00098200,
13330x40820000,
13340x00050849,
13350x81030000,
13360x00098200,
13370x2c060000,
13380x00098200,
13390x40820000,
13400x00050849,
13410x28080000,
13420x88c30000,
13430x00098200,
13440x40820000,
13450x00050849,
13460x70c00000,
13470x00090200,
13480x90830000,
13490x00098200,
13500x41820000,
13510x0005084e,
13520x00000000,
13530x80110000,
13540x00098200,
13550x54c607b8,
13560x90710000,
13570x00098200,
13580x98c30000,
13590x00098200,
13600x90030000,
13610x00098200,
13620x48000000,
13630x0005004e,
13640x00060050,
13650x280b0010,
13660x80ce0000,
13670x808e0004,
13680x41800000,
13690x00050849,
13700x2c060000,
13710x00098200,
13720x40820000,
13730x00050849,
13740x38ae0008,
13750x7e439378,
13760x48000001,
13770x0003000a,
13780xc8230000,
13790x48000000,
13800x0005004c,
13810x00060051,
13820x280b0008,
13830x806e0000,
13840xc82e0000,
13850x40820000,
13860x00050849,
13870x7c03b040,
13880x41810000,
13890x00050849,
13900x48000000,
13910x0005004c,
13920x00060052,
13930x280b0008,
13940x80ae0000,
13950x806e0004,
13960x41800000,
13970x00050849,
13980x2c050000,
13990x00098200,
14000x41820000,
14010x0005084e,
14020x80110000,
14030x00098200,
14040x7c05b040,
14050x28800000,
14060x91d20000,
14070x00098200,
14080x4c413342,
14090x92010020,
14100x41820000,
14110x00050849,
14120x00000000,
14130x80110000,
14140x00098200,
14150x81110000,
14160x00098200,
14170x7c004040,
14180x40800001,
14190x00050853,
14200x7e439378,
14210x7dc47378,
14220x00000000,
14230x48000001,
14240x0003000b,
14250x00000000,
14260x48000001,
14270x0003000c,
14280x00000000,
14290x38a00000,
14300x00098200,
14310x48000000,
14320x0005004e,
14330x00060054,
14340x280b0008,
14350x806e0000,
14360x808e0004,
14370x41800000,
14380x00050849,
14390x7eee592e,
14400x2c030000,
14410x00098200,
14420x820efff8,
14430x40820000,
14440x00050849,
14450x91d20000,
14460x00098200,
14470x7e439378,
14480x91d20000,
14490x00098200,
14500x38ae0008,
14510x92010020,
14520x48000001,
14530x0003000d,
14540x28030000,
14550x38a00000,
14560x00098200,
14570x41820000,
14580x0005084e,
14590xc80e0008,
14600x3a8efff8,
14610xc82e0010,
14620xd8140000,
14630x39800000,
14640x00098200,
14650xd8340008,
14660x48000000,
14670x0005004a,
14680x00060055,
14690x280b0008,
14700x80ae0000,
14710x806e0004,
14720x41800000,
14730x00050849,
14740x2c050000,
14750x00098200,
14760x820efff8,
14770x40820000,
14780x00050849,
14790x00000000,
14800x81230000,
14810x00098200,
14820xc80a0000,
14830x00098200,
14840x28090000,
14850x3a8efff8,
14860x40820000,
14870x00050849,
14880x00000000,
14890xc80a0000,
14900x00098200,
14910x3a8efff8,
14920x00000000,
14930x92ee0008,
14940x39800000,
14950x00098200,
14960xd8140000,
14970x48000000,
14980x0005004a,
14990x00060056,
15000x280b0010,
15010x80ae0000,
15020x806e0004,
15030x80ce0008,
15040x00000000,
15050x812e000c,
15060x00000000,
15070xc84e0008,
15080x00000000,
15090x41800000,
15100x00050849,
15110x2c050000,
15120x00098200,
15130x7c86b040,
15140x820efff8,
15150x00000000,
15160x40820000,
15170x00050849,
15180x40860000,
15190x00050849,
15200x00000000,
15210x3c003ff0,
15220x93010014,
15230x40820000,
15240x00050849,
15250x90010010,
15260x40840000,
15270x00050849,
15280xc8210010,
15290xfc00101e,
15300xd8010010,
15310x81210014,
15320x00000000,
15330x80030000,
15340x00098200,
15350x81030000,
15360x00098200,
15370x00000000,
15380xfc42082a,
15390x00000000,
15400x39290001,
15410x3a8efff8,
15420x7c004840,
15430x00000000,
15440x92d40000,
15450x55261800,
15460x000900a1,
15470x91340004,
15480x00000000,
15490x55261800,
15500x000900a1,
15510xd8540000,
15520x00000000,
15530x40810000,
15540x00050802,
15550x7d28302e,
15560x7c0834ae,
15570x0006000b,
15580x2c090000,
15590x00098200,
15600x39800000,
15610x00098200,
15620x41820000,
15630x0005084a,
15640x39800000,
15650x00098200,
15660xd8140008,
15670x48000000,
15680x0005004a,
15690x0006000c,
15700x80030000,
15710x00098200,
15720x28000000,
15730x39800000,
15740x00098200,
15750x41820000,
15760x0005084a,
15770x7d244b78,
15780x48000001,
15790x0003000e,
15800x28030000,
15810x39800000,
15820x00098200,
15830x41820000,
15840x0005084a,
15850x81230000,
15860xc8030000,
15870x48000000,
15880x0005000b,
15890x00060057,
15900x280b0008,
15910x80ae0000,
15920x806e0004,
15930x41800000,
15940x00050849,
15950x2c050000,
15960x00098200,
15970x820efff8,
15980x40820000,
15990x00050849,
16000x00000000,
16010x81230000,
16020x00098200,
16030xc80a0000,
16040x00098200,
16050x28090000,
16060x3a8efff8,
16070x40820000,
16080x00050849,
16090x00000000,
16100xc80a0000,
16110x00098200,
16120x3a8efff8,
16130x00000000,
16140x92ce0008,
16150x00000000,
16160x930e0008,
16170x00000000,
16180x930e000c,
16190x39800000,
16200x00098200,
16210xd8140000,
16220x48000000,
16230x0005004a,
16240x00060058,
16250x280b0008,
16260x88d10000,
16270x00098200,
16280x41800000,
16290x00050849,
16300x7dc97378,
16310x39ce0008,
16320x54c607fe,
16330x000900ab,
16340x396bfff8,
16350x3a060000,
16360x00098200,
16370x48000000,
16380x00050024,
16390x00060059,
16400x280b0010,
16410x80ce0008,
16420xc84e0008,
16430xc82e0000,
16440x41800000,
16450x00050849,
16460x89110000,
16470x00098200,
16480x7dc97378,
16490x2c060000,
16500x00098200,
16510x40820000,
16520x00050849,
16530x39ce0010,
16540x550807fe,
16550x000900ab,
16560xd8490000,
16570x396bfff0,
16580xd8290008,
16590x3a080000,
16600x00098200,
16610x48000000,
16620x00050024,
16630x0006005a,
16640x280b0008,
16650x80ae0000,
16660x806e0004,
16670x41800000,
16680x00050849,
16690x2c050000,
16700x00098200,
16710x40820000,
16720x00050849,
16730x88030000,
16740x00098200,
16750x81030000,
16760x00098200,
16770x00000000,
16780x80830000,
16790x00098200,
16800x28000000,
16810x00090200,
16820x81230000,
16830x00098200,
16840x28880000,
16850x80030000,
16860x00098200,
16870x7f844840,
16880x820efff8,
16890x4f013342,
16900x7d245a14,
16910x4f3e1102,
16920x7c890040,
16930x4f18cb82,
16940x92010020,
16950x4f182b82,
16960x91d20000,
16970x00098200,
16980x41980000,
16990x00050849,
17000x0006000b,
17010x39ce0008,
17020x396bfff8,
17030x3929fff8,
17040x91230000,
17050x00098200,
17060x39000000,
17070x91d20000,
17080x00098200,
17090x0006000c,
17100x7c085800,
17110x7c0e44ae,
17120x41820000,
17130x00050803,
17140x7c0445ae,
17150x39080008,
17160x48000000,
17170x0005000c,
17180x0006000d,
17190x38a00000,
17200x7c751b78,
17210x38c00000,
17220x48000001,
17230x00050021,
17240x0006000e,
17250x81350000,
17260x00098200,
17270x28030000,
17280x00090200,
17290x80d50000,
17300x00098200,
17310x38000000,
17320x00098200,
17330x81d20000,
17340x00098200,
17350x90110000,
17360x00098200,
17370x41810000,
17380x00050808,
17390x00000000,
17400x7d893050,
17410x80120000,
17420x00098200,
17430x280c0000,
17440x7d0e6214,
17450x41820000,
17460x00050806,
17470x7c080040,
17480x39000000,
17490x41810000,
17500x00050809,
17510x38ccfff8,
17520x91350000,
17530x00098200,
17540x0006000f,
17550x7c083040,
17560x7c0944ae,
17570x7c0e45ae,
17580x39080008,
17590x40820000,
17600x0005080f,
17610x00060010,
17620x72000000,
17630x00090200,
17640x39000000,
17650x00098200,
17660x3a8efff8,
17670x910efff8,
17680x398c0010,
17690x00060011,
17700x92010020,
17710x7d936378,
17720x41820000,
17730x00050817,
17740x48000000,
17750x00050018,
17760x00060012,
17770x72000000,
17780x00090200,
17790x38c6fff8,
17800x39000000,
17810x00098200,
17820xc8060000,
17830x90d50000,
17840x00098200,
17850x39800000,
17860x00098200,
17870x910efff8,
17880x3a8efff8,
17890xd80e0000,
17900x48000000,
17910x00050011,
17920x00060013,
17930x7e439378,
17940x558400fe,
17950x000900ab,
17960x48000001,
17970x00030000,
17980x38600000,
17990x48000000,
18000x0005000e,
18010x0006005b,
18020x00000000,
18030x806a0000,
18040x00098200,
18050x88030000,
18060x00098200,
18070x81030000,
18080x00098200,
18090x80830000,
18100x00098200,
18110x28000000,
18120x00090200,
18130x81230000,
18140x00098200,
18150x28880000,
18160x80030000,
18170x00098200,
18180x7f844840,
18190x820efff8,
18200x4f013342,
18210x7d245a14,
18220x4f3e1102,
18230x7c890040,
18240x4f18cb82,
18250x92010020,
18260x4f182b82,
18270x91d20000,
18280x00098200,
18290x41980000,
18300x00050849,
18310x0006000b,
18320x91230000,
18330x00098200,
18340x39000000,
18350x91d20000,
18360x00098200,
18370x0006000c,
18380x7c085800,
18390x7c0e44ae,
18400x41820000,
18410x00050803,
18420x7c0445ae,
18430x39080008,
18440x48000000,
18450x0005000c,
18460x0006000d,
18470x38a00000,
18480x7c751b78,
18490x38c00000,
18500x48000001,
18510x00050021,
18520x0006000e,
18530x81350000,
18540x00098200,
18550x28030000,
18560x00090200,
18570x80d50000,
18580x00098200,
18590x38000000,
18600x00098200,
18610x00000000,
18620x81d20000,
18630x00098200,
18640x90110000,
18650x00098200,
18660x41810000,
18670x00050808,
18680x7d893050,
18690x80120000,
18700x00098200,
18710x280c0000,
18720x7d0e6214,
18730x41820000,
18740x00050806,
18750x7c080040,
18760x39000000,
18770x41810000,
18780x00050809,
18790x38ccfff8,
18800x91350000,
18810x00098200,
18820x0006000f,
18830x7c083040,
18840x7c0944ae,
18850x7c0e45ae,
18860x39080008,
18870x40820000,
18880x0005080f,
18890x00060010,
18900x72000000,
18910x00090200,
18920x7dd47378,
18930x398c0008,
18940x00060011,
18950x92010020,
18960x7d936378,
18970x41820000,
18980x00050817,
18990x48000000,
19000x00050018,
19010x00060012,
19020x7e439378,
19030x7ea4ab78,
19040x48000001,
19050x0003000f,
19060x00060013,
19070x7e439378,
19080x558400fe,
19090x000900ab,
19100x48000001,
19110x00030000,
19120x38600000,
19130x48000000,
19140x0005000e,
19150x0006005c,
19160x80120000,
19170x00098200,
19180x00000000,
19190x7d0e5a14,
19200x91d20000,
19210x00098200,
19220x70000000,
19230x00090200,
19240x91120000,
19250x00098200,
19260x38600000,
19270x00098200,
19280x41820000,
19290x00050849,
19300x93120000,
19310x00098200,
19320x98720000,
19330x00098200,
19340x48000000,
19350x0005001a,
19360x0006005d,
19370x280b0008,
19380x80ae0000,
19390x806e0004,
19400x41800000,
19410x00050849,
19420x7c05b040,
19430x00000000,
19440x40820000,
19450x00050802,
19460x7c68fe70,
19470x7d091a78,
19480x7c684851,
19490x41800000,
19500x00050801,
19510x0006005e,
19520x820efff8,
19530x3a8efff8,
19540x92cefff8,
19550x906efffc,
19560x48000000,
19570x0005005f,
19580x0006000b,
19590x3ca041e0,
19600x38600000,
19610x48000000,
19620x0005004e,
19630x0006000c,
19640x00000000,
19650x40800000,
19660x00050849,
19670x54a5007e,
19680x0006004e,
19690x820efff8,
19700x90aefff8,
19710x3a8efff8,
19720x906efffc,
19730x0006005f,
19740x39800000,
19750x00098200,
19760x0006004a,
19770x72000000,
19780x00090200,
19790x7d936378,
19800x40a20000,
19810x00050818,
19820x80f0fffc,
19830x54ea5d78,
19840x0006000f,
19850x7c0a6040,
19860x54e0dd78,
19870x41810000,
19880x00050806,
19890x80f00000,
19900x3a100004,
19910x7dc0a050,
19920x54e815ba,
19930x7c11402e,
19940x7c0903a6,
19950x54ea5d78,
19960x54ec9b78,
19970x54f4dd78,
19980x54eb9d78,
19990x4e800420,
20000x00060010,
20010x390cfff8,
20020x398c0008,
20030x7ef4412e,
20040x48000000,
20050x0005000f,
20060x00000000,
20070x00060060,
20080x280b0008,
20090x80ae0000,
20100x806e0004,
20110x41800000,
20120x00050849,
20130x7c05b040,
20140x41a20000,
20150x0005084e,
20160x54a9657e,
20170x40800000,
20180x00050849,
20190x3529fc01,
20200x2889001f,
20210x2009001f,
20220x41800000,
20230x00050803,
20240x54a85800,
20250x000900a1,
20260x5466057e,
20270x000900ab,
20280x65088000,
20290x39290001,
20300x7d083378,
20310x54645800,
20320x000900a1,
20330x40840000,
20340x00050804,
20350x7d064830,
20360x7d030430,
20370x7cc62378,
20380x7ca9fe70,
20390x7cc84838,
20400x3008ffff,
20410x7d004110,
20420x7c634214,
20430x7c634a78,
20440x7c691850,
20450x48000000,
20460x0005005e,
20470x0006000d,
20480x7d252a14,
20490x7ca8fe70,
20500x7c694b78,
20510x7d284038,
20520x21280000,
20530x7c631910,
20540x48000000,
20550x0005005e,
20560x0006000e,
20570x6d088000,
20580x7ca9fe70,
20590x7d082378,
20600x7d084b39,
20610x4c423202,
20620x3c608000,
20630x41a20000,
20640x0005085e,
20650x0006000f,
20660xc82e0000,
20670x48000001,
20680x00030010,
20690x48000000,
20700x0005004c,
20710x00060061,
20720x280b0008,
20730x80ae0000,
20740x806e0004,
20750x41800000,
20760x00050849,
20770x7c05b040,
20780x41a20000,
20790x0005084e,
20800x54a9657e,
20810x40800000,
20820x00050849,
20830x3529fc01,
20840x2889001f,
20850x2009001f,
20860x41800000,
20870x00050803,
20880x00000000,
20890x54a85800,
20900x000900a1,
20910x5466057e,
20920x000900ab,
20930x65088000,
20940x39290001,
20950x7d083378,
20960x54645800,
20970x000900a1,
20980x40840000,
20990x00050804,
21000x7d064830,
21010x7d030430,
21020x7cc62378,
21030x7ca9fe70,
21040x7cc84878,
21050x3008ffff,
21060x7d004110,
21070x7c634615,
21080x7c634a78,
21090x7c691850,
21100x40830000,
21110x0005085e,
21120x7c000400,
21130x40a10000,
21140x0005085e,
21150x3ca041e0,
21160x38600000,
21170x48000000,
21180x0005004e,
21190x0006000d,
21200x7d252a14,
21210x7ca8fe70,
21220x7c694b78,
21230x7d284078,
21240x3128ffff,
21250x7c694110,
21260x48000000,
21270x0005005e,
21280x0006000e,
21290x6d088000,
21300x7ca9fe70,
21310x7d084b39,
21320x4c423202,
21330x3c608000,
21340x41a20000,
21350x0005085e,
21360x0006000f,
21370xc82e0000,
21380x48000001,
21390x00030011,
21400x48000000,
21410x0005004c,
21420x00000000,
21430x00060060,
21440x280b0008,
21450x80ae0000,
21460xc82e0000,
21470x41800000,
21480x00050849,
21490x7c05b040,
21500x40800000,
21510x00050849,
21520x48000001,
21530x00030010,
21540x48000000,
21550x0005004c,
21560x00060061,
21570x280b0008,
21580x80ae0000,
21590xc82e0000,
21600x41800000,
21610x00050849,
21620x7c05b040,
21630x40800000,
21640x00050849,
21650x48000001,
21660x00030011,
21670x48000000,
21680x0005004c,
21690x00000000,
21700x00060062,
21710x280b0008,
21720x80ae0000,
21730xc82e0000,
21740x41800000,
21750x00050849,
21760x7c05b040,
21770x40800000,
21780x00050849,
21790x48000001,
21800x00030012,
21810x48000000,
21820x0005004c,
21830x00060063,
21840x280b0008,
21850x80ae0000,
21860xc82e0000,
21870x41800000,
21880x00050849,
21890x7c05b040,
21900x40800000,
21910x00050849,
21920x48000001,
21930x00030013,
21940x48000000,
21950x0005004c,
21960x00060064,
21970x280b0008,
21980x80ae0000,
21990xc82e0000,
22000x41800000,
22010x00050849,
22020x7c05b040,
22030x40800000,
22040x00050849,
22050x48000001,
22060x00030014,
22070x48000000,
22080x0005004c,
22090x00060065,
22100x280b0008,
22110x80ae0000,
22120xc82e0000,
22130x41800000,
22140x00050849,
22150x7c05b040,
22160x40800000,
22170x00050849,
22180x48000001,
22190x00030015,
22200x48000000,
22210x0005004c,
22220x00060066,
22230x280b0008,
22240x80ae0000,
22250xc82e0000,
22260x41800000,
22270x00050849,
22280x00000000,
22290x7c05b040,
22300x40800000,
22310x00050849,
22320x48000001,
22330x00030016,
22340x48000000,
22350x0005004c,
22360x00060067,
22370x280b0008,
22380x80ae0000,
22390xc82e0000,
22400x41800000,
22410x00050849,
22420x7c05b040,
22430x40800000,
22440x00050849,
22450x48000001,
22460x00030017,
22470x48000000,
22480x0005004c,
22490x00060068,
22500x280b0008,
22510x80ae0000,
22520xc82e0000,
22530x41800000,
22540x00050849,
22550x7c05b040,
22560x40800000,
22570x00050849,
22580x48000001,
22590x00030018,
22600x48000000,
22610x0005004c,
22620x00060069,
22630x280b0008,
22640x80ae0000,
22650xc82e0000,
22660x41800000,
22670x00050849,
22680x7c05b040,
22690x40800000,
22700x00050849,
22710x48000001,
22720x00030019,
22730x48000000,
22740x0005004c,
22750x0006006a,
22760x280b0008,
22770x80ae0000,
22780xc82e0000,
22790x41800000,
22800x00050849,
22810x7c05b040,
22820x40800000,
22830x00050849,
22840x48000001,
22850x0003001a,
22860x00000000,
22870x48000000,
22880x0005004c,
22890x0006006b,
22900x280b0008,
22910x80ae0000,
22920xc82e0000,
22930x41800000,
22940x00050849,
22950x7c05b040,
22960x40800000,
22970x00050849,
22980x48000001,
22990x0003001b,
23000x48000000,
23010x0005004c,
23020x0006006c,
23030x280b0008,
23040x80ae0000,
23050xc82e0000,
23060x41800000,
23070x00050849,
23080x7c05b040,
23090x40800000,
23100x00050849,
23110x48000001,
23120x0003001c,
23130x48000000,
23140x0005004c,
23150x0006006d,
23160x280b0008,
23170x80ae0000,
23180xc82e0000,
23190x41800000,
23200x00050849,
23210x7c05b040,
23220x40800000,
23230x00050849,
23240x48000001,
23250x0003001d,
23260x48000000,
23270x0005004c,
23280x0006006e,
23290x280b0008,
23300x80ae0000,
23310xc82e0000,
23320x41800000,
23330x00050849,
23340x7c05b040,
23350x40800000,
23360x00050849,
23370x48000001,
23380x0003001e,
23390x48000000,
23400x0005004c,
23410x0006006f,
23420x00000000,
23430x280b0010,
23440x80ae0000,
23450xc82e0000,
23460x80ce0008,
23470xc84e0008,
23480x41800000,
23490x00050849,
23500x7c05b040,
23510x40800000,
23520x00050849,
23530x7c06b040,
23540x40800000,
23550x00050849,
23560x48000001,
23570x0003001f,
23580x48000000,
23590x0005004c,
23600x00060070,
23610x280b0010,
23620x80ae0000,
23630xc82e0000,
23640x80ce0008,
23650xc84e0008,
23660x41800000,
23670x00050849,
23680x7c05b040,
23690x40800000,
23700x00050849,
23710x7c06b040,
23720x40800000,
23730x00050849,
23740x48000001,
23750x00030020,
23760x48000000,
23770x0005004c,
23780x00060071,
23790x280b0010,
23800x80ae0000,
23810xc82e0000,
23820x80ce0008,
23830xc84e0008,
23840x41800000,
23850x00050849,
23860x7c05b040,
23870x40800000,
23880x00050849,
23890x7c06b040,
23900x40800000,
23910x00050849,
23920x48000001,
23930x00030021,
23940x48000000,
23950x0005004c,
23960x00060072,
23970x00060073,
23980x280b0008,
23990x80ae0000,
24000xc82e0000,
24010x41800000,
24020x00050849,
24030x7c05b040,
24040x40800000,
24050x00050849,
24060xc84a0000,
24070x00098200,
24080x00000000,
24090xfc2100b2,
24100x48000000,
24110x0005004c,
24120x00000000,
24130x00060074,
24140x280b0010,
24150x80ae0000,
24160xc82e0000,
24170x80ce0008,
24180x806e000c,
24190x41800000,
24200x00050849,
24210x7c05b040,
24220x40800000,
24230x00050849,
24240x7c06b040,
24250x40820000,
24260x00050849,
24270x00000000,
24280x00060074,
24290x280b0010,
24300x80ae0000,
24310xc82e0000,
24320x80ce0008,
24330xc84e0008,
24340x41800000,
24350x00050849,
24360x7c05b040,
24370x40800000,
24380x00050849,
24390x7c06b040,
24400x40800000,
24410x00050849,
24420xfc40101e,
24430xd8410010,
24440x80610014,
24450x00000000,
24460x48000001,
24470x00030022,
24480x48000000,
24490x0005004c,
24500x00060075,
24510x280b0008,
24520x80ae0000,
24530xc82e0000,
24540x41800000,
24550x00050849,
24560x7c05b040,
24570x40800000,
24580x00050849,
24590x38710000,
24600x00098200,
24610x820efff8,
24620x48000001,
24630x00030023,
24640x81110000,
24650x00098200,
24660x3a8efff8,
24670x00000000,
24680x6d088000,
24690x9101000c,
24700xc8410008,
24710xfc42f828,
24720x00000000,
24730xd8340000,
24740x39800000,
24750x00098200,
24760x00000000,
24770x92d40008,
24780x9114000c,
24790x00000000,
24800xd8540008,
24810x00000000,
24820x48000000,
24830x0005004a,
24840x00060076,
24850x280b0008,
24860x80ae0000,
24870xc82e0000,
24880x41800000,
24890x00050849,
24900x7c05b040,
24910x40800000,
24920x00050849,
24930x386efff8,
24940x820efff8,
24950x48000001,
24960x00030024,
24970x3a8efff8,
24980xd82e0000,
24990x39800000,
25000x00098200,
25010x48000000,
25020x0005004a,
25030x00000000,
25040x00060077,
25050x280b0008,
25060x80ae0000,
25070x806e0004,
25080x41800000,
25090x00050849,
25100x7c05b040,
25110x390e0008,
25120x7d2e5a14,
25130x40820000,
25140x00050804,
25150x0006000b,
25160x80c80000,
25170x7c884840,
25180x80880004,
25190x40840000,
25200x0005085e,
25210x7c06b040,
25220x6c608000,
25230x6c868000,
25240x40820000,
25250x00050803,
25260x7cc60010,
25270x7c000110,
25280x7cc60038,
25290x7c662214,
25300x39080008,
25310x48000000,
25320x0005000b,
25330x0006000d,
25340x40800000,
25350x00050849,
25360x6c638000,
25370x9061000c,
25380xc8210008,
25390xfc21f828,
25400xc8480000,
25410x48000000,
25420x00050006,
25430x0006000e,
25440xc82e0000,
25450x40800000,
25460x00050849,
25470x0006000f,
25480x80c80000,
25490x7c884840,
25500xc8480000,
25510x40840000,
25520x0005084c,
25530x7c06b040,
25540x40800000,
25550x00050807,
25560x00060010,
25570xfc011028,
25580x39080008,
25590xfc2008ae,
25600x48000000,
25610x0005000f,
25620x00060011,
25630x80880004,
25640x40820000,
25650x00050849,
25660x6c848000,
25670x9081000c,
25680xc8410008,
25690xfc42f828,
25700x48000000,
25710x00050010,
25720x00000000,
25730x00060077,
25740x280b0008,
25750x80ae0000,
25760xc82e0000,
25770x41800000,
25780x00050849,
25790x7c05b040,
25800x40800000,
25810x00050849,
25820x39000008,
25830x0006000b,
25840x7c8e402e,
25850x7c4e44ae,
25860x7c885840,
25870x7c04b040,
25880x40840000,
25890x0005084c,
25900x40800000,
25910x00050849,
25920xfc011028,
25930x39080008,
25940xfc2008ae,
25950x48000000,
25960x0005000b,
25970x00000000,
25980x00060078,
25990x280b0008,
26000x80ae0000,
26010x806e0004,
26020x41800000,
26030x00050849,
26040x7c05b040,
26050x390e0008,
26060x7d2e5a14,
26070x40820000,
26080x00050804,
26090x0006000b,
26100x80c80000,
26110x7c884840,
26120x80880004,
26130x40840000,
26140x0005085e,
26150x7c06b040,
26160x6c608000,
26170x6c868000,
26180x40820000,
26190x00050803,
26200x7cc60010,
26210x7c000110,
26220x7cc60078,
26230x7c662214,
26240x39080008,
26250x48000000,
26260x0005000b,
26270x0006000d,
26280x40800000,
26290x00050849,
26300x6c638000,
26310x9061000c,
26320xc8210008,
26330xfc21f828,
26340xc8480000,
26350x48000000,
26360x00050006,
26370x0006000e,
26380xc82e0000,
26390x40800000,
26400x00050849,
26410x0006000f,
26420x80c80000,
26430x7c884840,
26440xc8480000,
26450x40840000,
26460x0005084c,
26470x7c06b040,
26480x40800000,
26490x00050807,
26500x00060010,
26510xfc011028,
26520x39080008,
26530xfc20106e,
26540x48000000,
26550x0005000f,
26560x00060011,
26570x80880004,
26580x40820000,
26590x00050849,
26600x6c848000,
26610x9081000c,
26620xc8410008,
26630xfc42f828,
26640x48000000,
26650x00050010,
26660x00000000,
26670x00060078,
26680x280b0008,
26690x80ae0000,
26700xc82e0000,
26710x41800000,
26720x00050849,
26730x7c05b040,
26740x40800000,
26750x00050849,
26760x39000008,
26770x0006000b,
26780x7c8e402e,
26790x7c4e44ae,
26800x7c885840,
26810x7c04b040,
26820x40840000,
26830x0005084c,
26840x40800000,
26850x00050849,
26860xfc011028,
26870x39080008,
26880xfc20106e,
26890x48000000,
26900x0005000b,
26910x00000000,
26920x00060079,
26930x280b0008,
26940x80ae0000,
26950x806e0004,
26960x41800000,
26970x00050849,
26980x2c050000,
26990x00098200,
27000x40820000,
27010x00050849,
27020x80630000,
27030x00098200,
27040x48000000,
27050x0005005e,
27060x0006007a,
27070x280b0008,
27080x80ae0000,
27090x806e0004,
27100x40820000,
27110x00050849,
27120x2c050000,
27130x00098200,
27140x40820000,
27150x00050849,
27160x80030000,
27170x00098200,
27180x00000000,
27190x88630000,
27200x00098200,
27210x39800000,
27220x00098200,
27230x820efff8,
27240x28000000,
27250x3a8efff8,
27260x41a20000,
27270x0005084a,
27280x48000000,
27290x0005005e,
27300x00000000,
27310x89030000,
27320x00098200,
27330x30c0ffff,
27340x7d860110,
27350x9101000c,
27360x398c0001,
27370xc8010008,
27380x3a8efff8,
27390x820efff8,
27400xfc00f028,
27410x558c1800,
27420x000900a1,
27430xd8140000,
27440x48000000,
27450x0005004a,
27460x00000000,
27470x0006007b,
27480x80110000,
27490x00098200,
27500x81110000,
27510x00098200,
27520x7c004040,
27530x40800001,
27540x00050853,
27550x280b0008,
27560x80ae0000,
27570x00000000,
27580x800e0004,
27590x40820000,
27600x00050849,
27610x7c05b040,
27620x40820000,
27630x00050849,
27640x388e0007,
27650x00000000,
27660xc82e0000,
27670x40820000,
27680x00050849,
27690x7c05b040,
27700x40800000,
27710x00050849,
27720xfc20081e,
27730xd8210010,
27740x80010014,
27750x38810017,
27760x00000000,
27770x38a00001,
27780x280000ff,
27790x41810000,
27800x00050849,
27810x0006007c,
27820x7e439378,
27830x91d20000,
27840x00098200,
27850x92010020,
27860x48000001,
27870x00030025,
27880x81d20000,
27890x00098200,
27900x38a00000,
27910x00098200,
27920x48000000,
27930x0005004e,
27940x0006007d,
27950x80110000,
27960x00098200,
27970x81110000,
27980x00098200,
27990x7c004040,
28000x40800001,
28010x00050853,
28020x280b0010,
28030x80ae0010,
28040x00000000,
28050xc80e0010,
28060x00000000,
28070x800e0000,
28080x806e0004,
28090x41800000,
28100x00050849,
28110x808e0008,
28120x00000000,
28130x810e000c,
28140x00000000,
28150xc82e0008,
28160x00000000,
28170x3920ffff,
28180x41820000,
28190x00050801,
28200x00000000,
28210x7c05b040,
28220x812e0014,
28230x40820000,
28240x00050849,
28250x0006000b,
28260x7c04b040,
28270x40820000,
28280x00050849,
28290x00000000,
28300x7c05b040,
28310x40800000,
28320x00050849,
28330xfc00001e,
28340xd8010010,
28350x81210014,
28360x0006000b,
28370x7c04b040,
28380x40800000,
28390x00050849,
28400x00000000,
28410x2c000000,
28420x00098200,
28430x40820000,
28440x00050849,
28450x00000000,
28460xfc20081e,
28470xd8210010,
28480x81010014,
28490x00000000,
28500x80030000,
28510x00098200,
28520x7c004840,
28530x38c90001,
28540x41800000,
28550x00050805,
28560x0006000c,
28570x2c080000,
28580x7cc80214,
28590x40810000,
28600x00050807,
28610x0006000d,
28620x7ca84850,
28630x38830000,
28640x00098200,
28650x7ca0fe70,
28660x38a50001,
28670x7c844214,
28680x7ca50078,
28690x48000000,
28700x0005007c,
28710x0006000f,
28720x7c890050,
28730x7c84fe70,
28740x7cc62078,
28750x7d203214,
28760x48000000,
28770x0005000c,
28780x00060011,
28790x30a8ffff,
28800x7ca52910,
28810x7cc4fe70,
28820x7cc62878,
28830x7cc82078,
28840x39080001,
28850x48000000,
28860x0005000d,
28870x0006007e,
28880x80110000,
28890x00098200,
28900x81110000,
28910x00098200,
28920x7c004040,
28930x40800001,
28940x00050853,
28950x280b0010,
28960x800e0000,
28970x806e0004,
28980x80ce0008,
28990x00000000,
29000x80ae000c,
29010x00000000,
29020xc84e0008,
29030x00000000,
29040x41800000,
29050x00050849,
29060x2c000000,
29070x00098200,
29080x40820000,
29090x00050849,
29100x00000000,
29110x7c06b040,
29120x40820000,
29130x00050849,
29140x00000000,
29150x7c06b040,
29160x40800000,
29170x00050849,
29180xfc40101e,
29190xd8410010,
29200x80a10014,
29210x00000000,
29220x80030000,
29230x00098200,
29240x2c050000,
29250x81110000,
29260x00098200,
29270x40810000,
29280x00050802,
29290x28000001,
29300x3925ffff,
29310x41800000,
29320x00050802,
29330x7c882840,
29340x40820000,
29350x00050849,
29360x88030000,
29370x00098200,
29380x80910000,
29390x00098200,
29400x41840000,
29410x00050849,
29420x0006000b,
29430x28090000,
29440x7c0449ae,
29450x3929ffff,
29460x40820000,
29470x0005080b,
29480x48000000,
29490x0005007c,
29500x0006000c,
29510x38710000,
29520x00098200,
29530x38a00000,
29540x00098200,
29550x48000000,
29560x0005004e,
29570x0006007f,
29580x80110000,
29590x00098200,
29600x81110000,
29610x00098200,
29620x7c004040,
29630x40800001,
29640x00050853,
29650x280b0008,
29660x80ae0000,
29670x806e0004,
29680x41800000,
29690x00050849,
29700x2c050000,
29710x00098200,
29720x81110000,
29730x00098200,
29740x00000000,
29750x40820000,
29760x00050849,
29770x80a30000,
29780x00098200,
29790x38630000,
29800x00098200,
29810x80910000,
29820x00098200,
29830x39200000,
29840x7c082840,
29850x38c5ffff,
29860x41800000,
29870x00050849,
29880x0006000b,
29890x2c060000,
29900x7d0348ae,
29910x41a00000,
29920x0005087c,
29930x7d0431ae,
29940x38c6ffff,
29950x39290001,
29960x48000000,
29970x0005000b,
29980x00060080,
29990x80110000,
30000x00098200,
30010x81110000,
30020x00098200,
30030x7c004040,
30040x40800001,
30050x00050853,
30060x280b0008,
30070x80ae0000,
30080x806e0004,
30090x41800000,
30100x00050849,
30110x2c050000,
30120x00098200,
30130x81110000,
30140x00098200,
30150x40820000,
30160x00050849,
30170x80a30000,
30180x00098200,
30190x38630000,
30200x00098200,
30210x80910000,
30220x00098200,
30230x7c082840,
30240x39200000,
30250x41800000,
30260x00050849,
30270x0006000b,
30280x7c092840,
30290x7d0348ae,
30300x40a00000,
30310x0005087c,
30320x00000000,
30330x3808ffbf,
30340x69060020,
30350x3000ffe6,
30360x7cc63110,
30370x70c60020,
30380x7d083278,
30390x7d0449ae,
30400x39290001,
30410x48000000,
30420x0005000b,
30430x00060081,
30440x80110000,
30450x00098200,
30460x81110000,
30470x00098200,
30480x7c004040,
30490x40800001,
30500x00050853,
30510x280b0008,
30520x80ae0000,
30530x806e0004,
30540x41800000,
30550x00050849,
30560x2c050000,
30570x00098200,
30580x81110000,
30590x00098200,
30600x40820000,
30610x00050849,
30620x80a30000,
30630x00098200,
30640x38630000,
30650x00098200,
30660x80910000,
30670x00098200,
30680x7c082840,
30690x39200000,
30700x41800000,
30710x00050849,
30720x0006000b,
30730x7c092840,
30740x7d0348ae,
30750x40a00000,
30760x0005087c,
30770x3808ff9f,
30780x69060020,
30790x3000ffe6,
30800x7cc63110,
30810x70c60020,
30820x7d083278,
30830x7d0449ae,
30840x39290001,
30850x48000000,
30860x0005000b,
30870x00060082,
30880x280b0008,
30890x80ae0000,
30900x806e0004,
30910x41800000,
30920x00050849,
30930x2c050000,
30940x00098200,
30950x40820000,
30960x00050849,
30970x48000001,
30980x00030026,
30990x48000000,
31000x0005005e,
31010x00000000,
31020x00060083,
31030x280b0008,
31040x80ae0000,
31050x806e0004,
31060x41800000,
31070x00050849,
31080x7c05b040,
31090x40820001,
31100x00050884,
31110x00000000,
31120x00060083,
31130x280b0008,
31140x80ae0000,
31150xc82e0000,
31160x41800000,
31170x00050849,
31180x7c05b040,
31190x40800000,
31200x00050849,
31210xfc21f02a,
31220xd8210010,
31230x80610014,
31240x00000000,
31250x390e0008,
31260x7d2e5a14,
31270x0006000b,
31280x80c80000,
31290x7c884840,
31300x00000000,
31310x80880004,
31320x00000000,
31330xc8280000,
31340x00000000,
31350x40a40000,
31360x0005085e,
31370x7c06b040,
31380x00000000,
31390x40820001,
31400x00050885,
31410x00000000,
31420xfc21f02a,
31430x40800000,
31440x00050849,
31450xd8210010,
31460x80810014,
31470x00000000,
31480x7c632038,
31490x39080008,
31500x48000000,
31510x0005000b,
31520x00000000,
31530x00060086,
31540x280b0008,
31550x80ae0000,
31560x806e0004,
31570x41800000,
31580x00050849,
31590x7c05b040,
31600x40820001,
31610x00050884,
31620x00000000,
31630x00060086,
31640x280b0008,
31650x80ae0000,
31660xc82e0000,
31670x41800000,
31680x00050849,
31690x7c05b040,
31700x40800000,
31710x00050849,
31720xfc21f02a,
31730xd8210010,
31740x80610014,
31750x00000000,
31760x390e0008,
31770x7d2e5a14,
31780x0006000b,
31790x80c80000,
31800x7c884840,
31810x00000000,
31820x80880004,
31830x00000000,
31840xc8280000,
31850x00000000,
31860x40a40000,
31870x0005085e,
31880x7c06b040,
31890x00000000,
31900x40820001,
31910x00050885,
31920x00000000,
31930xfc21f02a,
31940x40800000,
31950x00050849,
31960xd8210010,
31970x80810014,
31980x00000000,
31990x7c632378,
32000x39080008,
32010x48000000,
32020x0005000b,
32030x00000000,
32040x00060087,
32050x280b0008,
32060x80ae0000,
32070x806e0004,
32080x41800000,
32090x00050849,
32100x7c05b040,
32110x40820001,
32120x00050884,
32130x00000000,
32140x00060087,
32150x280b0008,
32160x80ae0000,
32170xc82e0000,
32180x41800000,
32190x00050849,
32200x7c05b040,
32210x40800000,
32220x00050849,
32230xfc21f02a,
32240xd8210010,
32250x80610014,
32260x00000000,
32270x390e0008,
32280x7d2e5a14,
32290x0006000b,
32300x80c80000,
32310x7c884840,
32320x00000000,
32330x80880004,
32340x00000000,
32350xc8280000,
32360x00000000,
32370x40a40000,
32380x0005085e,
32390x7c06b040,
32400x00000000,
32410x40820001,
32420x00050885,
32430x00000000,
32440xfc21f02a,
32450x40800000,
32460x00050849,
32470xd8210010,
32480x80810014,
32490x00000000,
32500x7c632278,
32510x39080008,
32520x48000000,
32530x0005000b,
32540x00000000,
32550x00060088,
32560x280b0008,
32570x80ae0000,
32580x806e0004,
32590x41800000,
32600x00050849,
32610x7c05b040,
32620x40820001,
32630x00050884,
32640x00000000,
32650x00060088,
32660x280b0008,
32670x80ae0000,
32680xc82e0000,
32690x41800000,
32700x00050849,
32710x7c05b040,
32720x40800000,
32730x00050849,
32740xfc21f02a,
32750xd8210010,
32760x80610014,
32770x00000000,
32780x5460403e,
32790x5060c00e,
32800x5060c42e,
32810x7c030378,
32820x48000000,
32830x0005005e,
32840x00000000,
32850x00060089,
32860x280b0008,
32870x80ae0000,
32880x806e0004,
32890x41800000,
32900x00050849,
32910x7c05b040,
32920x40820001,
32930x00050884,
32940x00000000,
32950x00060089,
32960x280b0008,
32970x80ae0000,
32980xc82e0000,
32990x41800000,
33000x00050849,
33010x7c05b040,
33020x40800000,
33030x00050849,
33040xfc21f02a,
33050xd8210010,
33060x80610014,
33070x00000000,
33080x7c6318f8,
33090x48000000,
33100x0005005e,
33110x00000000,
33120x0006008a,
33130x280b0010,
33140x80ae0000,
33150x80ce0008,
33160x806e0004,
33170x808e000c,
33180x41800000,
33190x00050849,
33200x7c05b040,
33210x40820001,
33220x00050884,
33230x7c06b040,
33240x40820000,
33250x00050849,
33260x00000000,
33270x0006008a,
33280x280b0010,
33290x80ae0000,
33300xc82e0000,
33310x80ce0008,
33320xc84e0008,
33330x41800000,
33340x00050849,
33350x7c05b040,
33360x40800000,
33370x00050849,
33380x7c06b040,
33390x40800000,
33400x00050849,
33410xfc21f02a,
33420xfc42f02a,
33430xd8210010,
33440x80610014,
33450xd8410010,
33460x80810014,
33470x00000000,
33480x548406fe,
33490x7c632030,
33500x48000000,
33510x0005005e,
33520x00000000,
33530x0006008b,
33540x280b0010,
33550x80ae0000,
33560x80ce0008,
33570x806e0004,
33580x808e000c,
33590x41800000,
33600x00050849,
33610x7c05b040,
33620x40820001,
33630x00050884,
33640x7c06b040,
33650x40820000,
33660x00050849,
33670x00000000,
33680x0006008b,
33690x280b0010,
33700x80ae0000,
33710xc82e0000,
33720x80ce0008,
33730xc84e0008,
33740x41800000,
33750x00050849,
33760x7c05b040,
33770x40800000,
33780x00050849,
33790x7c06b040,
33800x40800000,
33810x00050849,
33820xfc21f02a,
33830xfc42f02a,
33840xd8210010,
33850x80610014,
33860xd8410010,
33870x80810014,
33880x00000000,
33890x548406fe,
33900x7c632430,
33910x48000000,
33920x0005005e,
33930x00000000,
33940x0006008c,
33950x280b0010,
33960x80ae0000,
33970x80ce0008,
33980x806e0004,
33990x808e000c,
34000x41800000,
34010x00050849,
34020x7c05b040,
34030x40820001,
34040x00050884,
34050x7c06b040,
34060x40820000,
34070x00050849,
34080x00000000,
34090x0006008c,
34100x280b0010,
34110x80ae0000,
34120xc82e0000,
34130x80ce0008,
34140xc84e0008,
34150x41800000,
34160x00050849,
34170x7c05b040,
34180x40800000,
34190x00050849,
34200x7c06b040,
34210x40800000,
34220x00050849,
34230xfc21f02a,
34240xfc42f02a,
34250xd8210010,
34260x80610014,
34270xd8410010,
34280x80810014,
34290x00000000,
34300x548406fe,
34310x7c632630,
34320x48000000,
34330x0005005e,
34340x00000000,
34350x0006008d,
34360x280b0010,
34370x80ae0000,
34380x80ce0008,
34390x806e0004,
34400x808e000c,
34410x41800000,
34420x00050849,
34430x7c05b040,
34440x40820001,
34450x00050884,
34460x7c06b040,
34470x40820000,
34480x00050849,
34490x00000000,
34500x0006008d,
34510x280b0010,
34520x80ae0000,
34530xc82e0000,
34540x80ce0008,
34550xc84e0008,
34560x41800000,
34570x00050849,
34580x7c05b040,
34590x40800000,
34600x00050849,
34610x7c06b040,
34620x40800000,
34630x00050849,
34640xfc21f02a,
34650xfc42f02a,
34660xd8210010,
34670x80610014,
34680xd8410010,
34690x80810014,
34700x00000000,
34710x5c63203e,
34720x48000000,
34730x0005005e,
34740x00000000,
34750x0006008e,
34760x280b0010,
34770x80ae0000,
34780x80ce0008,
34790x806e0004,
34800x808e000c,
34810x41800000,
34820x00050849,
34830x7c05b040,
34840x40820001,
34850x00050884,
34860x7c06b040,
34870x40820000,
34880x00050849,
34890x00000000,
34900x0006008e,
34910x280b0010,
34920x80ae0000,
34930xc82e0000,
34940x80ce0008,
34950xc84e0008,
34960x41800000,
34970x00050849,
34980x7c05b040,
34990x40800000,
35000x00050849,
35010x7c06b040,
35020x40800000,
35030x00050849,
35040xfc21f02a,
35050xfc42f02a,
35060xd8210010,
35070x80610014,
35080xd8410010,
35090x80810014,
35100x00000000,
35110x7c8400d0,
35120x5c63203e,
35130x48000000,
35140x0005005e,
35150x00000000,
35160x0006008f,
35170x280b0008,
35180x80ae0000,
35190x806e0004,
35200x41800000,
35210x00050849,
35220x7c05b040,
35230x40820001,
35240x00050884,
35250x00000000,
35260x0006008f,
35270x280b0008,
35280x80ae0000,
35290xc82e0000,
35300x41800000,
35310x00050849,
35320x7c05b040,
35330x40800000,
35340x00050849,
35350xfc21f02a,
35360xd8210010,
35370x80610014,
35380x00000000,
35390x48000000,
35400x0005005e,
35410x00000000,
35420x0006005e,
35430x6c638000,
35440x9061000c,
35450xc8210008,
35460xfc21f828,
35470x00000000,
35480x0006004c,
35490x820efff8,
35500x3a8efff8,
35510xd82efff8,
35520x48000000,
35530x0005005f,
35540x00060084,
35550x00000000,
35560xc82e0000,
35570x41810000,
35580x00050849,
35590xfc21f02a,
35600xd8210010,
35610x80610014,
35620x4e800020,
35630x00000000,
35640x00060085,
35650x00000000,
35660xc8280000,
35670x41810000,
35680x00050849,
35690xfc21f02a,
35700xd8210010,
35710x80810014,
35720x4e800020,
35730x00000000,
35740x00060049,
35750x80ca0000,
35760x00098200,
35770x7d0e5a14,
35780x820efff8,
35790x38080000,
35800x00098200,
35810x81320000,
35820x00098200,
35830x92010020,
35840x7c004840,
35850x91d20000,
35860x00098200,
35870x91120000,
35880x00098200,
35890x7e439378,
35900x41810000,
35910x00050805,
35920x7cc903a6,
35930x4e800421,
35940x81d20000,
35950x00098200,
35960x2c030000,
35970x546c1800,
35980x000900a1,
35990x3a8efff8,
36000x41810000,
36010x0005084a,
36020x0006000b,
36030x80120000,
36040x00098200,
36050x814efffc,
36060x7d6e0050,
36070x40820000,
36080x00050829,
36090x820a0000,
36100x00098200,
36110x80f00000,
36120x3a100004,
36130x54e815ba,
36140x54f4dd78,
36150x7c11402e,
36160x7e947214,
36170x7c0903a6,
36180x4e800420,
36190x00060029,
36200x72000000,
36210x00090200,
36220x56080038,
36230x40820000,
36240x00050803,
36250x80f0fffc,
36260x54e8dd78,
36270x39080008,
36280x0006000d,
36290x7d287050,
36300x48000000,
36310x00050024,
36320x0006000f,
36330x38800000,
36340x00098200,
36350x48000001,
36360x00030000,
36370x00000000,
36380x81d20000,
36390x00098200,
36400x7c000000,
36410x48000000,
36420x0005000b,
36430x00060053,
36440x7ea802a6,
36450x91d20000,
36460x00098200,
36470x7c0e5a14,
36480x92010020,
36490x90120000,
36500x00098200,
36510x7e439378,
36520x48000001,
36530x00030027,
36540x81d20000,
36550x00098200,
36560x7ea803a6,
36570x80120000,
36580x00098200,
36590x7d6e0050,
36600x814efffc,
36610x4e800020,
36620x00060090,
36630x00000000,
36640x88d10000,
36650x00098200,
36660x70c00000,
36670x00090200,
36680x40820000,
36690x00050805,
36700x81310000,
36710x00098200,
36720x70c00000,
36730x00090200,
36740x40820000,
36750x00050801,
36760x3929ffff,
36770x70c00000,
36780x00090200,
36790x41a20000,
36800x00050801,
36810x91310000,
36820x00098200,
36830x48000000,
36840x00050001,
36850x00000000,
36860x00060091,
36870x88d10000,
36880x00098200,
36890x70c00000,
36900x00090200,
36910x41820000,
36920x00050801,
36930x0006000f,
36940x39080000,
36950x00098200,
36960x7c11402e,
36970x7c0903a6,
36980x4e800420,
36990x00060092,
37000x88d10000,
37010x00098200,
37020x81310000,
37030x00098200,
37040x70c00000,
37050x00090200,
37060x54c007c0,
37070x000900ab,
37080x40820000,
37090x0005080f,
37100x2c800000,
37110x3529ffff,
37120x41860000,
37130x0005080f,
37140x91310000,
37150x00098200,
37160x41820000,
37170x00050801,
37180x40840000,
37190x0005080f,
37200x0006000b,
37210x7e439378,
37220x9261001c,
37230x7e048378,
37240x91d20000,
37250x00098200,
37260x48000001,
37270x00030028,
37280x0006000d,
37290x81d20000,
37300x00098200,
37310x0006000e,
37320x00000000,
37330x80f0fffc,
37340x54e815ba,
37350x54ea5d78,
37360x39080000,
37370x00098200,
37380x54ec9b78,
37390x7c11402e,
37400x54f4dd78,
37410x54eb9d78,
37420x7c0903a6,
37430x4e800420,
37440x00060093,
37450x3a100004,
37460x826affec,
37470x48000000,
37480x0005000e,
37490x00060094,
37500x00000000,
37510x810efffc,
37520x38710000,
37530x00098200,
37540x92010020,
37550x81080000,
37560x00098200,
37570x7e048378,
37580x92510000,
37590x00098200,
37600x89080000,
37610x00098200,
37620x91d20000,
37630x00098200,
37640x55081800,
37650x000900a1,
37660x7d0e4214,
37670x91120000,
37680x00098200,
37690x48000001,
37700x00030029,
37710x48000000,
37720x0005000d,
37730x00000000,
37740x00060095,
37750x7e048378,
37760x00000000,
37770x48000000,
37780x00050001,
37790x00000000,
37800x00060096,
37810x00000000,
37820x62040001,
37830x0006000b,
37840x00000000,
37850x7c0e5a14,
37860x92010020,
37870x7e439378,
37880x91d20000,
37890x00098200,
37900x7e8ea050,
37910x90120000,
37920x00098200,
37930x48000001,
37940x0003002a,
37950x81d20000,
37960x00098200,
37970x80120000,
37980x00098200,
37990x93010020,
38000x7d6e0050,
38010x7e8ea214,
38020x814efffc,
38030x80f0fffc,
38040x7c6903a6,
38050x4e800420,
38060x00060097,
38070x00000000,
38080x38210000,
38090x00098200,
38100xbc410000,
38110x00098200,
38120x3a3f0000,
38130x00098200,
38140x38800000,
38150x00098200,
38160x80610000,
38170x00098200,
38180x90910000,
38190x00098200,
38200xd8010000,
38210x00098200,
38220xd8210000,
38230x00098200,
38240xd8410000,
38250x00098200,
38260xd8610000,
38270x00098200,
38280x90610000,
38290x7c000400,
38300xd8810000,
38310x00098200,
38320xd8a10000,
38330x00098200,
38340xd8c10000,
38350x00098200,
38360xd8e10000,
38370x00098200,
38380x38810000,
38390x00098200,
38400xd9010000,
38410x00098200,
38420xd9210000,
38430x00098200,
38440xd9410000,
38450x00098200,
38460xd9610000,
38470x00098200,
38480x90810000,
38490x00098200,
38500xd9810000,
38510x00098200,
38520xd9a10000,
38530x00098200,
38540x00000000,
38550xd9c10000,
38560x00098200,
38570xd9e10000,
38580x00098200,
38590x7ca802a6,
38600x39000000,
38610xda010000,
38620x00098200,
38630xda210000,
38640x00098200,
38650xda410000,
38660x00098200,
38670xda610000,
38680x00098200,
38690x91010000,
38700x00098200,
38710xda810000,
38720x00098200,
38730xdaa10000,
38740x00098200,
38750xdac10000,
38760x00098200,
38770xdae10000,
38780x00098200,
38790xa0c50002,
38800xdb010000,
38810x00098200,
38820xdb210000,
38830x00098200,
38840xdb410000,
38850x00098200,
38860xdb610000,
38870x00098200,
38880x82510000,
38890x00098200,
38900xdb810000,
38910x00098200,
38920xdba10000,
38930x00098200,
38940xdbc10000,
38950x00098200,
38960xdbe10000,
38970x00098200,
38980x7ca50050,
38990x81d10000,
39000x00098200,
39010x54a500be,
39020x000900ab,
39030x00000000,
39040x92510000,
39050x00098200,
39060x38a5fffe,
39070x91110000,
39080x00098200,
39090x90d10000,
39100x00098200,
39110x91d20000,
39120x00098200,
39130x38710000,
39140x00098200,
39150x90b10000,
39160x00098200,
39170x38810010,
39180x48000001,
39190x0003002b,
39200x81120000,
39210x00098200,
39220x81210000,
39230x81d20000,
39240x00098200,
39250x5501003a,
39260x82010020,
39270x91210000,
39280x92410024,
39290x48000000,
39300x00050001,
39310x00000000,
39320x00060098,
39330x00000000,
39340x82410024,
39350x3a3f0000,
39360x00098200,
39370x0006000b,
39380x2c030000,
39390x41800000,
39400x00050803,
39410x810efffc,
39420x54731800,
39430x000900a1,
39440x39200000,
39450x9261001c,
39460x81080000,
39470x00098200,
39480x91310000,
39490x00098200,
39500x81e80000,
39510x00098200,
39520x3ac00000,
39530x00098200,
39540x3cc059c0,
39550x90c10010,
39560x3b000000,
39570x60c60004,
39580xc3c10010,
39590x90c10010,
39600x3c004338,
39610x3ae00000,
39620x00098200,
39630x90010008,
39640xc3e10010,
39650x80f00000,
39660x3a100004,
39670x92f10000,
39680x00098200,
39690x54e815ba,
39700x54f4dd78,
39710x7c11402e,
39720x7c0903a6,
39730x28080000,
39740x00090200,
39750x40800000,
39760x00050802,
39770x54ea5d78,
39780x54ec9b78,
39790x54eb9d78,
39800x4e800420,
39810x0006000c,
39820x3973fff8,
39830x7e947214,
39840x4e800420,
39850x0006000d,
39860x7c8300d0,
39870x7e439378,
39880x48000001,
39890x0003002c,
39900x00000000,
39910x00060099,
39920x48000000,
39930x00030010,
39940x0006009a,
39950x48000000,
39960x00030011,
39970x0006009b,
39980x00000000,
39990x48000000,
40000x0003002d,
40010x00000000,
40020x0006009c,
40030x7c0327d7,
40040x41830000,
40050x00050801,
40060x7c652279,
40070x7c0021d6,
40080x7c601850,
40090x4c800020,
40100x2c030000,
40110x4d820020,
40120x7c632214,
40130x4e800020,
40140x0006000b,
40150x2c040000,
40160x38600000,
40170x4d820020,
40180x7c000400,
40190x4e800020,
40200x0006009d,
40210x28030001,
40220x41820000,
40230x00050801,
40240x41810000,
40250x00050802,
40260xfc21102a,
40270x4e800020,
40280x0006000b,
40290xfc211028,
40300x4e800020,
40310x0006000c,
40320x28030003,
40330x41820000,
40340x00050801,
40350x41810000,
40360x00050802,
40370xfc2100b2,
40380x4e800020,
40390x0006000b,
40400xfc211024,
40410x4e800020,
40420x0006000c,
40430x28030005,
40440x41820000,
40450x00050801,
40460x41810000,
40470x00050802,
40480x9421ffe0,
40490xd9c10010,
40500xd9e10018,
40510x7c0802a6,
40520xfdc00890,
40530xfc211024,
40540x90010024,
40550xfde01090,
40560x48000001,
40570x00030010,
40580x80010024,
40590xfc2103f2,
40600x7c0803a6,
40610xfc2e0828,
40620xc9c10010,
40630xc9e10018,
40640x38210020,
40650x4e800020,
40660x0006000b,
40670x48000000,
40680x0003001f,
40690x0006000c,
40700x28030007,
40710x41820000,
40720x00050801,
40730x41810000,
40740x00050802,
40750xfc200850,
40760x4e800020,
40770x0006000b,
40780xfc200a10,
40790x4e800020,
40800x0006000c,
40810x00000000,
40820x28030009,
40830x41820000,
40840x00050809,
40850x41810000,
40860x00050802,
40870x48000000,
40880x00030020,
40890x0006000c,
40900x2803000b,
40910x41810000,
40920x00050809,
40930xfc011028,
40940x41820000,
40950x00050801,
40960xfc2008ae,
40970x4e800020,
40980x0006000b,
40990xfc20106e,
41000x4e800020,
41010x00060013,
41020x7c810808,
41030x00000000,
41040x7c810808,
41050x00000000,
41060x0006009e,
41070x54630034,
41080x7c832050,
41090x3884001f,
41100x5484d97f,
41110x4d820020,
41120x7c8903a6,
41130x7c651b78,
41140x0006000b,
41150x7c00186c,
41160x38630020,
41170x42000000,
41180x0005080b,
41190x7c0004ac,
41200x7c8903a6,
41210x0006000b,
41220x7c002fac,
41230x38a50020,
41240x42000000,
41250x0005080b,
41260x4c00012c,
41270x4e800020,
41280x0006009f,
41290x00000000,
41300x9421fef0,
41310x91c10000,
41320x00098200,
41330xd9c10000,
41340x00098200,
41350x91e10000,
41360x00098200,
41370xd9e10000,
41380x00098200,
41390x92010000,
41400x00098200,
41410xda010000,
41420x00098200,
41430x7c0802a6,
41440x92210000,
41450x00098200,
41460xda210000,
41470x00098200,
41480x92410000,
41490x00098200,
41500xda410000,
41510x00098200,
41520x92610000,
41530x00098200,
41540xda610000,
41550x00098200,
41560x92810000,
41570x00098200,
41580xda810000,
41590x00098200,
41600x92a10000,
41610x00098200,
41620xdaa10000,
41630x00098200,
41640x92c10000,
41650x00098200,
41660xdac10000,
41670x00098200,
41680x90010114,
41690x92e10000,
41700x00098200,
41710xdae10000,
41720x00098200,
41730x93010000,
41740x00098200,
41750xdb010000,
41760x00098200,
41770x00000000,
41780x93210000,
41790x00098200,
41800xdb210000,
41810x00098200,
41820x7c000026,
41830x93410000,
41840x00098200,
41850xdb410000,
41860x00098200,
41870x93610000,
41880x00098200,
41890xdb610000,
41900x00098200,
41910x93810000,
41920x00098200,
41930xdb810000,
41940x00098200,
41950x93a10000,
41960x00098200,
41970xdba10000,
41980x00098200,
41990x93c10000,
42000x00098200,
42010xdbc10000,
42020x00098200,
42030x93e10000,
42040x00098200,
42050xdbe10000,
42060x00098200,
42070x90010034,
42080x820c0000,
42090x00098200,
42100x3a2c0000,
42110x00098200,
42120x91700000,
42130x00098200,
42140x90700000,
42150x00098200,
42160xd8300000,
42170x00098200,
42180x90900000,
42190x00098200,
42200xd8500000,
42210x00098200,
42220x90b00000,
42230x00098200,
42240x00000000,
42250xd8700000,
42260x00098200,
42270x90d00000,
42280x00098200,
42290xd8900000,
42300x00098200,
42310x90f00000,
42320x00098200,
42330xd8b00000,
42340x00098200,
42350x91100000,
42360x00098200,
42370xd8d00000,
42380x00098200,
42390x91300000,
42400x00098200,
42410xd8f00000,
42420x00098200,
42430x91500000,
42440x00098200,
42450xd9100000,
42460x00098200,
42470x38010000,
42480x00098200,
42490x90100000,
42500x00098200,
42510x7e038378,
42520x92010020,
42530x7c240b78,
42540x48000001,
42550x0003002e,
42560x81c30000,
42570x00098200,
42580x3ac00000,
42590x00098200,
42600x81630000,
42610x00098200,
42620x3cc059c0,
42630x3b000000,
42640x7c721b78,
42650x90c10010,
42660x814efffc,
42670x60c60004,
42680x3ae00000,
42690x00098200,
42700x38000000,
42710x00098200,
42720xc3c10010,
42730x90c10010,
42740x7d6e5850,
42750x90110000,
42760x00098200,
42770xc3e10010,
42780x820a0000,
42790x00098200,
42800x80f00000,
42810x3a100004,
42820x54e815ba,
42830x54f4dd78,
42840x7c11402e,
42850x7e947214,
42860x7c0903a6,
42870x4e800420,
42880x00000000,
42890x00060028,
42900x00000000,
42910x82110000,
42920x00098200,
42930x91d20000,
42940x00098200,
42950x91520000,
42960x00098200,
42970x92500000,
42980x00098200,
42990x7e038378,
43000x7e84a378,
43010x48000001,
43020x0003002f,
43030x80700000,
43040x00098200,
43050xc8300000,
43060x00098200,
43070x80900000,
43080x00098200,
43090x48000000,
43100x0005001a,
43110x00000000,
43120x000600a0,
43130x00000000,
43140x81030000,
43150x00098200,
43160x7c0802a6,
43170x88830000,
43180x00098200,
43190x88a30000,
43200x00098200,
43210x7d0800d0,
43220x90010004,
43230x2c850000,
43240x7c290b78,
43250x3484ffff,
43260x7c21416e,
43270x4cc63042,
43280x91c9fffc,
43290x9069fff8,
43300x7d2e4b78,
43310x39030000,
43320x00098200,
43330x54841000,
43340x000900a1,
43350x41a00000,
43360x00050802,
43370x39210008,
43380x0006000b,
43390x7c08202e,
43400x7c09212e,
43410x3484fffc,
43420x40800000,
43430x0005080b,
43440x0006000c,
43450x40a60000,
43460x00050803,
43470xc8230000,
43480x00098200,
43490xc8430000,
43500x00098200,
43510xc8630000,
43520x00098200,
43530xc8830000,
43540x00098200,
43550xc8a30000,
43560x00098200,
43570xc8c30000,
43580x00098200,
43590xc8e30000,
43600x00098200,
43610xc9030000,
43620x00098200,
43630x0006000d,
43640x80030000,
43650x00098200,
43660x80830000,
43670x00098200,
43680x80a30000,
43690x00098200,
43700x00000000,
43710x80c30000,
43720x00098200,
43730x80e30000,
43740x00098200,
43750x7c0903a6,
43760x81030000,
43770x00098200,
43780x81230000,
43790x00098200,
43800x81430000,
43810x00098200,
43820x80630000,
43830x00098200,
43840x4e800421,
43850x810efff8,
43860x812efffc,
43870x800e0004,
43880x90680000,
43890x00098200,
43900xd8280000,
43910x00098200,
43920x90880000,
43930x00098200,
43940x7c0803a6,
43950x90a80000,
43960x00098200,
43970x7dc17378,
43980x90c80000,
43990x00098200,
44000x7d2e4b78,
44010x4e800020,
44020x00000000,
44030x00080000,
44040x00000000,
44050x7c14706e,
44060x3a100004,
44070x80940004,
44080x7d0c706e,
44090x8130fffc,
44100x7c00b040,
44110x80ac0004,
44120x552993ba,
44130x7c88b040,
44140x3d290000,
44150x00098200,
44160x40820000,
44170x00050807,
44180x40860000,
44190x00050808,
44200x7c042800,
44210x00000000,
44220x40800000,
44230x00050802,
44240x00000000,
44250x41800000,
44260x00050802,
44270x00000000,
44280x41810000,
44290x00050802,
44300x00000000,
44310x40810000,
44320x00050802,
44330x00000000,
44340x0006000b,
44350x7e104a14,
44360x0006000c,
44370x80f00000,
44380x3a100004,
44390x54e815ba,
44400x7c11402e,
44410x7c0903a6,
44420x54ea5d78,
44430x54ec9b78,
44440x54f4dd78,
44450x54eb9d78,
44460x4e800420,
44470x00060011,
44480x41810000,
44490x00050835,
44500xc8140000,
44510x41850000,
44520x00050835,
44530x41840000,
44540x00050804,
44550x6ca58000,
44560x90a1000c,
44570xc8210008,
44580xfc21f828,
44590x48000000,
44600x00050005,
44610x00060012,
44620x41850000,
44630x00050835,
44640x6c848000,
44650x9081000c,
44660xc8010008,
44670xfc00f828,
44680x0006000e,
44690xc82c0000,
44700x0006000f,
44710xfc000800,
44720x00000000,
44730x40800000,
44740x0005080c,
44750x00000000,
44760x41800000,
44770x0005080c,
44780x00000000,
44790x4c001382,
44800x40800000,
44810x0005080c,
44820x00000000,
44830x4c001382,
44840x41800000,
44850x0005080c,
44860x00000000,
44870x48000000,
44880x0005000b,
44890x00000000,
44900x7c0ea02e,
44910x3a100004,
44920x7c0ea4ae,
44930x7d0e602e,
44940x7c00b040,
44950x8130fffc,
44960x7c2e64ae,
44970x7c88b040,
44980x552993ba,
44990x40800000,
45000x00050835,
45010x3d290000,
45020x00098200,
45030x40840000,
45040x00050835,
45050xfc000800,
45060x00000000,
45070x40800000,
45080x00050801,
45090x00000000,
45100x41800000,
45110x00050801,
45120x00000000,
45130x4c001382,
45140x40800000,
45150x00050801,
45160x00000000,
45170x4c001382,
45180x41800000,
45190x00050801,
45200x00000000,
45210x7e104a14,
45220x0006000b,
45230x80f00000,
45240x3a100004,
45250x54e815ba,
45260x7c11402e,
45270x7c0903a6,
45280x54ea5d78,
45290x54ec9b78,
45300x54f4dd78,
45310x54eb9d78,
45320x4e800420,
45330x00000000,
45340x7c14706e,
45350x3a100004,
45360x80940004,
45370x7d0c706e,
45380x7c00b040,
45390x8130fffc,
45400x7c88b040,
45410x552993ba,
45420x80ac0004,
45430x4fa12b82,
45440x3d290000,
45450x00098200,
45460x00000000,
45470x409d0000,
45480x000508a1,
45490x00000000,
45500x409d0000,
45510x000508a2,
45520x00000000,
45530x7c14706e,
45540x81300000,
45550xc8140000,
45560x3a100004,
45570x7d0c706e,
45580x7c00b040,
45590x552993ba,
45600xc82c0000,
45610x7c88b040,
45620x3d290000,
45630x00098200,
45640x40800000,
45650x00050805,
45660x40840000,
45670x00050805,
45680xfc000800,
45690x00000000,
45700x40820000,
45710x00050801,
45720x7e104a14,
45730x00000000,
45740x41820000,
45750x00050801,
45760x7e104a14,
45770x00000000,
45780x0006000b,
45790x80f00000,
45800x3a100004,
45810x54e815ba,
45820x7c11402e,
45830x7c0903a6,
45840x54ea5d78,
45850x54ec9b78,
45860x54f4dd78,
45870x54eb9d78,
45880x4e800420,
45890x00000000,
45900x0006000f,
45910x00000000,
45920x80940004,
45930x80ac0004,
45940x00000000,
45950x2f800000,
45960x00098200,
45970x2e880000,
45980x00098200,
45990x00000000,
46000x7c0600f8,
46010x7c004040,
46020x28860000,
46030x00090200,
46040x00000000,
46050x4fdeb382,
46060x00000000,
46070x2b060000,
46080x00090200,
46090x00000000,
46100x419e0000,
46110x0005083b,
46120x00000000,
46130x7e842840,
46140x4c222902,
46150x4c161342,
46160x4c42b202,
46170x7e158378,
46180x4c420b82,
46190x4c000b82,
46200x00000000,
46210x40820000,
46220x00050806,
46230x7e104a14,
46240x00060010,
46250x00000000,
46260x41820000,
46270x00050806,
46280x7e104a14,
46290x00060010,
46300x00000000,
46310x40800000,
46320x00050802,
46330x0006000b,
46340x80f00000,
46350x3a100004,
46360x54e815ba,
46370x7c11402e,
46380x7c0903a6,
46390x54ea5d78,
46400x54ec9b78,
46410x54f4dd78,
46420x54eb9d78,
46430x4e800420,
46440x0006000c,
46450x00000000,
46460x41800000,
46470x0005080b,
46480x00000000,
46490x41980000,
46500x0005080b,
46510x81240000,
46520x00098200,
46530x38c00000,
46540x00098200,
46550x28090000,
46560x41820000,
46570x0005080b,
46580x89290000,
46590x00098200,
46600x71290000,
46610x00090200,
46620x40820000,
46630x0005080b,
46640x7eb0ab78,
46650x48000000,
46660x0005003a,
46670x00000000,
46680x7c14706e,
46690x558c007e,
46700x000900ab,
46710x80d40004,
46720x81300000,
46730x218cfffc,
46740x3a100004,
46750x00000000,
46760x2c000000,
46770x00098200,
46780x00000000,
46790x7d0f602e,
46800x20000000,
46810x00098200,
46820x00000000,
46830x41820000,
46840x0005083b,
46850x00000000,
46860x7d064050,
46870x7c004378,
46880x552993ba,
46890x20000000,
46900x3d290000,
46910x00098200,
46920x7d084110,
46930x00000000,
46940x7d294078,
46950x00000000,
46960x7d294038,
46970x00000000,
46980x7e104a14,
46990x80f00000,
47000x3a100004,
47010x54e815ba,
47020x7c11402e,
47030x7c0903a6,
47040x54ea5d78,
47050x54ec9b78,
47060x54f4dd78,
47070x54eb9d78,
47080x4e800420,
47090x00000000,
47100x7c14706e,
47110x3a100004,
47120x80940004,
47130x7d0c786e,
47140x7c00b040,
47150x8130fffc,
47160x7c88b040,
47170x552993ba,
47180x80ac0004,
47190x3d290000,
47200x00098200,
47210x00000000,
47220x000600a1,
47230x00000000,
47240x000600a2,
47250x00000000,
47260x40820000,
47270x00050807,
47280x40860000,
47290x00050808,
47300x7c042800,
47310x0006000e,
47320x00000000,
47330x000600a1,
47340x00000000,
47350x000600a2,
47360x00000000,
47370x7c0ea02e,
47380x3a100004,
47390x7c0ea4ae,
47400x8130fffc,
47410x7c2f64ae,
47420x552993ba,
47430x7c00b040,
47440x3d290000,
47450x00098200,
47460x40800000,
47470x00050803,
47480xfc000800,
47490x00000000,
47500x40820000,
47510x00050801,
47520x7e104a14,
47530x0006000b,
47540x00000000,
47550x0006000d,
47560x00000000,
47570x41820000,
47580x00050802,
47590x0006000b,
47600x00000000,
47610x0006000d,
47620x00000000,
47630x7e104a14,
47640x0006000c,
47650x00000000,
47660x80f00000,
47670x3a100004,
47680x54e815ba,
47690x7c11402e,
47700x7c0903a6,
47710x54ea5d78,
47720x54ec9b78,
47730x54f4dd78,
47740x54eb9d78,
47750x4e800420,
47760x00000000,
47770x0006000d,
47780x2c000000,
47790x00098200,
47800x41820000,
47810x0005083b,
47820x48000000,
47830x0005000b,
47840x00000000,
47850x00060011,
47860x40800000,
47870x0005080d,
47880xc8140000,
47890x41840000,
47900x00050801,
47910x6ca58000,
47920x90a1000c,
47930xc8210008,
47940xfc21f828,
47950x48000000,
47960x00050002,
47970x00060012,
47980x6c848000,
47990x9081000c,
48000xc8010008,
48010xfc00f828,
48020x0006000b,
48030xc82c0000,
48040x0006000c,
48050xfc000800,
48060x48000000,
48070x0005000e,
48080x00000000,
48090x7c0ea02e,
48100x558800fe,
48110x000900ab,
48120x81300000,
48130x7d0840f8,
48140x3a100004,
48150x00000000,
48160x2c000000,
48170x00098200,
48180x00000000,
48190x7c080050,
48200x00000000,
48210x41820000,
48220x0005083b,
48230x00000000,
48240x552993ba,
48250x3000ffff,
48260x3d290000,
48270x00098200,
48280x7d084110,
48290x00000000,
48300x7d294038,
48310x00000000,
48320x7d294078,
48330x00000000,
48340x7e104a14,
48350x80f00000,
48360x3a100004,
48370x54e815ba,
48380x7c11402e,
48390x7c0903a6,
48400x54ea5d78,
48410x54ec9b78,
48420x54f4dd78,
48430x54eb9d78,
48440x4e800420,
48450x00000000,
48460x7c0e602e,
48470x80f00000,
48480x3a100004,
48490x00000000,
48500x20000000,
48510x00098200,
48520x54e993ba,
48530x7d084110,
48540x3d290000,
48550x00098200,
48560x00000000,
48570x7d294078,
48580x00000000,
48590x7d294038,
48600x00000000,
48610x7e104a14,
48620x00000000,
48630x39000000,
48640x00098200,
48650x7c0e64ae,
48660x7c004040,
48670x00000000,
48680x40800000,
48690x00050801,
48700x00000000,
48710x41800000,
48720x00050801,
48730x00000000,
48740x3e100000,
48750x00098200,
48760x54e993ba,
48770x7c0ea5ae,
48780x7e104a14,
48790x0006000b,
48800x00000000,
48810x80f00000,
48820x3a100004,
48830x54e815ba,
48840x7c11402e,
48850x7c0903a6,
48860x54ea5d78,
48870x54ec9b78,
48880x54f4dd78,
48890x54eb9d78,
48900x4e800420,
48910x00000000,
48920x80f00000,
48930x3a100004,
48940x7c0e64ae,
48950x7c0ea5ae,
48960x54e815ba,
48970x7c11402e,
48980x7c0903a6,
48990x54ea5d78,
49000x54ec9b78,
49010x54f4dd78,
49020x54eb9d78,
49030x4e800420,
49040x00000000,
49050x80f00000,
49060x3a100004,
49070x7c0e602e,
49080x21000000,
49090x00098200,
49100x7c004114,
49110x7c0ea12e,
49120x54e815ba,
49130x7c11402e,
49140x7c0903a6,
49150x54ea5d78,
49160x54ec9b78,
49170x54f4dd78,
49180x54eb9d78,
49190x4e800420,
49200x00000000,
49210x7d0c706e,
49220x800c0004,
49230x7c08b040,
49240x00000000,
49250x40820000,
49260x00050805,
49270x7c0004d1,
49280x41830000,
49290x00050804,
49300x0006000b,
49310x80f00000,
49320x3a100004,
49330x7ed4716e,
49340x90140004,
49350x0006000d,
49360x54e815ba,
49370x7c11402e,
49380x7c0903a6,
49390x54ea5d78,
49400x54ec9b78,
49410x54f4dd78,
49420x54eb9d78,
49430x4e800420,
49440x0006000e,
49450x7c000400,
49460x40a10000,
49470x0005080b,
49480x3d0041e0,
49490x38000000,
49500x48000000,
49510x00050007,
49520x00000000,
49530x0006000f,
49540x40800000,
49550x0005083e,
49560x6d088000,
49570x00060011,
49580x80f00000,
49590x3a100004,
49600x7d14716e,
49610x90140004,
49620x00000000,
49630x48000000,
49640x0005000d,
49650x00000000,
49660x54e815ba,
49670x7c11402e,
49680x7c0903a6,
49690x54ea5d78,
49700x54ec9b78,
49710x54f4dd78,
49720x54eb9d78,
49730x4e800420,
49740x00000000,
49750x7c0c706e,
49760x806c0004,
49770x2c000000,
49780x00098200,
49790x40820000,
49800x00050802,
49810x80630000,
49820x00098200,
49830x0006000b,
49840x00000000,
49850x80f00000,
49860x3a100004,
49870x7ed4716e,
49880x90740004,
49890x00000000,
49900x9061000c,
49910xc8010008,
49920xfc00f028,
49930x80f00000,
49940x3a100004,
49950x7c0ea5ae,
49960x00000000,
49970x54e815ba,
49980x7c11402e,
49990x7c0903a6,
50000x54ea5d78,
50010x54ec9b78,
50020x54f4dd78,
50030x54eb9d78,
50040x4e800420,
50050x0006000c,
50060x2c000000,
50070x00098200,
50080x40820000,
50090x00050843,
50100x00000000,
50110x81230000,
50120x00098200,
50130x28090000,
50140x40820000,
50150x00050809,
50160x0006000d,
50170x00000000,
50180x00060044,
50190x48000001,
50200x00030026,
50210x48000000,
50220x0005000b,
50230x00000000,
50240x00060013,
50250x88090000,
50260x00098200,
50270x70000000,
50280x00090200,
50290x40820000,
50300x0005080d,
50310x48000000,
50320x00050043,
50330x00000000,
50340x7d0a706e,
50350x7d2b786e,
50360x806a0004,
50370x7c08b040,
50380x808b0004,
50390x00000000,
50400x7d0a706e,
50410x7d2b786e,
50420x808a0004,
50430x7c08b040,
50440x806b0004,
50450x00000000,
50460x7d0a706e,
50470x7d2b706e,
50480x806a0004,
50490x7c08b040,
50500x808b0004,
50510x00000000,
50520x7c89b040,
50530x40820000,
50540x00050805,
50550x40860000,
50560x00050805,
50570x7c632615,
50580x41830000,
50590x00050804,
50600x0006000b,
50610x80f00000,
50620x3a100004,
50630x7ed4716e,
50640x90740004,
50650x0006000c,
50660x54e815ba,
50670x7c11402e,
50680x7c0903a6,
50690x54ea5d78,
50700x54ec9b78,
50710x54f4dd78,
50720x54eb9d78,
50730x4e800420,
50740x0006000e,
50750x7c000400,
50760x40a10000,
50770x0005080b,
50780x00000000,
50790x48000000,
50800x00050041,
50810x00000000,
50820x48000000,
50830x0005003d,
50840x00000000,
50850x48000000,
50860x00050042,
50870x00000000,
50880x0006000f,
50890x00000000,
50900xc9ea0000,
50910x4c002202,
50920xc9cb0000,
50930x00000000,
50940xc9ca0000,
50950x4c002202,
50960xc9eb0000,
50970x00000000,
50980x40800000,
50990x00050841,
51000x00000000,
51010x40800000,
51020x0005083d,
51030x00000000,
51040x40800000,
51050x00050842,
51060x00000000,
51070xfc0e782a,
51080x80f00000,
51090x3a100004,
51100x7c0ea5ae,
51110x48000000,
51120x0005000c,
51130x00000000,
51140x7d0e502e,
51150x00000000,
51160x7d2f582e,
51170x00000000,
51180x7dce54ae,
51190x7def5cae,
51200x00000000,
51210x7c08b040,
51220x7c89b040,
51230x4c002202,
51240x40800000,
51250x0005083f,
51260x00000000,
51270x7c08b040,
51280x40800000,
51290x0005083f,
51300x00000000,
51310x7d0e502e,
51320x00000000,
51330x7d2f582e,
51340x00000000,
51350x7dee54ae,
51360x7dcf5cae,
51370x00000000,
51380x7c08b040,
51390x7c89b040,
51400x4c002202,
51410x40800000,
51420x0005083c,
51430x00000000,
51440x7c08b040,
51450x40800000,
51460x0005083c,
51470x00000000,
51480x7d0e502e,
51490x7d2e582e,
51500x7dce54ae,
51510x7dee5cae,
51520x7c08b040,
51530x7c89b040,
51540x4c002202,
51550x40800000,
51560x00050840,
51570x00000000,
51580xfc0e782a,
51590x80f00000,
51600x3a100004,
51610x7c0ea5ae,
51620x54e815ba,
51630x7c11402e,
51640x7c0903a6,
51650x54ea5d78,
51660x54ec9b78,
51670x54f4dd78,
51680x54eb9d78,
51690x4e800420,
51700x00000000,
51710x7d0a706e,
51720x7d2b786e,
51730x806a0004,
51740x7c08b040,
51750x808b0004,
51760x00000000,
51770x7d0a706e,
51780x7d2b786e,
51790x808a0004,
51800x7c08b040,
51810x806b0004,
51820x00000000,
51830x7d0a706e,
51840x7d2b706e,
51850x806a0004,
51860x7c08b040,
51870x808b0004,
51880x00000000,
51890x7c89b040,
51900x40820000,
51910x00050805,
51920x40860000,
51930x00050805,
51940x7c641c51,
51950x41830000,
51960x00050804,
51970x0006000b,
51980x80f00000,
51990x3a100004,
52000x7ed4716e,
52010x90740004,
52020x0006000c,
52030x54e815ba,
52040x7c11402e,
52050x7c0903a6,
52060x54ea5d78,
52070x54ec9b78,
52080x54f4dd78,
52090x54eb9d78,
52100x4e800420,
52110x0006000e,
52120x7c000400,
52130x40a10000,
52140x0005080b,
52150x00000000,
52160x48000000,
52170x00050041,
52180x00000000,
52190x48000000,
52200x0005003d,
52210x00000000,
52220x48000000,
52230x00050042,
52240x00000000,
52250x0006000f,
52260x00000000,
52270xc9ea0000,
52280x4c002202,
52290xc9cb0000,
52300x00000000,
52310xc9ca0000,
52320x4c002202,
52330xc9eb0000,
52340x00000000,
52350x40800000,
52360x00050841,
52370x00000000,
52380x40800000,
52390x0005083d,
52400x00000000,
52410x40800000,
52420x00050842,
52430x00000000,
52440xfc0e7828,
52450x80f00000,
52460x3a100004,
52470x7c0ea5ae,
52480x48000000,
52490x0005000c,
52500x00000000,
52510x7d0e502e,
52520x00000000,
52530x7d2f582e,
52540x00000000,
52550x7dce54ae,
52560x7def5cae,
52570x00000000,
52580x7c08b040,
52590x7c89b040,
52600x4c002202,
52610x40800000,
52620x0005083f,
52630x00000000,
52640x7c08b040,
52650x40800000,
52660x0005083f,
52670x00000000,
52680x7d0e502e,
52690x00000000,
52700x7d2f582e,
52710x00000000,
52720x7dee54ae,
52730x7dcf5cae,
52740x00000000,
52750x7c08b040,
52760x7c89b040,
52770x4c002202,
52780x40800000,
52790x0005083c,
52800x00000000,
52810x7c08b040,
52820x40800000,
52830x0005083c,
52840x00000000,
52850x7d0e502e,
52860x7d2e582e,
52870x7dce54ae,
52880x7dee5cae,
52890x7c08b040,
52900x7c89b040,
52910x4c002202,
52920x40800000,
52930x00050840,
52940x00000000,
52950xfc0e7828,
52960x80f00000,
52970x3a100004,
52980x7c0ea5ae,
52990x54e815ba,
53000x7c11402e,
53010x7c0903a6,
53020x54ea5d78,
53030x54ec9b78,
53040x54f4dd78,
53050x54eb9d78,
53060x4e800420,
53070x00000000,
53080x7d0a706e,
53090x7d2b786e,
53100x806a0004,
53110x7c08b040,
53120x808b0004,
53130x00000000,
53140x7d0a706e,
53150x7d2b786e,
53160x808a0004,
53170x7c08b040,
53180x806b0004,
53190x00000000,
53200x7d0a706e,
53210x7d2b706e,
53220x806a0004,
53230x7c08b040,
53240x808b0004,
53250x00000000,
53260x7c89b040,
53270x40820000,
53280x00050805,
53290x40860000,
53300x00050805,
53310x7c6325d7,
53320x41830000,
53330x00050804,
53340x0006000b,
53350x80f00000,
53360x3a100004,
53370x7ed4716e,
53380x90740004,
53390x0006000c,
53400x54e815ba,
53410x7c11402e,
53420x7c0903a6,
53430x54ea5d78,
53440x54ec9b78,
53450x54f4dd78,
53460x54eb9d78,
53470x4e800420,
53480x0006000e,
53490x7c000400,
53500x40a10000,
53510x0005080b,
53520x00000000,
53530x48000000,
53540x00050041,
53550x00000000,
53560x48000000,
53570x0005003d,
53580x00000000,
53590x48000000,
53600x00050042,
53610x00000000,
53620x0006000f,
53630x00000000,
53640xc9ea0000,
53650x4c002202,
53660xc9cb0000,
53670x00000000,
53680xc9ca0000,
53690x4c002202,
53700xc9eb0000,
53710x00000000,
53720x40800000,
53730x00050841,
53740x00000000,
53750x40800000,
53760x0005083d,
53770x00000000,
53780x40800000,
53790x00050842,
53800x00000000,
53810xfc0e03f2,
53820x80f00000,
53830x3a100004,
53840x7c0ea5ae,
53850x48000000,
53860x0005000c,
53870x00000000,
53880x7d0e502e,
53890x00000000,
53900x7d2f582e,
53910x00000000,
53920x7dce54ae,
53930x7def5cae,
53940x00000000,
53950x7c08b040,
53960x7c89b040,
53970x4c002202,
53980x40800000,
53990x0005083f,
54000x00000000,
54010x7c08b040,
54020x40800000,
54030x0005083f,
54040x00000000,
54050x7d0e502e,
54060x00000000,
54070x7d2f582e,
54080x00000000,
54090x7dee54ae,
54100x7dcf5cae,
54110x00000000,
54120x7c08b040,
54130x7c89b040,
54140x4c002202,
54150x40800000,
54160x0005083c,
54170x00000000,
54180x7c08b040,
54190x40800000,
54200x0005083c,
54210x00000000,
54220x7d0e502e,
54230x7d2e582e,
54240x7dce54ae,
54250x7dee5cae,
54260x7c08b040,
54270x7c89b040,
54280x4c002202,
54290x40800000,
54300x00050840,
54310x00000000,
54320xfc0e03f2,
54330x80f00000,
54340x3a100004,
54350x7c0ea5ae,
54360x54e815ba,
54370x7c11402e,
54380x7c0903a6,
54390x54ea5d78,
54400x54ec9b78,
54410x54f4dd78,
54420x54eb9d78,
54430x4e800420,
54440x00000000,
54450x7d0e502e,
54460x00000000,
54470x7d2f582e,
54480x00000000,
54490x7dce54ae,
54500x7def5cae,
54510x00000000,
54520x7c08b040,
54530x7c89b040,
54540x4c002202,
54550x40800000,
54560x0005083f,
54570x00000000,
54580x7c08b040,
54590x40800000,
54600x0005083f,
54610x00000000,
54620x7d0e502e,
54630x00000000,
54640x7d2f582e,
54650x00000000,
54660x7dee54ae,
54670x7dcf5cae,
54680x00000000,
54690x7c08b040,
54700x7c89b040,
54710x4c002202,
54720x40800000,
54730x0005083c,
54740x00000000,
54750x7c08b040,
54760x40800000,
54770x0005083c,
54780x00000000,
54790x7d0e502e,
54800x7d2e582e,
54810x7dce54ae,
54820x7dee5cae,
54830x7c08b040,
54840x7c89b040,
54850x4c002202,
54860x40800000,
54870x00050840,
54880x00000000,
54890xfc0e7824,
54900x80f00000,
54910x3a100004,
54920x7c0ea5ae,
54930x54e815ba,
54940x7c11402e,
54950x7c0903a6,
54960x54ea5d78,
54970x54ec9b78,
54980x54f4dd78,
54990x54eb9d78,
55000x4e800420,
55010x00000000,
55020x7d0a706e,
55030x7d2b786e,
55040x806a0004,
55050x7c08b040,
55060x808b0004,
55070x00000000,
55080x7d0a706e,
55090x7d2b786e,
55100x808a0004,
55110x7c08b040,
55120x806b0004,
55130x00000000,
55140x7d0a706e,
55150x7d2b706e,
55160x806a0004,
55170x7c08b040,
55180x808b0004,
55190x00000000,
55200x7c89b040,
55210x40820000,
55220x00050805,
55230x40860000,
55240x00050805,
55250x48000001,
55260x0005009c,
55270x41830000,
55280x00050804,
55290x0006000b,
55300x80f00000,
55310x3a100004,
55320x7ed4716e,
55330x90740004,
55340x0006000c,
55350x54e815ba,
55360x7c11402e,
55370x7c0903a6,
55380x54ea5d78,
55390x54ec9b78,
55400x54f4dd78,
55410x54eb9d78,
55420x4e800420,
55430x0006000e,
55440x7c000400,
55450x40a10000,
55460x0005080b,
55470x00000000,
55480x48000000,
55490x00050041,
55500x00000000,
55510x48000000,
55520x0005003d,
55530x00000000,
55540x48000000,
55550x00050042,
55560x00000000,
55570x0006000f,
55580x00000000,
55590xc9ea0000,
55600x4c002202,
55610xc9cb0000,
55620x00000000,
55630xc9ca0000,
55640x4c002202,
55650xc9eb0000,
55660x00000000,
55670x40800000,
55680x00050841,
55690x00000000,
55700x40800000,
55710x0005083d,
55720x00000000,
55730x40800000,
55740x00050842,
55750x00000000,
55760x000600a3,
55770xfc2e7824,
55780x48000001,
55790x00030010,
55800xfc0103f2,
55810xfc0e0028,
55820x80f00000,
55830x3a100004,
55840x7c0ea5ae,
55850x48000000,
55860x0005000c,
55870x00000000,
55880x7d0e502e,
55890x00000000,
55900x7d2f582e,
55910x00000000,
55920x7dce54ae,
55930x7def5cae,
55940x00000000,
55950x7c08b040,
55960x7c89b040,
55970x4c002202,
55980x40800000,
55990x0005083f,
56000x00000000,
56010x7c08b040,
56020x40800000,
56030x0005083f,
56040x00000000,
56050x7d0e502e,
56060x00000000,
56070x7d2f582e,
56080x00000000,
56090x7dee54ae,
56100x7dcf5cae,
56110x00000000,
56120x7c08b040,
56130x7c89b040,
56140x4c002202,
56150x40800000,
56160x0005083c,
56170x00000000,
56180x7c08b040,
56190x40800000,
56200x0005083c,
56210x00000000,
56220x7d0e502e,
56230x7d2e582e,
56240x7dce54ae,
56250x7dee5cae,
56260x7c08b040,
56270x7c89b040,
56280x4c002202,
56290x40800000,
56300x00050840,
56310x00000000,
56320x000600a3,
56330xfc2e7824,
56340x48000001,
56350x00030010,
56360xfc0103f2,
56370xfc0e0028,
56380x80f00000,
56390x3a100004,
56400x7c0ea5ae,
56410x54e815ba,
56420x7c11402e,
56430x7c0903a6,
56440x54ea5d78,
56450x54ec9b78,
56460x54f4dd78,
56470x54eb9d78,
56480x4e800420,
56490x00000000,
56500x7d0a706e,
56510x7d2b786e,
56520x806a0004,
56530x7c08b040,
56540x808b0004,
56550x00000000,
56560x7d0a706e,
56570x7d2b786e,
56580x808a0004,
56590x7c08b040,
56600x806b0004,
56610x00000000,
56620x7d0a706e,
56630x7d2b706e,
56640x806a0004,
56650x7c08b040,
56660x808b0004,
56670x00000000,
56680x7c89b040,
56690x40820000,
56700x00050805,
56710x40860000,
56720x00050805,
56730x48000001,
56740x0005009c,
56750x41830000,
56760x00050804,
56770x0006000b,
56780x80f00000,
56790x3a100004,
56800x7ed4716e,
56810x90740004,
56820x0006000c,
56830x54e815ba,
56840x7c11402e,
56850x7c0903a6,
56860x54ea5d78,
56870x54ec9b78,
56880x54f4dd78,
56890x54eb9d78,
56900x4e800420,
56910x0006000e,
56920x7c000400,
56930x40a10000,
56940x0005080b,
56950x00000000,
56960x48000000,
56970x00050041,
56980x00000000,
56990x48000000,
57000x0005003d,
57010x00000000,
57020x48000000,
57030x00050042,
57040x00000000,
57050x0006000f,
57060x00000000,
57070xc9ea0000,
57080x4c002202,
57090xc9cb0000,
57100x00000000,
57110xc9ca0000,
57120x4c002202,
57130xc9eb0000,
57140x00000000,
57150x40800000,
57160x00050841,
57170x00000000,
57180x40800000,
57190x0005083d,
57200x00000000,
57210x40800000,
57220x00050842,
57230x00000000,
57240x48000000,
57250x000500a3,
57260x00000000,
57270x7d0e502e,
57280x00000000,
57290x7d2f582e,
57300x00000000,
57310x7dce54ae,
57320x7def5cae,
57330x00000000,
57340x7c08b040,
57350x7c89b040,
57360x4c002202,
57370x40800000,
57380x0005083f,
57390x00000000,
57400x7c08b040,
57410x40800000,
57420x0005083f,
57430x00000000,
57440x7d0e502e,
57450x00000000,
57460x7d2f582e,
57470x00000000,
57480x7dee54ae,
57490x7dcf5cae,
57500x00000000,
57510x7c08b040,
57520x7c89b040,
57530x4c002202,
57540x40800000,
57550x0005083c,
57560x00000000,
57570x7c08b040,
57580x40800000,
57590x0005083c,
57600x00000000,
57610x7d0e502e,
57620x7d2e582e,
57630x7dce54ae,
57640x7dee5cae,
57650x7c08b040,
57660x7c89b040,
57670x4c002202,
57680x40800000,
57690x00050840,
57700x00000000,
57710x48000000,
57720x000500a3,
57730x00000000,
57740x7d0e502e,
57750x7c2e54ae,
57760x7d2e582e,
57770x7c4e5cae,
57780x7c08b040,
57790x7c89b040,
57800x4c002202,
57810x40800000,
57820x00050840,
57830x48000001,
57840x0003001f,
57850x80f00000,
57860x3a100004,
57870x7c2ea5ae,
57880x54e815ba,
57890x7c11402e,
57900x7c0903a6,
57910x54ea5d78,
57920x54ec9b78,
57930x54f4dd78,
57940x54eb9d78,
57950x4e800420,
57960x00000000,
57970x7caa5850,
57980x91d20000,
57990x00098200,
58000x7c8e5a14,
58010x7d555378,
58020x0006002b,
58030x92010020,
58040x7e439378,
58050x54a500fe,
58060x000900ab,
58070x48000001,
58080x00030030,
58090x28030000,
58100x81d20000,
58110x00098200,
58120x40820000,
58130x00050836,
58140x80f00000,
58150x3a100004,
58160x7c0eacae,
58170x7c0ea5ae,
58180x54e815ba,
58190x7c11402e,
58200x7c0903a6,
58210x54ea5d78,
58220x54ec9b78,
58230x54f4dd78,
58240x54eb9d78,
58250x4e800420,
58260x00000000,
58270x5588007e,
58280x000900ab,
58290x2108fffc,
58300x80f00000,
58310x3a100004,
58320x7c0f402e,
58330x39200000,
58340x00098200,
58350x7d34716e,
58360x90140004,
58370x54e815ba,
58380x7c11402e,
58390x7c0903a6,
58400x54ea5d78,
58410x54ec9b78,
58420x54f4dd78,
58430x54eb9d78,
58440x4e800420,
58450x00000000,
58460x5588007e,
58470x000900ab,
58480x2108fffc,
58490x80f00000,
58500x3a100004,
58510x7c0f402e,
58520x39200000,
58530x00098200,
58540x7d34716e,
58550x90140004,
58560x54e815ba,
58570x7c11402e,
58580x7c0903a6,
58590x54ea5d78,
58600x54ec9b78,
58610x54f4dd78,
58620x54eb9d78,
58630x4e800420,
58640x00000000,
58650x558c6800,
58660x000900a1,
58670x7d8c8670,
58680x80f00000,
58690x3a100004,
58700x7ed4716e,
58710x91940004,
58720x54e815ba,
58730x7c11402e,
58740x7c0903a6,
58750x54ea5d78,
58760x54ec9b78,
58770x54f4dd78,
58780x54eb9d78,
58790x4e800420,
58800x00000000,
58810x558c6800,
58820x000900a1,
58830x7d88fe70,
58840x7d096278,
58850x7d284850,
58860x7d260034,
58870x2106040d,
58880x7d293030,
58890x20cc0000,
58900x5508a000,
58910x000900a1,
58920x512ca87e,
58930x7c000110,
58940x7d8c4214,
58950x7d8c0038,
58960x80f00000,
58970x3a100004,
58980x7d94716e,
58990x93140004,
59000x54e815ba,
59010x7c11402e,
59020x7c0903a6,
59030x54ea5d78,
59040x54ec9b78,
59050x54f4dd78,
59060x54eb9d78,
59070x4e800420,
59080x00000000,
59090x80f00000,
59100x3a100004,
59110x7c0f64ae,
59120x7c0ea5ae,
59130x54e815ba,
59140x7c11402e,
59150x7c0903a6,
59160x54ea5d78,
59170x54ec9b78,
59180x54f4dd78,
59190x54eb9d78,
59200x4e800420,
59210x00000000,
59220x558800fe,
59230x000900ab,
59240x7d0040f8,
59250x80f00000,
59260x3a100004,
59270x7c0ea12e,
59280x54e815ba,
59290x7c11402e,
59300x7c0903a6,
59310x54ea5d78,
59320x54ec9b78,
59330x54f4dd78,
59340x54eb9d78,
59350x4e800420,
59360x00000000,
59370x7eeea12e,
59380x3a940008,
59390x0006000b,
59400x7eeea12e,
59410x7c146000,
59420x3a940008,
59430x41800000,
59440x0005080b,
59450x80f00000,
59460x3a100004,
59470x54e815ba,
59480x7c11402e,
59490x7c0903a6,
59500x54ea5d78,
59510x54ec9b78,
59520x54f4dd78,
59530x54eb9d78,
59540x4e800420,
59550x00000000,
59560x814efffc,
59570x558c007e,
59580x000900ab,
59590x398c0000,
59600x00098200,
59610x7d4a602e,
59620x80f00000,
59630x3a100004,
59640x810a0000,
59650x00098200,
59660xc8080000,
59670x7c0ea5ae,
59680x54e815ba,
59690x7c11402e,
59700x7c0903a6,
59710x54ea5d78,
59720x54ec9b78,
59730x54f4dd78,
59740x54eb9d78,
59750x4e800420,
59760x00000000,
59770x814efffc,
59780x5694007e,
59790x000900ab,
59800x3a940000,
59810x00098200,
59820x7c0c74ee,
59830x7d4aa02e,
59840x88ca0000,
59850x00098200,
59860x808a0000,
59870x00098200,
59880x70c60000,
59890x00090200,
59900x880a0000,
59910x00098200,
59920x812c0000,
59930xd8040000,
59940x28800000,
59950x810c0004,
59960x4c423382,
59970x39290000,
59980x00098200,
59990x40820000,
60000x00050802,
60010x0006000b,
60020x80f00000,
60030x3a100004,
60040x54e815ba,
60050x7c11402e,
60060x7c0903a6,
60070x54ea5d78,
60080x54ec9b78,
60090x54f4dd78,
60100x54eb9d78,
60110x4e800420,
60120x0006000c,
60130x28090000,
60140x00090200,
60150x40800000,
60160x0005080b,
60170x88c80000,
60180x00098200,
60190x70c60000,
60200x00090200,
60210x38710000,
60220x00098200,
60230x41820000,
60240x0005080b,
60250x48000001,
60260x00030031,
60270x48000000,
60280x0005000b,
60290x00000000,
60300x814efffc,
60310x5588007e,
60320x000900ab,
60330x5694007e,
60340x000900ab,
60350x2108fffc,
60360x3a940000,
60370x00098200,
60380x7d0f402e,
60390x7d4aa02e,
60400x88ca0000,
60410x00098200,
60420x808a0000,
60430x00098200,
60440x70c60000,
60450x00090200,
60460x88c80000,
60470x00098200,
60480x892a0000,
60490x00098200,
60500x38000000,
60510x00098200,
60520x91040004,
60530x90040000,
60540x40820000,
60550x00050802,
60560x0006000b,
60570x80f00000,
60580x3a100004,
60590x54e815ba,
60600x7c11402e,
60610x7c0903a6,
60620x54ea5d78,
60630x54ec9b78,
60640x54f4dd78,
60650x54eb9d78,
60660x4e800420,
60670x0006000c,
60680x70c60000,
60690x00090200,
60700x28890000,
60710x4c423382,
60720x38710000,
60730x00098200,
60740x41820000,
60750x0005080b,
60760x48000001,
60770x00030031,
60780x48000000,
60790x0005000b,
60800x00000000,
60810x814efffc,
60820x5694007e,
60830x000900ab,
60840x3a940000,
60850x00098200,
60860x7c0f64ae,
60870x7d4aa02e,
60880x80f00000,
60890x3a100004,
60900x810a0000,
60910x00098200,
60920xd8080000,
60930x54e815ba,
60940x7c11402e,
60950x7c0903a6,
60960x54ea5d78,
60970x54ec9b78,
60980x54f4dd78,
60990x54eb9d78,
61000x4e800420,
61010x00000000,
61020x814efffc,
61030x5694007e,
61040x000900ab,
61050x558000fe,
61060x000900ab,
61070x3a940000,
61080x00098200,
61090x7c0000f8,
61100x7d4aa02e,
61110x80f00000,
61120x3a100004,
61130x810a0000,
61140x00098200,
61150x90080000,
61160x54e815ba,
61170x7c11402e,
61180x7c0903a6,
61190x54ea5d78,
61200x54ec9b78,
61210x54f4dd78,
61220x54eb9d78,
61230x4e800420,
61240x00000000,
61250x81120000,
61260x00098200,
61270x5580007e,
61280x000900ab,
61290x3e100000,
61300x00098200,
61310x7e100214,
61320x91d20000,
61330x00098200,
61340x28080000,
61350x7e439378,
61360x41820000,
61370x00050801,
61380x7c8ea214,
61390x48000001,
61400x00030032,
61410x81d20000,
61420x00098200,
61430x0006000b,
61440x80f00000,
61450x3a100004,
61460x54e815ba,
61470x7c11402e,
61480x7c0903a6,
61490x54ea5d78,
61500x54ec9b78,
61510x54f4dd78,
61520x54eb9d78,
61530x4e800420,
61540x00000000,
61550x5588007e,
61560x000900ab,
61570x91d20000,
61580x00098200,
61590x2108fffc,
61600x92010020,
61610x7c8f402e,
61620x7e439378,
61630x80aefffc,
61640x48000001,
61650x00030033,
61660x81d20000,
61670x00098200,
61680x38000000,
61690x00098200,
61700x7c14716e,
61710x90740004,
61720x80f00000,
61730x3a100004,
61740x54e815ba,
61750x7c11402e,
61760x7c0903a6,
61770x54ea5d78,
61780x54ec9b78,
61790x54f4dd78,
61800x54eb9d78,
61810x4e800420,
61820x00000000,
61830x80110000,
61840x00098200,
61850x7e439378,
61860x81110000,
61870x00098200,
61880x91d20000,
61890x00098200,
61900x7c004040,
61910x92010020,
61920x40800000,
61930x00050805,
61940x0006000b,
61950x00000000,
61960x5584ed7e,
61970x558596fe,
61980x2c0407ff,
61990x41820000,
62000x00050803,
62010x0006000c,
62020x48000001,
62030x00030034,
62040x00000000,
62050x5588007e,
62060x000900ab,
62070x2108fffc,
62080x7c8f402e,
62090x48000001,
62100x00030035,
62110x00000000,
62120x81d20000,
62130x00098200,
62140x38000000,
62150x00098200,
62160x7c14716e,
62170x90740004,
62180x80f00000,
62190x3a100004,
62200x54e815ba,
62210x7c11402e,
62220x7c0903a6,
62230x54ea5d78,
62240x54ec9b78,
62250x54f4dd78,
62260x54eb9d78,
62270x4e800420,
62280x00000000,
62290x0006000d,
62300x38800801,
62310x48000000,
62320x0005000c,
62330x00000000,
62340x0006000f,
62350x7d956378,
62360x48000001,
62370x00030036,
62380x7eacab78,
62390x7e439378,
62400x48000000,
62410x0005000b,
62420x00000000,
62430x812efffc,
62440x5588007e,
62450x000900ab,
62460x81490000,
62470x00098200,
62480x2108fffc,
62490x7d6f402e,
62500x00000000,
62510x48000000,
62520x000500a4,
62530x00000000,
62540x48000000,
62550x000500a5,
62560x00000000,
62570x7c6a706e,
62580x7c8b706e,
62590x814a0004,
62600x00000000,
62610x816b0004,
62620x00000000,
62630xc80b0000,
62640x00000000,
62650x2c030000,
62660x00098200,
62670x7c84b040,
62680x40820000,
62690x00050830,
62700x00000000,
62710x800a0000,
62720x00098200,
62730x40860000,
62740x00050805,
62750x810a0000,
62760x00098200,
62770x7c005840,
62780x55691800,
62790x000900a1,
62800x00000000,
62810x40840000,
62820x00050805,
62830xfc20001e,
62840xfc40f02a,
62850xd8210010,
62860x800a0000,
62870x00098200,
62880xfc42f028,
62890x81210014,
62900x810a0000,
62910x00098200,
62920xfc801000,
62930x7c004840,
62940x4c213202,
62950x55291800,
62960x000900a1,
62970x00000000,
62980x40810000,
62990x00050830,
63000x7c08482e,
63010x7dc84cae,
63020x2c000000,
63030x00098200,
63040x41820000,
63050x00050802,
63060x0006000b,
63070x80f00000,
63080x3a100004,
63090x7dcea5ae,
63100x54e815ba,
63110x7c11402e,
63120x7c0903a6,
63130x54ea5d78,
63140x54ec9b78,
63150x54f4dd78,
63160x54eb9d78,
63170x4e800420,
63180x0006000c,
63190x812a0000,
63200x00098200,
63210x28090000,
63220x41820000,
63230x0005080b,
63240x88090000,
63250x00098200,
63260x70000000,
63270x00090200,
63280x40820000,
63290x0005080b,
63300x48000000,
63310x00050030,
63320x0006000f,
63330x2c040000,
63340x00098200,
63350x40820000,
63360x00050830,
63370x00000000,
63380x816b0004,
63390x00000000,
63400x48000000,
63410x000500a4,
63420x00000000,
63430x7c6a706e,
63440x5568007e,
63450x000900ab,
63460x814a0004,
63470x2108fffc,
63480x2c030000,
63490x00098200,
63500x7d6f402e,
63510x40820000,
63520x0005082d,
63530x000600a4,
63540x800a0000,
63550x00098200,
63560x810b0000,
63570x00098200,
63580x812a0000,
63590x00098200,
63600x7d080038,
63610x55002800,
63620x000900a1,
63630x55081800,
63640x000900a1,
63650x7d080050,
63660x7d294214,
63670x0006000b,
63680x80690000,
63690x00098200,
63700x80090000,
63710x00098200,
63720x80890000,
63730x00098200,
63740x81090000,
63750x00098200,
63760x2c030000,
63770x00098200,
63780x40820000,
63790x00050804,
63800x7c005800,
63810x40820000,
63820x00050804,
63830x2c040000,
63840x00098200,
63850x41820000,
63860x00050805,
63870x0006000d,
63880x7c94716e,
63890x91140004,
63900x80f00000,
63910x3a100004,
63920x54e815ba,
63930x7c11402e,
63940x7c0903a6,
63950x54ea5d78,
63960x54ec9b78,
63970x54f4dd78,
63980x54eb9d78,
63990x4e800420,
64000x0006000e,
64010x81290000,
64020x00098200,
64030x00000000,
64040x28090000,
64050x40820000,
64060x0005080b,
64070x38800000,
64080x00098200,
64090x0006000f,
64100x812a0000,
64110x00098200,
64120x28090000,
64130x41820000,
64140x0005080d,
64150x88090000,
64160x00098200,
64170x70000000,
64180x00090200,
64190x40820000,
64200x0005080d,
64210x48000000,
64220x0005002e,
64230x00000000,
64240x7c6a706e,
64250x556000fe,
64260x000900ab,
64270x814a0004,
64280x2c030000,
64290x00098200,
64300x40820000,
64310x0005082f,
64320x810a0000,
64330x00098200,
64340x812a0000,
64350x00098200,
64360x7c004040,
64370x40800000,
64380x0005082f,
64390x7d09582e,
64400x7c095cae,
64410x2c080000,
64420x00098200,
64430x41820000,
64440x00050805,
64450x0006000b,
64460x80f00000,
64470x3a100004,
64480x7c0ea5ae,
64490x54e815ba,
64500x7c11402e,
64510x7c0903a6,
64520x54ea5d78,
64530x54ec9b78,
64540x54f4dd78,
64550x54eb9d78,
64560x4e800420,
64570x0006000f,
64580x812a0000,
64590x00098200,
64600x28090000,
64610x41820000,
64620x0005080b,
64630x89290000,
64640x00098200,
64650x71290000,
64660x00090200,
64670x40820000,
64680x0005080b,
64690x48000000,
64700x0005002f,
64710x00000000,
64720x7c6a706e,
64730x7c8b706e,
64740x814a0004,
64750x00000000,
64760x816b0004,
64770x00000000,
64780xc80b0000,
64790x00000000,
64800x2c030000,
64810x00098200,
64820x7c84b040,
64830x40820000,
64840x00050834,
64850x00000000,
64860x800a0000,
64870x00098200,
64880x40860000,
64890x00050805,
64900x810a0000,
64910x00098200,
64920x7c005840,
64930x55601800,
64940x000900a1,
64950x00000000,
64960x40840000,
64970x00050805,
64980xfc20001e,
64990xfc40f02a,
65000xd8210010,
65010x800a0000,
65020x00098200,
65030xfc42f028,
65040x81210014,
65050x810a0000,
65060x00098200,
65070xfc801000,
65080x7c004840,
65090x4c213202,
65100x55201800,
65110x000900a1,
65120x00000000,
65130x40810000,
65140x00050834,
65150x7d28002e,
65160x88ca0000,
65170x00098200,
65180x7dcea4ae,
65190x2c090000,
65200x00098200,
65210x41820000,
65220x00050803,
65230x0006000b,
65240x70c90000,
65250x00090200,
65260x7dc805ae,
65270x40820000,
65280x00050807,
65290x0006000c,
65300x80f00000,
65310x3a100004,
65320x54e815ba,
65330x7c11402e,
65340x7c0903a6,
65350x54ea5d78,
65360x54ec9b78,
65370x54f4dd78,
65380x54eb9d78,
65390x4e800420,
65400x0006000d,
65410x812a0000,
65420x00098200,
65430x28090000,
65440x41820000,
65450x0005080b,
65460x89290000,
65470x00098200,
65480x71290000,
65490x00090200,
65500x40820000,
65510x0005080b,
65520x48000000,
65530x00050034,
65540x0006000f,
65550x2c040000,
65560x00098200,
65570x40820000,
65580x00050834,
65590x00000000,
65600x816b0004,
65610x00000000,
65620x48000000,
65630x000500a5,
65640x00060011,
65650x80110000,
65660x00098200,
65670x54c607b8,
65680x91510000,
65690x00098200,
65700x98ca0000,
65710x00098200,
65720x900a0000,
65730x00098200,
65740x48000000,
65750x0005000c,
65760x00000000,
65770x7c6a706e,
65780x5568007e,
65790x000900ab,
65800x814a0004,
65810x2108fffc,
65820x2c030000,
65830x00098200,
65840x7d6f402e,
65850x40820000,
65860x00050831,
65870x000600a5,
65880x800a0000,
65890x00098200,
65900x810b0000,
65910x00098200,
65920x812a0000,
65930x00098200,
65940x9b0a0000,
65950x00098200,
65960x7d080038,
65970x7dcea4ae,
65980x55002800,
65990x000900a1,
66000x55081800,
66010x000900a1,
66020x7d080050,
66030x88ca0000,
66040x00098200,
66050x7d294214,
66060x0006000b,
66070x80690000,
66080x00098200,
66090x80090000,
66100x00098200,
66110x80890000,
66120x00098200,
66130x81090000,
66140x00098200,
66150x2c030000,
66160x00098200,
66170x40820000,
66180x00050805,
66190x7c005800,
66200x40820000,
66210x00050805,
66220x2c040000,
66230x00098200,
66240x41820000,
66250x00050804,
66260x0006000c,
66270x00000000,
66280x70c00000,
66290x00090200,
66300xd9c90000,
66310x00098200,
66320x40820000,
66330x00050807,
66340x0006000d,
66350x80f00000,
66360x3a100004,
66370x54e815ba,
66380x7c11402e,
66390x7c0903a6,
66400x54ea5d78,
66410x54ec9b78,
66420x54f4dd78,
66430x54eb9d78,
66440x4e800420,
66450x0006000e,
66460x810a0000,
66470x00098200,
66480x28080000,
66490x41820000,
66500x0005080c,
66510x88080000,
66520x00098200,
66530x70000000,
66540x00090200,
66550x40820000,
66560x0005080c,
66570x48000000,
66580x00050032,
66590x0006000f,
66600x28080000,
66610x7d094378,
66620x40820000,
66630x0005080b,
66640x810a0000,
66650x00098200,
66660x38b10000,
66670x00098200,
66680x92010020,
66690x7e439378,
66700x28080000,
66710x91d20000,
66720x00098200,
66730x41820000,
66740x00050806,
66750x88080000,
66760x00098200,
66770x70000000,
66780x00090200,
66790x41820000,
66800x00050832,
66810x00060010,
66820x38000000,
66830x00098200,
66840x00000000,
66850x91650004,
66860x7d445378,
66870x90050000,
66880x48000001,
66890x00030037,
66900x81d20000,
66910x00098200,
66920xd9c30000,
66930x48000000,
66940x0005000d,
66950x00060011,
66960x80110000,
66970x00098200,
66980x54c607b8,
66990x91510000,
67000x00098200,
67010x98ca0000,
67020x00098200,
67030x900a0000,
67040x00098200,
67050x48000000,
67060x0005000d,
67070x00000000,
67080x7c6a706e,
67090x556000fe,
67100x000900ab,
67110x814a0004,
67120x2c030000,
67130x00098200,
67140x40820000,
67150x00050833,
67160x810a0000,
67170x00098200,
67180x812a0000,
67190x00098200,
67200x88ca0000,
67210x00098200,
67220x7c004040,
67230x7dcea4ae,
67240x40800000,
67250x00050833,
67260x7d09582e,
67270x2c080000,
67280x00098200,
67290x41820000,
67300x00050805,
67310x0006000b,
67320x70c00000,
67330x00090200,
67340x7dc95dae,
67350x40820000,
67360x00050807,
67370x0006000c,
67380x80f00000,
67390x3a100004,
67400x54e815ba,
67410x7c11402e,
67420x7c0903a6,
67430x54ea5d78,
67440x54ec9b78,
67450x54f4dd78,
67460x54eb9d78,
67470x4e800420,
67480x0006000f,
67490x810a0000,
67500x00098200,
67510x28080000,
67520x41820000,
67530x0005080b,
67540x89080000,
67550x00098200,
67560x71080000,
67570x00090200,
67580x40820000,
67590x0005080b,
67600x48000000,
67610x00050033,
67620x00060011,
67630x80110000,
67640x00098200,
67650x00000000,
67660x54c607b8,
67670x91510000,
67680x00098200,
67690x98ca0000,
67700x00098200,
67710x900a0000,
67720x00098200,
67730x48000000,
67740x0005000c,
67750x00000000,
67760x7e8ea214,
67770x0006000b,
67780x7ccf6214,
67790x8094fffc,
67800x3413fff8,
67810x80c60004,
67820x540500fe,
67830x000900ab,
67840x41820000,
67850x00050804,
67860x7ca53214,
67870x81240000,
67880x00098200,
67890x54c81800,
67900x000900a1,
67910x88c40000,
67920x00098200,
67930x7c054840,
67940x7d340214,
67950x80040000,
67960x00098200,
67970x41810000,
67980x00050805,
67990x7d080214,
68000x70c00000,
68010x00090200,
68020x0006000d,
68030xc8140000,
68040x3a940008,
68050x7c944800,
68060xd8080000,
68070x39080008,
68080x41840000,
68090x0005080d,
68100x40820000,
68110x00050807,
68120x0006000e,
68130x80f00000,
68140x3a100004,
68150x54e815ba,
68160x7c11402e,
68170x7c0903a6,
68180x54ea5d78,
68190x54ec9b78,
68200x54f4dd78,
68210x54eb9d78,
68220x4e800420,
68230x0006000f,
68240x91d20000,
68250x00098200,
68260x7e439378,
68270x92010020,
68280x7d956378,
68290x48000001,
68300x00030038,
68310x7eacab78,
68320x48000000,
68330x0005000b,
68340x00060011,
68350x80110000,
68360x00098200,
68370x54c607b8,
68380x90910000,
68390x00098200,
68400x98c40000,
68410x00098200,
68420x90040000,
68430x00098200,
68440x00000000,
68450x48000000,
68460x0005000e,
68470x00000000,
68480x7d6b9a14,
68490x00000000,
68500x7dc97378,
68510x7c0ea06e,
68520x814e0004,
68530x396bfff8,
68540x39ce0008,
68550x2c000000,
68560x00098200,
68570x40820000,
68580x00050825,
68590x920efff8,
68600x820a0000,
68610x00098200,
68620x80f00000,
68630x3a100004,
68640x54e815ba,
68650x54f4dd78,
68660x7c11402e,
68670x7e947214,
68680x7c0903a6,
68690x4e800420,
68700x00000000,
68710x7d6b9a14,
68720x00000000,
68730x7c14706e,
68740x81540004,
68750x396bfff8,
68760x810efff8,
68770x2c000000,
68780x00098200,
68790x3a940008,
68800x40820000,
68810x00050845,
68820x00060046,
68830x71000000,
68840x00090200,
68850x88ca0000,
68860x00098200,
68870x69090000,
68880x00090200,
68890x288b0000,
68900x40820000,
68910x00050807,
68920x0006000b,
68930x914efffc,
68940x39200000,
68950x2b860001,
68960x41860000,
68970x00050803,
68980x0006000c,
68990x38c90008,
69000x7c144cae,
69010x7c865840,
69020x7c0e4dae,
69030x7cc93378,
69040x40860000,
69050x0005080c,
69060x0006000d,
69070x4c42ea02,
69080x41820000,
69090x00050805,
69100x0006000e,
69110x820a0000,
69120x00098200,
69130x80f00000,
69140x3a100004,
69150x54e815ba,
69160x54f4dd78,
69170x7c11402e,
69180x7e947214,
69190x7c0903a6,
69200x4e800420,
69210x0006000f,
69220x80e8fffc,
69230x54f4dd78,
69240x7d147050,
69250x81080000,
69260x00098200,
69270x81080000,
69280x00098200,
69290x81e80000,
69300x00098200,
69310x48000000,
69320x0005000e,
69330x00060011,
69340x71200000,
69350x00090200,
69360x00000000,
69370x40820000,
69380x0005080b,
69390x7dc97050,
69400x810efff8,
69410x71000000,
69420x00090200,
69430x48000000,
69440x0005000b,
69450x00000000,
69460x7dc97378,
69470x7dcea214,
69480x810effe8,
69490x814effec,
69500xc82efff8,
69510xc80efff0,
69520x910e0000,
69530x914e0004,
69540x2c080000,
69550x00098200,
69560xd82e0010,
69570x39600010,
69580xdc0e0008,
69590x40820000,
69600x00050825,
69610x920efff8,
69620x820a0000,
69630x00098200,
69640x80f00000,
69650x3a100004,
69660x54e815ba,
69670x54f4dd78,
69680x7c11402e,
69690x7e947214,
69700x7c0903a6,
69710x4e800420,
69720x00000000,
69730x7e8ea214,
69740x8154fff4,
69750x8174fffc,
69760x800a0000,
69770x00098200,
69780x810a0000,
69790x00098200,
69800x3a100004,
69810x0006000b,
69820x7c0b0040,
69830x55661800,
69840x000900a1,
69850x40800000,
69860x00050805,
69870x7d28302e,
69880x7c0834ae,
69890x2c090000,
69900x00098200,
69910x80f0fffc,
69920x41820000,
69930x00050804,
69940x00000000,
69950x91740004,
69960x92d40000,
69970x00000000,
69980x9161000c,
69990xc8210008,
70000xfc21f028,
70010x00000000,
70020x396b0001,
70030x3cd00000,
70040x00098200,
70050xd8140008,
70060x54e893ba,
70070x9174fffc,
70080x7e083214,
70090x00000000,
70100xd8340000,
70110x00000000,
70120x0006000d,
70130x80f00000,
70140x3a100004,
70150x54e815ba,
70160x7c11402e,
70170x7c0903a6,
70180x54ea5d78,
70190x54ec9b78,
70200x54f4dd78,
70210x54eb9d78,
70220x4e800420,
70230x0006000e,
70240x396b0001,
70250x48000000,
70260x0005000b,
70270x0006000f,
70280x810a0000,
70290x00098200,
70300x7d605850,
70310x812a0000,
70320x00098200,
70330x00060010,
70340x7c0b4040,
70350x55662800,
70360x000900a1,
70370x41a10000,
70380x0005080d,
70390x556a1800,
70400x000900a1,
70410x7cca3050,
70420x7d49302e,
70430x7c0934ae,
70440x7cc93214,
70450x2c0a0000,
70460x00098200,
70470x80f0fffc,
70480x41820000,
70490x00050807,
70500xc8260000,
70510x00098200,
70520x3d300000,
70530x00098200,
70540xd8140008,
70550x7d6b0214,
70560x54e893ba,
70570xd8340000,
70580x396b0001,
70590x7e084a14,
70600x9174fffc,
70610x48000000,
70620x0005000d,
70630x00060011,
70640x396b0001,
70650x48000000,
70660x00050010,
70670x00000000,
70680x7e8ea214,
70690x8014ffe8,
70700x8114ffec,
70710x8134fff0,
70720x80d4fff8,
70730x2c090000,
70740x00098200,
70750x2c800000,
70760x00098200,
70770x2f060000,
70780x00098200,
70790x40860000,
70800x00050805,
70810x89080000,
70820x00098200,
70830x4c42d202,
70840x2f880000,
70850x00098200,
70860x5580007e,
70870x000900ab,
70880x4c42f202,
70890x7cd00214,
70900x40820000,
70910x00050805,
70920x9314fffc,
70930x3e060000,
70940x00098200,
70950x0006000b,
70960x80f00000,
70970x3a100004,
70980x54e815ba,
70990x7c11402e,
71000x7c0903a6,
71010x54ea5d78,
71020x54ec9b78,
71030x54f4dd78,
71040x54eb9d78,
71050x4e800420,
71060x0006000f,
71070x38000000,
71080x00098200,
71090x39000000,
71100x00098200,
71110x9810ffff,
71120x3e060000,
71130x00098200,
71140x99100003,
71150x48000000,
71160x0005000b,
71170x00000000,
71180x800efff8,
71190x7d6e5a14,
71200x7e8ea214,
71210x396b0000,
71220x00098200,
71230x7d345214,
71240x38cefff8,
71250x7d605850,
71260x288a0000,
71270x7d0b3051,
71280x41860000,
71290x00050805,
71300x3929fff0,
71310x40810000,
71320x00050802,
71330x0006000b,
71340xc80b0000,
71350x396b0008,
71360xd8140000,
71370x7c144840,
71380x7c8b3040,
71390x40800000,
71400x00050803,
71410x3a940008,
71420x41840000,
71430x0005080b,
71440x0006000c,
71450x92f40000,
71460x7c144840,
71470x3a940008,
71480x41800000,
71490x0005080c,
71500x0006000d,
71510x80f00000,
71520x3a100004,
71530x54e815ba,
71540x7c11402e,
71550x7c0903a6,
71560x54ea5d78,
71570x54ec9b78,
71580x54f4dd78,
71590x54eb9d78,
71600x4e800420,
71610x0006000f,
71620x80120000,
71630x00098200,
71640x3a600008,
71650x40a10000,
71660x0005080d,
71670x7d344214,
71680x7c090040,
71690x3a680008,
71700x41810000,
71710x00050807,
71720x00060010,
71730xc80b0000,
71740x396b0008,
71750xd8140000,
71760x7c0b3040,
71770x3a940008,
71780x41800000,
71790x00050810,
71800x48000000,
71810x0005000d,
71820x00060011,
71830x7e439378,
71840x92920000,
71850x00098200,
71860x7eae5850,
71870x91d20000,
71880x00098200,
71890x7e8ea050,
71900x92010020,
71910x550400fe,
71920x000900ab,
71930x48000001,
71940x00030000,
71950x81d20000,
71960x00098200,
71970x00000000,
71980x7e8ea214,
71990x7d6eaa14,
72000x38cefff8,
72010x48000000,
72020x00050010,
72030x00000000,
72040x7d8c9a14,
72050x00000000,
72060x820efff8,
72070x7e8ea214,
72080x7d936378,
72090x0006000b,
72100x72000000,
72110x00090200,
72120x6a080000,
72130x00090200,
72140x40820000,
72150x000508a6,
72160x00060017,
72170x80f0fffc,
72180x2c0c0008,
72190x392efff8,
72200x396cfff8,
72210x54ea5d78,
72220x41820000,
72230x00050803,
72240x39000000,
72250x0006000c,
72260x38c80008,
72270x7c1444ae,
72280x7c065800,
72290x7c0945ae,
72300x41820000,
72310x00050803,
72320x39060008,
72330x7c3434ae,
72340x7c085800,
72350x7c2935ae,
72360x40820000,
72370x0005080c,
72380x0006000d,
72390x0006000f,
72400x7c0a6040,
72410x54f4dd78,
72420x41810000,
72430x00050806,
72440x7dd44850,
72450x810efffc,
72460x80f00000,
72470x3a100004,
72480x81080000,
72490x00098200,
72500x81e80000,
72510x00098200,
72520x54e815ba,
72530x7c11402e,
72540x7c0903a6,
72550x54ea5d78,
72560x54ec9b78,
72570x54f4dd78,
72580x54eb9d78,
72590x4e800420,
72600x00060010,
72610x390cfff8,
72620x398c0008,
72630x7ee9412e,
72640x48000000,
72650x0005000f,
72660x000600a6,
72670x71090000,
72680x00090200,
72690x40820000,
72700x00050818,
72710x7dc87050,
72720x820efff8,
72730x48000000,
72740x0005000b,
72750x00000000,
72760x820efff8,
72770x7e8ea214,
72780x7d936378,
72790x72000000,
72800x00090200,
72810x6a080000,
72820x00090200,
72830x40a20000,
72840x000508a6,
72850x80f0fffc,
72860x392efff8,
72870x54ea5d78,
72880x00000000,
72890xc8140000,
72900xd8090000,
72910x00000000,
72920x0006000f,
72930x7c0a6040,
72940x54f4dd78,
72950x41810000,
72960x00050806,
72970x7dd44850,
72980x810efffc,
72990x80f00000,
73000x3a100004,
73010x81080000,
73020x00098200,
73030x81e80000,
73040x00098200,
73050x54e815ba,
73060x7c11402e,
73070x7c0903a6,
73080x54ea5d78,
73090x54ec9b78,
73100x54f4dd78,
73110x54eb9d78,
73120x4e800420,
73130x00060010,
73140x390cfff8,
73150x398c0008,
73160x7ee9412e,
73170x48000000,
73180x0005000f,
73190x00000000,
73200x5608fe7c,
73210x39080000,
73220x00098200,
73230x7d31422e,
73240x35290000,
73250x00098200,
73260x7d31432e,
73270x41800000,
73280x00050894,
73290x00000000,
73300x7d14706e,
73310x80740000,
73320x00098200,
73330x7c08b040,
73340x00000000,
73350x80b40000,
73360x00098200,
73370x40820000,
73380x00050809,
73390x7c632e15,
73400x2f050000,
73410x80940000,
73420x00098200,
73430x41830000,
73440x00050806,
73450x0006000e,
73460x90740000,
73470x00098200,
73480x00000000,
73490x80d40000,
73500x00098200,
73510x80b40000,
73520x00098200,
73530x81340000,
73540x00098200,
73550x80940000,
73560x00098200,
73570x7f86b040,
73580x7c89b040,
73590x4c42f202,
73600x4c423202,
73610x2f050000,
73620x40820000,
73630x00050809,
73640x00000000,
73650x41980000,
73660x00050805,
73670x7c032000,
73680x0006000b,
73690x92d40000,
73700x00098200,
73710x00000000,
73720x558c007e,
73730x000900ab,
73740x00000000,
73750x90740000,
73760x00098200,
73770x00000000,
73780x7d906214,
73790x00000000,
73800x41810000,
73810x00050803,
73820x00000000,
73830x3e0c0000,
73840x00098200,
73850x40a10000,
73860x00050807,
73870x00000000,
73880x41810000,
73890x00050802,
73900x3e0c0000,
73910x00098200,
73920x00000000,
73930x40a10000,
73940x00070800,
73950x00000000,
73960x0006000c,
73970x80f00000,
73980x3a100004,
73990x54e815ba,
74000x7c11402e,
74010x7c0903a6,
74020x54ea5d78,
74030x54ec9b78,
74040x54f4dd78,
74050x54eb9d78,
74060x4e800420,
74070x0006000f,
74080x7c041800,
74090x48000000,
74100x0005000b,
74110x00000000,
74120x00060010,
74130x7c000400,
74140x40a10000,
74150x0005080e,
74160x48000000,
74170x0005000c,
74180x00000000,
74190x00060013,
74200xc8340000,
74210x00098200,
74220x00000000,
74230x7c3474ee,
74240x00000000,
74250xc8740000,
74260x00098200,
74270xc8540000,
74280x00098200,
74290x80d40000,
74300x00098200,
74310xfc21182a,
74320xd8340000,
74330x00098200,
74340x00000000,
74350x00060013,
74360x00000000,
74370x7d14706e,
74380x80d40000,
74390x00098200,
74400x81340000,
74410x00098200,
74420x7c08b040,
74430x7f86b040,
74440x7c89b040,
74450x00000000,
74460xc8340000,
74470x00098200,
74480x4c00e202,
74490x4c002202,
74500xc8540000,
74510x00098200,
74520x40800000,
74530x00050847,
74540x00000000,
74550x2f060000,
74560x00000000,
74570x558c007e,
74580x000900ab,
74590x00000000,
74600xd8340000,
74610x00098200,
74620x00000000,
74630x7d906214,
74640x00000000,
74650xfc011000,
74660x00000000,
74670x3e0c0000,
74680x00098200,
74690x00000000,
74700x41980000,
74710x00050805,
74720x00000000,
74730x41810000,
74740x00050803,
74750x00000000,
74760x41a10000,
74770x0005080c,
74780x00000000,
74790x41810000,
74800x00050802,
74810x00000000,
74820x0006000b,
74830x3e0c0000,
74840x00098200,
74850x00000000,
74860x40a10000,
74870x00050807,
74880x00000000,
74890x40a10000,
74900x00070800,
74910x00000000,
74920x48000000,
74930x0005000c,
74940x00000000,
74950x0006000c,
74960x80f00000,
74970x3a100004,
74980x54e815ba,
74990x7c11402e,
75000x7c0903a6,
75010x54ea5d78,
75020x54ec9b78,
75030x54f4dd78,
75040x54eb9d78,
75050x4e800420,
75060x00000000,
75070x0006000f,
75080x00000000,
75090x40800000,
75100x0005080c,
75110x0006000d,
75120x3e0c0000,
75130x00098200,
75140x00000000,
75150x40a00000,
75160x0005080b,
75170x00000000,
75180x40a00000,
75190x00050807,
75200x00000000,
75210x40a00000,
75220x00070800,
75230x00000000,
75240x48000000,
75250x0005000c,
75260x00000000,
75270x00060011,
75280x80f0fffc,
75290x54ec9b78,
75300x48000000,
75310x00070000,
75320x00000000,
75330x5608fe7c,
75340x39080000,
75350x00098200,
75360x7d31422e,
75370x35290000,
75380x00098200,
75390x7d31432e,
75400x41800000,
75410x00050894,
75420x00000000,
75430x7d14706e,
75440x81340004,
75450x2c080000,
75460x00098200,
75470x41820000,
75480x00050801,
75490x00000000,
75500x9114fff8,
75510x9134fffc,
75520x48000000,
75530x00070000,
75540x00000000,
75550x5580007e,
75560x000900ab,
75570x3e100000,
75580x00098200,
75590x7e100214,
75600x9114fff8,
75610x9134fffc,
75620x00000000,
75630x0006000b,
75640x80f00000,
75650x3a100004,
75660x54e815ba,
75670x7c11402e,
75680x7c0903a6,
75690x54ea5d78,
75700x54ec9b78,
75710x54f4dd78,
75720x54eb9d78,
75730x4e800420,
75740x00000000,
75750x5608fe7c,
75760x39080000,
75770x00098200,
75780x7d31422e,
75790x35290000,
75800x00098200,
75810x7d31432e,
75820x41800000,
75830x00050894,
75840x00000000,
75850x80f00000,
75860x3a100004,
75870x54e815ba,
75880x7c11402e,
75890x7c0903a6,
75900x54ea5d78,
75910x54ec9b78,
75920x54f4dd78,
75930x54eb9d78,
75940x4e800420,
75950x00000000,
75960x81110000,
75970x00098200,
75980x558c007e,
75990x000900ab,
76000x93110000,
76010x00098200,
76020x7d28602e,
76030x7c000400,
76040x81290000,
76050x00098200,
76060x91d10000,
76070x00098200,
76080x7d2903a6,
76090x92510000,
76100x00098200,
76110x3bf10000,
76120x00098200,
76130x4e800420,
76140x00000000,
76150x5580007e,
76160x000900ab,
76170x3e100000,
76180x00098200,
76190x7e100214,
76200x80f00000,
76210x3a100004,
76220x54e815ba,
76230x7c11402e,
76240x7c0903a6,
76250x54ea5d78,
76260x54ec9b78,
76270x54f4dd78,
76280x54eb9d78,
76290x4e800420,
76300x00000000,
76310x5608fe7c,
76320x39080000,
76330x00098200,
76340x7d31422e,
76350x35290000,
76360x00098200,
76370x7d31432e,
76380x41800000,
76390x00050896,
76400x00000000,
76410x81320000,
76420x00098200,
76430x89100000,
76440x00098200,
76450x81f00000,
76460x00098200,
76470x7c144840,
76480x55081800,
76490x000900a1,
76500x41810000,
76510x00050820,
76520x00000000,
76530x80f00000,
76540x3a100004,
76550x00000000,
76560x0006000c,
76570x7c0b4040,
76580x41800000,
76590x00050803,
76600x00000000,
76610x54ec9b78,
76620x48000000,
76630x00070000,
76640x00000000,
76650x54e815ba,
76660x7c11402e,
76670x7c0903a6,
76680x54ea5d78,
76690x54ec9b78,
76700x54f4dd78,
76710x54eb9d78,
76720x4e800420,
76730x00000000,
76740x0006000d,
76750x7eee592e,
76760x396b0008,
76770x48000000,
76780x0005000c,
76790x00000000,
76800x7c810808,
76810x00000000,
76820x81320000,
76830x00098200,
76840x7d0e5a14,
76850x7c145a14,
76860x91480004,
76870x38cb0000,
76880x00098200,
76890x81f00000,
76900x00098200,
76910x7c004840,
76920x90c80000,
76930x40800000,
76940x00050820,
76950x89300000,
76960x00098200,
76970x7dd47378,
76980x7d0b4378,
76990x80f00000,
77000x3a100004,
77010x2c090000,
77020x39c80008,
77030x41820000,
77040x00050803,
77050x0006000b,
77060x7c145840,
77070x80140000,
77080x80d40004,
77090x40800000,
77100x00050804,
77110x92f40000,
77120x3a940008,
77130x0006000c,
77140x3529ffff,
77150x90080008,
77160x90c8000c,
77170x39080008,
77180x40820000,
77190x0005080b,
77200x0006000d,
77210x54e815ba,
77220x7c11402e,
77230x7c0903a6,
77240x54ea5d78,
77250x54ec9b78,
77260x54f4dd78,
77270x54eb9d78,
77280x4e800420,
77290x0006000e,
77300x38000000,
77310x00098200,
77320x48000000,
77330x0005000c,
77340x00000000,
77350x80ca0000,
77360x00098200,
77370x00000000,
77380x80d10000,
77390x00098200,
77400x00000000,
77410x7d145a14,
77420x81320000,
77430x00098200,
77440x7d6e5a14,
77450x91d20000,
77460x00098200,
77470x7c084840,
77480x91720000,
77490x00098200,
77500x38000000,
77510x00098200,
77520x7cc903a6,
77530x00000000,
77540x808a0000,
77550x00098200,
77560x00000000,
77570x7e439378,
77580x41810000,
77590x0005081f,
77600x90110000,
77610x00098200,
77620x4e800421,
77630x81d20000,
77640x00098200,
77650x546c1800,
77660x000900a1,
77670x81120000,
77680x00098200,
77690x38000000,
77700x00098200,
77710x820efff8,
77720x7e8c4050,
77730x90110000,
77740x00098200,
77750x48000000,
77760x00050016,
77770x00000000,
77780x00010000
7779};
7780
7781enum {
7782 GLOB_vm_returnp,
7783 GLOB_cont_dispatch,
7784 GLOB_vm_returnc,
7785 GLOB_BC_RET_Z,
7786 GLOB_vm_return,
7787 GLOB_vm_leave_cp,
7788 GLOB_vm_leave_unw,
7789 GLOB_vm_unwind_c,
7790 GLOB_vm_unwind_c_eh,
7791 GLOB_vm_unwind_ff,
7792 GLOB_vm_unwind_ff_eh,
7793 GLOB_vm_growstack_c,
7794 GLOB_vm_growstack_l,
7795 GLOB_vm_resume,
7796 GLOB_vm_pcall,
7797 GLOB_vm_call,
7798 GLOB_vm_call_dispatch,
7799 GLOB_vmeta_call,
7800 GLOB_vm_call_dispatch_f,
7801 GLOB_vm_cpcall,
7802 GLOB_cont_ffi_callback,
7803 GLOB_vm_call_tail,
7804 GLOB_cont_cat,
7805 GLOB_BC_CAT_Z,
7806 GLOB_cont_nop,
7807 GLOB_vmeta_tgets1,
7808 GLOB_vmeta_tgets,
7809 GLOB_vmeta_tgetb,
7810 GLOB_vmeta_tgetv,
7811 GLOB_vmeta_tsets1,
7812 GLOB_vmeta_tsets,
7813 GLOB_vmeta_tsetb,
7814 GLOB_vmeta_tsetv,
7815 GLOB_vmeta_comp,
7816 GLOB_vmeta_binop,
7817 GLOB_cont_ra,
7818 GLOB_cont_condt,
7819 GLOB_cont_condf,
7820 GLOB_vmeta_equal,
7821 GLOB_vmeta_equal_cd,
7822 GLOB_vmeta_arith_nv,
7823 GLOB_vmeta_arith_nv2,
7824 GLOB_vmeta_unm,
7825 GLOB_vmeta_arith_vn,
7826 GLOB_vmeta_arith_vv,
7827 GLOB_vmeta_arith_vn2,
7828 GLOB_vmeta_arith_vv2,
7829 GLOB_vmeta_len,
7830 GLOB_BC_LEN_Z,
7831 GLOB_vmeta_callt,
7832 GLOB_BC_CALLT_Z,
7833 GLOB_vmeta_for,
7834 GLOB_ff_assert,
7835 GLOB_fff_fallback,
7836 GLOB_fff_res,
7837 GLOB_ff_type,
7838 GLOB_fff_resn,
7839 GLOB_ff_getmetatable,
7840 GLOB_fff_restv,
7841 GLOB_ff_setmetatable,
7842 GLOB_ff_rawget,
7843 GLOB_ff_tonumber,
7844 GLOB_ff_tostring,
7845 GLOB_fff_gcstep,
7846 GLOB_ff_next,
7847 GLOB_ff_pairs,
7848 GLOB_ff_ipairs_aux,
7849 GLOB_ff_ipairs,
7850 GLOB_ff_pcall,
7851 GLOB_ff_xpcall,
7852 GLOB_ff_coroutine_resume,
7853 GLOB_ff_coroutine_wrap_aux,
7854 GLOB_ff_coroutine_yield,
7855 GLOB_ff_math_abs,
7856 GLOB_fff_resi,
7857 GLOB_fff_res1,
7858 GLOB_ff_math_floor,
7859 GLOB_ff_math_ceil,
7860 GLOB_ff_math_sqrt,
7861 GLOB_ff_math_log,
7862 GLOB_ff_math_log10,
7863 GLOB_ff_math_exp,
7864 GLOB_ff_math_sin,
7865 GLOB_ff_math_cos,
7866 GLOB_ff_math_tan,
7867 GLOB_ff_math_asin,
7868 GLOB_ff_math_acos,
7869 GLOB_ff_math_atan,
7870 GLOB_ff_math_sinh,
7871 GLOB_ff_math_cosh,
7872 GLOB_ff_math_tanh,
7873 GLOB_ff_math_pow,
7874 GLOB_ff_math_atan2,
7875 GLOB_ff_math_fmod,
7876 GLOB_ff_math_deg,
7877 GLOB_ff_math_rad,
7878 GLOB_ff_math_ldexp,
7879 GLOB_ff_math_frexp,
7880 GLOB_ff_math_modf,
7881 GLOB_ff_math_min,
7882 GLOB_ff_math_max,
7883 GLOB_ff_string_len,
7884 GLOB_ff_string_byte,
7885 GLOB_ff_string_char,
7886 GLOB_fff_newstr,
7887 GLOB_ff_string_sub,
7888 GLOB_ff_string_rep,
7889 GLOB_ff_string_reverse,
7890 GLOB_ff_string_lower,
7891 GLOB_ff_string_upper,
7892 GLOB_ff_table_getn,
7893 GLOB_ff_bit_band,
7894 GLOB_fff_tobit_fb,
7895 GLOB_fff_bitop_fb,
7896 GLOB_ff_bit_bor,
7897 GLOB_ff_bit_bxor,
7898 GLOB_ff_bit_bswap,
7899 GLOB_ff_bit_bnot,
7900 GLOB_ff_bit_lshift,
7901 GLOB_ff_bit_rshift,
7902 GLOB_ff_bit_arshift,
7903 GLOB_ff_bit_rol,
7904 GLOB_ff_bit_ror,
7905 GLOB_ff_bit_tobit,
7906 GLOB_vm_record,
7907 GLOB_vm_rethook,
7908 GLOB_vm_inshook,
7909 GLOB_cont_hook,
7910 GLOB_vm_hotloop,
7911 GLOB_vm_callhook,
7912 GLOB_vm_hotcall,
7913 GLOB_vm_exit_handler,
7914 GLOB_vm_exit_interp,
7915 GLOB_vm_floor,
7916 GLOB_vm_ceil,
7917 GLOB_vm_trunc,
7918 GLOB_vm_modi,
7919 GLOB_vm_foldarith,
7920 GLOB_vm_cachesync,
7921 GLOB_vm_ffi_callback,
7922 GLOB_vm_ffi_call,
7923 GLOB_BC_ISEQN_Z,
7924 GLOB_BC_ISNEN_Z,
7925 GLOB_BC_MODVN_Z,
7926 GLOB_BC_TGETS_Z,
7927 GLOB_BC_TSETS_Z,
7928 GLOB_BC_RETV_Z,
7929 GLOB__MAX
7930};
7931static const char *const globnames[] = {
7932 "vm_returnp",
7933 "cont_dispatch",
7934 "vm_returnc",
7935 "BC_RET_Z",
7936 "vm_return",
7937 "vm_leave_cp",
7938 "vm_leave_unw",
7939 "vm_unwind_c",
7940 "vm_unwind_c_eh",
7941 "vm_unwind_ff",
7942 "vm_unwind_ff_eh",
7943 "vm_growstack_c",
7944 "vm_growstack_l",
7945 "vm_resume",
7946 "vm_pcall",
7947 "vm_call",
7948 "vm_call_dispatch",
7949 "vmeta_call",
7950 "vm_call_dispatch_f",
7951 "vm_cpcall",
7952 "cont_ffi_callback",
7953 "vm_call_tail",
7954 "cont_cat",
7955 "BC_CAT_Z",
7956 "cont_nop",
7957 "vmeta_tgets1",
7958 "vmeta_tgets",
7959 "vmeta_tgetb",
7960 "vmeta_tgetv",
7961 "vmeta_tsets1",
7962 "vmeta_tsets",
7963 "vmeta_tsetb",
7964 "vmeta_tsetv",
7965 "vmeta_comp",
7966 "vmeta_binop",
7967 "cont_ra",
7968 "cont_condt",
7969 "cont_condf",
7970 "vmeta_equal",
7971 "vmeta_equal_cd",
7972 "vmeta_arith_nv",
7973 "vmeta_arith_nv2",
7974 "vmeta_unm",
7975 "vmeta_arith_vn",
7976 "vmeta_arith_vv",
7977 "vmeta_arith_vn2",
7978 "vmeta_arith_vv2",
7979 "vmeta_len",
7980 "BC_LEN_Z",
7981 "vmeta_callt",
7982 "BC_CALLT_Z",
7983 "vmeta_for",
7984 "ff_assert",
7985 "fff_fallback",
7986 "fff_res",
7987 "ff_type",
7988 "fff_resn",
7989 "ff_getmetatable",
7990 "fff_restv",
7991 "ff_setmetatable",
7992 "ff_rawget",
7993 "ff_tonumber",
7994 "ff_tostring",
7995 "fff_gcstep",
7996 "ff_next",
7997 "ff_pairs",
7998 "ff_ipairs_aux",
7999 "ff_ipairs",
8000 "ff_pcall",
8001 "ff_xpcall",
8002 "ff_coroutine_resume",
8003 "ff_coroutine_wrap_aux",
8004 "ff_coroutine_yield",
8005 "ff_math_abs",
8006 "fff_resi",
8007 "fff_res1",
8008 "ff_math_floor",
8009 "ff_math_ceil",
8010 "ff_math_sqrt",
8011 "ff_math_log",
8012 "ff_math_log10",
8013 "ff_math_exp",
8014 "ff_math_sin",
8015 "ff_math_cos",
8016 "ff_math_tan",
8017 "ff_math_asin",
8018 "ff_math_acos",
8019 "ff_math_atan",
8020 "ff_math_sinh",
8021 "ff_math_cosh",
8022 "ff_math_tanh",
8023 "ff_math_pow",
8024 "ff_math_atan2",
8025 "ff_math_fmod",
8026 "ff_math_deg",
8027 "ff_math_rad",
8028 "ff_math_ldexp",
8029 "ff_math_frexp",
8030 "ff_math_modf",
8031 "ff_math_min",
8032 "ff_math_max",
8033 "ff_string_len",
8034 "ff_string_byte",
8035 "ff_string_char",
8036 "fff_newstr",
8037 "ff_string_sub",
8038 "ff_string_rep",
8039 "ff_string_reverse",
8040 "ff_string_lower",
8041 "ff_string_upper",
8042 "ff_table_getn",
8043 "ff_bit_band",
8044 "fff_tobit_fb",
8045 "fff_bitop_fb",
8046 "ff_bit_bor",
8047 "ff_bit_bxor",
8048 "ff_bit_bswap",
8049 "ff_bit_bnot",
8050 "ff_bit_lshift",
8051 "ff_bit_rshift",
8052 "ff_bit_arshift",
8053 "ff_bit_rol",
8054 "ff_bit_ror",
8055 "ff_bit_tobit",
8056 "vm_record",
8057 "vm_rethook",
8058 "vm_inshook",
8059 "cont_hook",
8060 "vm_hotloop",
8061 "vm_callhook",
8062 "vm_hotcall",
8063 "vm_exit_handler",
8064 "vm_exit_interp",
8065 "vm_floor",
8066 "vm_ceil",
8067 "vm_trunc",
8068 "vm_modi",
8069 "vm_foldarith",
8070 "vm_cachesync",
8071 "vm_ffi_callback",
8072 "vm_ffi_call",
8073 "BC_ISEQN_Z",
8074 "BC_ISNEN_Z",
8075 "BC_MODVN_Z",
8076 "BC_TGETS_Z",
8077 "BC_TSETS_Z",
8078 "BC_RETV_Z",
8079 (const char *)0
8080};
8081static const char *const extnames[] = {
8082 "lj_state_growstack",
8083 "lj_meta_tget",
8084 "lj_meta_tset",
8085 "lj_meta_comp",
8086 "lj_meta_equal",
8087 "lj_meta_equal_cd",
8088 "lj_meta_arith",
8089 "lj_meta_len",
8090 "lj_meta_call",
8091 "lj_meta_for",
8092 "lj_tab_get",
8093 "lj_str_fromnumber",
8094 "lj_str_fromnum",
8095 "lj_tab_next",
8096 "lj_tab_getinth",
8097 "lj_ffh_coroutine_wrap_err",
8098 "floor",
8099 "ceil",
8100 "sqrt",
8101 "log",
8102 "log10",
8103 "exp",
8104 "sin",
8105 "cos",
8106 "tan",
8107 "asin",
8108 "acos",
8109 "atan",
8110 "sinh",
8111 "cosh",
8112 "tanh",
8113 "pow",
8114 "atan2",
8115 "fmod",
8116 "ldexp",
8117 "frexp",
8118 "modf",
8119 "lj_str_new",
8120 "lj_tab_len",
8121 "lj_gc_step",
8122 "lj_dispatch_ins",
8123 "lj_trace_hot",
8124 "lj_dispatch_call",
8125 "lj_trace_exit",
8126 "lj_err_throw",
8127 "trunc",
8128 "lj_ccallback_enter",
8129 "lj_ccallback_leave",
8130 "lj_meta_cat",
8131 "lj_gc_barrieruv",
8132 "lj_func_closeuv",
8133 "lj_func_newL_gc",
8134 "lj_tab_new",
8135 "lj_tab_dup",
8136 "lj_gc_step_fixtop",
8137 "lj_tab_newkey",
8138 "lj_tab_reasize",
8139 (const char *)0
8140};
8141#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
8142#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
8143#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
8144#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
8145#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
8146#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
8147#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
8148#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
8149#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
8150#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
8151#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
8152#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
8153#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
8154#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
8155#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
8156#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
8157
8158/* Generate subroutines used by opcodes and other parts of the VM. */
8159/* The .code_sub section should be last to help static branch prediction. */
8160static void build_subroutines(BuildCtx *ctx)
8161{
8162 dasm_put(Dst, 0);
8163 dasm_put(Dst, 1, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, ~LJ_VMST_C, Dt1(->base), DISPATCH_GL(vmstate), 31-3, Dt1(->top));
8164 dasm_put(Dst, 55, Dt1(->cframe), 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8);
8165 dasm_put(Dst, 105, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, Dt1(->maxstack));
8166 dasm_put(Dst, 154, Dt1(->top), 31-3, Dt1(->top), ~LJ_VMST_C, Dt1(->glref), Dt2(->vmstate), LJ_TISNUM, Dt1(->base), Dt1(->glref), LJ_TFALSE, LJ_TNIL, ~LJ_VMST_INTERP, GG_G2DISP);
8167 dasm_put(Dst, 217, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), 32-3, Dt1(->base), Dt1(->top), Dt7(->pc), 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4);
8168 dasm_put(Dst, 278, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4);
8169 dasm_put(Dst, 325, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), LJ_TISNUM, Dt1(->top), Dt1(->status), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate), FRAME_TYPE, LJ_TNIL);
8170 dasm_put(Dst, 393, 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4);
8171 dasm_put(Dst, 440, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, FRAME_CP, 56+(14-14)*4, 128+(14-14)*8);
8172 dasm_put(Dst, 488, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8);
8173 dasm_put(Dst, 535, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base), LJ_TISNUM, Dt1(->top));
8174 dasm_put(Dst, 586, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate), LJ_TFUNC, Dt7(->pc), 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4);
8175 dasm_put(Dst, 653, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4);
8176 dasm_put(Dst, 700, 128+(31-14)*8, Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP);
8177#if LJ_HASFFI
8178 dasm_put(Dst, 738);
8179#endif
8180 dasm_put(Dst, 740, Dt7(->pc));
8181#if LJ_HASFFI
8182 dasm_put(Dst, 746);
8183#endif
8184 dasm_put(Dst, 749, PC2PROTO(k));
8185#if LJ_HASFFI
8186 dasm_put(Dst, 754);
8187#endif
8188 dasm_put(Dst, 762, Dt1(->base), DISPATCH_GL(tmptv), LJ_TSTR, DISPATCH_GL(tmptv), LJ_TTAB, DISPATCH_GL(tmptv2), LJ_TSTR);
8189 if (!LJ_DUALNUM) {
8190 dasm_put(Dst, 807);
8191 }
8192 dasm_put(Dst, 811, DISPATCH_GL(tmptv));
8193 if (LJ_DUALNUM) {
8194 dasm_put(Dst, 816);
8195 } else {
8196 dasm_put(Dst, 819);
8197 }
8198 dasm_put(Dst, 821, Dt1(->base), FRAME_CONT, Dt1(->top), DISPATCH_GL(tmptv), LJ_TSTR, DISPATCH_GL(tmptv), LJ_TTAB, DISPATCH_GL(tmptv2), LJ_TSTR);
8199 if (!LJ_DUALNUM) {
8200 dasm_put(Dst, 889);
8201 }
8202 dasm_put(Dst, 893, DISPATCH_GL(tmptv));
8203 if (LJ_DUALNUM) {
8204 dasm_put(Dst, 898);
8205 } else {
8206 dasm_put(Dst, 901);
8207 }
8208 dasm_put(Dst, 903, Dt1(->base), FRAME_CONT, Dt1(->top));
8209 if (LJ_DUALNUM) {
8210 dasm_put(Dst, 948);
8211 } else {
8212 dasm_put(Dst, 950);
8213 }
8214 dasm_put(Dst, 952);
8215 if (LJ_DUALNUM) {
8216 dasm_put(Dst, 954);
8217 } else {
8218 dasm_put(Dst, 956);
8219 }
8220 dasm_put(Dst, 958, Dt1(->base), -(BCBIAS_J*4 >> 16), LJ_TTRUE, LJ_TTRUE, Dt1(->base));
8221#if LJ_HASFFI
8222 dasm_put(Dst, 1021, Dt1(->base));
8223#endif
8224 dasm_put(Dst, 1032);
8225 if (LJ_DUALNUM) {
8226 dasm_put(Dst, 1039);
8227 }
8228 dasm_put(Dst, 1044);
8229 if (LJ_DUALNUM) {
8230 dasm_put(Dst, 1058);
8231 }
8232 dasm_put(Dst, 1061);
8233 if (LJ_DUALNUM) {
8234 dasm_put(Dst, 1064);
8235 }
8236 dasm_put(Dst, 1067, Dt1(->base), FRAME_CONT);
8237#ifdef LUAJIT_ENABLE_LUA52COMPAT
8238 dasm_put(Dst, 1091);
8239#endif
8240 dasm_put(Dst, 1093, Dt1(->base));
8241#ifdef LUAJIT_ENABLE_LUA52COMPAT
8242 dasm_put(Dst, 1101);
8243#else
8244 dasm_put(Dst, 1108);
8245#endif
8246 dasm_put(Dst, 1111, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base));
8247#if LJ_HASJIT
8248 dasm_put(Dst, 1159);
8249#endif
8250 dasm_put(Dst, 1161);
8251#if LJ_HASJIT
8252 dasm_put(Dst, 1163, BC_JFORI);
8253#endif
8254 dasm_put(Dst, 1166);
8255#if LJ_HASJIT
8256 dasm_put(Dst, 1168, BC_JFORI);
8257#endif
8258 dasm_put(Dst, 1171, BC_FORI, LJ_TFALSE, ~LJ_TISNUM+1, 31-3, Dt8(->upvalue), LJ_TTAB, Dt6(->metatable));
8259 dasm_put(Dst, 1234, LJ_TNIL, DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]), Dt6(->hmask), LJ_TTAB, Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, DtB(->next));
8260 dasm_put(Dst, 1282, LJ_TNIL, LJ_TUDATA, ~LJ_TISNUM+1, 31-2, DISPATCH_GL(gcroot[GCROOT_BASEMT]), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
8261 dasm_put(Dst, 1337, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist), LJ_TTAB, LJ_TSTR, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base));
8262 dasm_put(Dst, 1397, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
8263 if (LJ_DUALNUM) {
8264 dasm_put(Dst, 1407);
8265 } else {
8266 dasm_put(Dst, 1410);
8267 }
8268 dasm_put(Dst, 1413, LJ_TSTR, LJ_TTAB, Dt1(->base), Dt1(->top), LJ_TNIL, (2+1)*8, LJ_TTAB);
8269#ifdef LUAJIT_ENABLE_LUA52COMPAT
8270 dasm_put(Dst, 1464, Dt6(->metatable), Dt8(->upvalue[0]));
8271#else
8272 dasm_put(Dst, 1473, Dt8(->upvalue[0]));
8273#endif
8274 dasm_put(Dst, 1477, (3+1)*8);
8275 if (LJ_DUALNUM) {
8276 dasm_put(Dst, 1489);
8277 } else {
8278 dasm_put(Dst, 1491);
8279 }
8280 dasm_put(Dst, 1493, LJ_TTAB);
8281 if (LJ_DUALNUM) {
8282 dasm_put(Dst, 1500);
8283 } else {
8284 dasm_put(Dst, 1505);
8285 }
8286 dasm_put(Dst, 1517, Dt6(->asize), Dt6(->array));
8287 if (!LJ_DUALNUM) {
8288 dasm_put(Dst, 1522);
8289 }
8290 dasm_put(Dst, 1524);
8291 if (LJ_DUALNUM) {
8292 dasm_put(Dst, 1528, 31-3);
8293 } else {
8294 dasm_put(Dst, 1533, 31-3);
8295 }
8296 dasm_put(Dst, 1537, LJ_TNIL, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8, (0+1)*8, LJ_TTAB);
8297#ifdef LUAJIT_ENABLE_LUA52COMPAT
8298 dasm_put(Dst, 1585, Dt6(->metatable), Dt8(->upvalue[0]));
8299#else
8300 dasm_put(Dst, 1594, Dt8(->upvalue[0]));
8301#endif
8302 if (LJ_DUALNUM) {
8303 dasm_put(Dst, 1598);
8304 } else {
8305 dasm_put(Dst, 1600);
8306 }
8307 dasm_put(Dst, 1602, (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask), LJ_TFUNC, 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe));
8308 dasm_put(Dst, 1662, Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate));
8309 dasm_put(Dst, 1724, Dt1(->maxstack), Dt1(->top), FRAME_TYPE, LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3);
8310 dasm_put(Dst, 1787, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP);
8311 dasm_put(Dst, 1846, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, 32-3, Dt1(->cframe));
8312 dasm_put(Dst, 1903, Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status));
8313 if (LJ_DUALNUM) {
8314 dasm_put(Dst, 1928);
8315 }
8316 dasm_put(Dst, 1949, (1+1)*8, FRAME_TYPE);
8317 if (LJ_DUALNUM) {
8318 dasm_put(Dst, 1991, 31-11, 32-21, 31-11);
8319 dasm_put(Dst, 2073, 31-11, 32-21, 31-11);
8320 } else {
8321 dasm_put(Dst, 2127);
8322 }
8323 dasm_put(Dst, 2154);
8324 dasm_put(Dst, 2213);
8325 dasm_put(Dst, 2271);
8326 dasm_put(Dst, 2327, Dt8(->upvalue[0]));
8327 dasm_put(Dst, 2393);
8328 if (LJ_DUALNUM) {
8329 dasm_put(Dst, 2397);
8330 } else {
8331 dasm_put(Dst, 2412);
8332 }
8333 dasm_put(Dst, 2430, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv));
8334 if (!LJ_DUALNUM) {
8335 dasm_put(Dst, 2452);
8336 }
8337 dasm_put(Dst, 2457, (2+1)*8);
8338 if (LJ_DUALNUM) {
8339 dasm_put(Dst, 2461);
8340 } else {
8341 dasm_put(Dst, 2464);
8342 }
8343 dasm_put(Dst, 2466, (2+1)*8);
8344 if (LJ_DUALNUM) {
8345 dasm_put(Dst, 2488);
8346 } else {
8347 dasm_put(Dst, 2557);
8348 }
8349 if (LJ_DUALNUM) {
8350 dasm_put(Dst, 2582);
8351 } else {
8352 dasm_put(Dst, 2651);
8353 }
8354 dasm_put(Dst, 2676, LJ_TSTR, Dt5(->len), LJ_TSTR, Dt5(->len));
8355 if (LJ_DUALNUM) {
8356 dasm_put(Dst, 2703, Dt5([1]), (0+1)*8);
8357 } else {
8358 dasm_put(Dst, 2715, Dt5([1]), 31-3);
8359 }
8360 dasm_put(Dst, 2731, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
8361 if (LJ_DUALNUM) {
8362 dasm_put(Dst, 2742);
8363 } else {
8364 dasm_put(Dst, 2750);
8365 }
8366 dasm_put(Dst, 2761, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
8367 if (!LJ_DUALNUM) {
8368 dasm_put(Dst, 2789);
8369 }
8370 dasm_put(Dst, 2791);
8371 if (LJ_DUALNUM) {
8372 dasm_put(Dst, 2797);
8373 } else {
8374 dasm_put(Dst, 2799);
8375 }
8376 dasm_put(Dst, 2801);
8377 if (LJ_DUALNUM) {
8378 dasm_put(Dst, 2805);
8379 } else {
8380 dasm_put(Dst, 2814);
8381 }
8382 dasm_put(Dst, 2825, LJ_TSTR);
8383 if (!LJ_DUALNUM) {
8384 dasm_put(Dst, 2830);
8385 }
8386 dasm_put(Dst, 2834, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
8387 if (LJ_DUALNUM) {
8388 dasm_put(Dst, 2884);
8389 } else {
8390 dasm_put(Dst, 2886);
8391 }
8392 dasm_put(Dst, 2888, LJ_TSTR);
8393 if (LJ_DUALNUM) {
8394 dasm_put(Dst, 2895);
8395 } else {
8396 dasm_put(Dst, 2899);
8397 }
8398 dasm_put(Dst, 2906, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(strempty), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, DISPATCH_GL(tmpbuf.sz));
8399 dasm_put(Dst, 2959, Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
8400 dasm_put(Dst, 3017, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), LJ_TTAB);
8401 if (LJ_DUALNUM) {
8402 dasm_put(Dst, 3086);
8403 } else {
8404 dasm_put(Dst, 3096);
8405 }
8406 dasm_put(Dst, 3109);
8407 if (LJ_DUALNUM) {
8408 dasm_put(Dst, 3115);
8409 } else {
8410 dasm_put(Dst, 3117);
8411 }
8412 dasm_put(Dst, 3119);
8413 if (LJ_DUALNUM) {
8414 dasm_put(Dst, 3123);
8415 } else {
8416 dasm_put(Dst, 3126);
8417 }
8418 dasm_put(Dst, 3132);
8419 if (LJ_DUALNUM) {
8420 dasm_put(Dst, 3137);
8421 } else {
8422 dasm_put(Dst, 3147);
8423 }
8424 dasm_put(Dst, 3160);
8425 if (LJ_DUALNUM) {
8426 dasm_put(Dst, 3166);
8427 } else {
8428 dasm_put(Dst, 3168);
8429 }
8430 dasm_put(Dst, 3170);
8431 if (LJ_DUALNUM) {
8432 dasm_put(Dst, 3174);
8433 } else {
8434 dasm_put(Dst, 3177);
8435 }
8436 dasm_put(Dst, 3183);
8437 if (LJ_DUALNUM) {
8438 dasm_put(Dst, 3188);
8439 } else {
8440 dasm_put(Dst, 3198);
8441 }
8442 dasm_put(Dst, 3211);
8443 if (LJ_DUALNUM) {
8444 dasm_put(Dst, 3217);
8445 } else {
8446 dasm_put(Dst, 3219);
8447 }
8448 dasm_put(Dst, 3221);
8449 if (LJ_DUALNUM) {
8450 dasm_put(Dst, 3225);
8451 } else {
8452 dasm_put(Dst, 3228);
8453 }
8454 dasm_put(Dst, 3234);
8455 if (LJ_DUALNUM) {
8456 dasm_put(Dst, 3239);
8457 } else {
8458 dasm_put(Dst, 3249);
8459 }
8460 dasm_put(Dst, 3262);
8461 if (LJ_DUALNUM) {
8462 dasm_put(Dst, 3269);
8463 } else {
8464 dasm_put(Dst, 3279);
8465 }
8466 dasm_put(Dst, 3292);
8467 if (LJ_DUALNUM) {
8468 dasm_put(Dst, 3296);
8469 } else {
8470 dasm_put(Dst, 3311);
8471 }
8472 dasm_put(Dst, 3332);
8473 if (LJ_DUALNUM) {
8474 dasm_put(Dst, 3337);
8475 } else {
8476 dasm_put(Dst, 3352);
8477 }
8478 dasm_put(Dst, 3373);
8479 if (LJ_DUALNUM) {
8480 dasm_put(Dst, 3378);
8481 } else {
8482 dasm_put(Dst, 3393);
8483 }
8484 dasm_put(Dst, 3414);
8485 if (LJ_DUALNUM) {
8486 dasm_put(Dst, 3419);
8487 } else {
8488 dasm_put(Dst, 3434);
8489 }
8490 dasm_put(Dst, 3455);
8491 if (LJ_DUALNUM) {
8492 dasm_put(Dst, 3459);
8493 } else {
8494 dasm_put(Dst, 3474);
8495 }
8496 dasm_put(Dst, 3495);
8497 if (LJ_DUALNUM) {
8498 dasm_put(Dst, 3500);
8499 } else {
8500 dasm_put(Dst, 3510);
8501 }
8502 if (LJ_DUALNUM) {
8503 dasm_put(Dst, 3523);
8504 } else {
8505 dasm_put(Dst, 3526);
8506 }
8507 dasm_put(Dst, 3532);
8508 if (LJ_DUALNUM) {
8509 dasm_put(Dst, 3540);
8510 }
8511 dasm_put(Dst, 3548);
8512 if (LJ_DUALNUM) {
8513 dasm_put(Dst, 3550);
8514 }
8515 dasm_put(Dst, 3558, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK);
8516 dasm_put(Dst, 3622, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
8517#if LJ_HASJIT
8518 dasm_put(Dst, 3648, DISPATCH_GL(hookmask), HOOK_VMEVENT, DISPATCH_GL(hookcount), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
8519#endif
8520 dasm_put(Dst, 3670, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base));
8521 dasm_put(Dst, 3717, GG_DISP2STATIC);
8522#if LJ_HASJIT
8523 dasm_put(Dst, 3735, GG_DISP2J, Dt7(->pc), DISPATCH_J(L), PC2PROTO(framesize), Dt1(->base), 31-3, Dt1(->top));
8524#endif
8525 dasm_put(Dst, 3758);
8526#if LJ_HASJIT
8527 dasm_put(Dst, 3761);
8528#endif
8529 dasm_put(Dst, 3764);
8530#if LJ_HASJIT
8531 dasm_put(Dst, 3766);
8532#endif
8533 dasm_put(Dst, 3769, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
8534#if LJ_HASJIT
8535 dasm_put(Dst, 3792, -(16+32*8+32*4), 16+32*8+2*4, -GG_DISP2G-32768, ~LJ_VMST_EXIT, 16+32*8+32*4, DISPATCH_GL(vmstate), 16+0*8, 16+1*8, 16+2*8, 16+3*8, 16+4*8, 16+5*8, 16+6*8, 16+7*8, 16+32*8+32*4, 16+8*8, 16+9*8, 16+10*8, 16+11*8, 16+32*8+1*4, 16+12*8, 16+13*8);
8536 dasm_put(Dst, 3839, 16+14*8, 16+15*8, 16+16*8, 16+17*8, 16+18*8, 16+19*8, 16+32*8+0*4, 16+20*8, 16+21*8, 16+22*8, 16+23*8, 16+24*8, 16+25*8, 16+26*8, 16+27*8, DISPATCH_GL(jit_L), 16+28*8, 16+29*8, 16+30*8, 16+31*8, DISPATCH_GL(jit_base), 32-2);
8537 dasm_put(Dst, 3888, DISPATCH_J(L), DISPATCH_GL(jit_L), DISPATCH_J(parent), Dt1(->base), GG_DISP2J, DISPATCH_J(exitno), Dt1(->cframe), Dt1(->base));
8538#endif
8539 dasm_put(Dst, 3916);
8540#if LJ_HASJIT
8541 dasm_put(Dst, 3918, -GG_DISP2G-32768, 31-3, Dt7(->pc), DISPATCH_GL(jit_L), PC2PROTO(k), LJ_TISNUM, LJ_TNIL, DISPATCH_GL(vmstate), BC_FUNCF*4);
8542#endif
8543 dasm_put(Dst, 3975);
8544#if LJ_HASJIT
8545 dasm_put(Dst, 3983);
8546#endif
8547 dasm_put(Dst, 3986);
8548#if LJ_HASJIT
8549 dasm_put(Dst, 4066);
8550#else
8551 dasm_put(Dst, 4088);
8552#endif
8553 dasm_put(Dst, 4090);
8554#if LJ_HASFFI
8555#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
8556 dasm_put(Dst, 4114, 56+(14-14)*4, 128+(14-14)*8, 56+(15-14)*4, 128+(15-14)*8, 56+(16-14)*4, 128+(16-14)*8, 56+(17-14)*4, 128+(17-14)*8, 56+(18-14)*4, 128+(18-14)*8, 56+(19-14)*4, 128+(19-14)*8, 56+(20-14)*4, 128+(20-14)*8, 56+(21-14)*4, 128+(21-14)*8, 56+(22-14)*4, 128+(22-14)*8, 56+(23-14)*4, 128+(23-14)*8, 56+(24-14)*4, 128+(24-14)*8);
8557 dasm_put(Dst, 4162, 56+(25-14)*4, 128+(25-14)*8, 56+(26-14)*4, 128+(26-14)*8, 56+(27-14)*4, 128+(27-14)*8, 56+(28-14)*4, 128+(28-14)*8, 56+(29-14)*4, 128+(29-14)*8, 56+(30-14)*4, 128+(30-14)*8, 56+(31-14)*4, 128+(31-14)*8, Dt2(->ctype_state), GG_G2DISP, DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]), DtE(->cb.gpr[1]), DtE(->cb.fpr[1]), DtE(->cb.gpr[2]));
8558 dasm_put(Dst, 4209, DtE(->cb.fpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[3]), DtE(->cb.gpr[4]), DtE(->cb.fpr[4]), DtE(->cb.gpr[5]), DtE(->cb.fpr[5]), DtE(->cb.gpr[6]), DtE(->cb.fpr[6]), DtE(->cb.gpr[7]), DtE(->cb.fpr[7]), 272+8, DtE(->cb.stack), Dt1(->base), LJ_TISNUM, Dt1(->top), LJ_TNIL, ~LJ_VMST_INTERP, DISPATCH_GL(vmstate), Dt7(->pc));
8559#endif
8560 dasm_put(Dst, 4273);
8561#if LJ_HASFFI
8562 dasm_put(Dst, 4275, DISPATCH_GL(ctype_state), Dt1(->base), Dt1(->top), DtE(->L), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]), DtE(->cb.gpr[1]));
8563#endif
8564 dasm_put(Dst, 4296);
8565#if LJ_HASFFI
8566#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
8567 dasm_put(Dst, 4298, DtF(->spadj), DtF(->nsp), DtF(->nfpr), DtF(->stack), 31-2, DtF(->fpr[0]), DtF(->fpr[1]), DtF(->fpr[2]), DtF(->fpr[3]), DtF(->fpr[4]), DtF(->fpr[5]), DtF(->fpr[6]), DtF(->fpr[7]), DtF(->func), DtF(->gpr[1]), DtF(->gpr[2]));
8568 dasm_put(Dst, 4355, DtF(->gpr[3]), DtF(->gpr[4]), DtF(->gpr[5]), DtF(->gpr[6]), DtF(->gpr[7]), DtF(->gpr[0]), DtF(->gpr[0]), DtF(->fpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]));
8569#endif
8570}
8571
8572/* Generate the code for a single instruction. */
8573static void build_ins(BuildCtx *ctx, BCOp op, int defop)
8574{
8575 int vk = 0;
8576 dasm_put(Dst, 4387, defop);
8577
8578 switch (op) {
8579
8580 /* -- Comparison ops ---------------------------------------------------- */
8581
8582 /* Remember: all ops branch for a true comparison, fall through otherwise. */
8583
8584 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
8585 if (LJ_DUALNUM) {
8586 dasm_put(Dst, 4389, -(BCBIAS_J*4 >> 16));
8587 if (op == BC_ISLT) {
8588 dasm_put(Dst, 4406);
8589 } else if (op == BC_ISGE) {
8590 dasm_put(Dst, 4409);
8591 } else if (op == BC_ISLE) {
8592 dasm_put(Dst, 4412);
8593 } else {
8594 dasm_put(Dst, 4415);
8595 }
8596 dasm_put(Dst, 4418);
8597 if (op == BC_ISLT) {
8598 dasm_put(Dst, 4457);
8599 } else if (op == BC_ISGE) {
8600 dasm_put(Dst, 4460);
8601 } else if (op == BC_ISLE) {
8602 dasm_put(Dst, 4463);
8603 } else {
8604 dasm_put(Dst, 4467);
8605 }
8606 dasm_put(Dst, 4471);
8607 } else {
8608 dasm_put(Dst, 4474, -(BCBIAS_J*4 >> 16));
8609 if (op == BC_ISLT) {
8610 dasm_put(Dst, 4491);
8611 } else if (op == BC_ISGE) {
8612 dasm_put(Dst, 4494);
8613 } else if (op == BC_ISLE) {
8614 dasm_put(Dst, 4497);
8615 } else {
8616 dasm_put(Dst, 4501);
8617 }
8618 dasm_put(Dst, 4505);
8619 }
8620 break;
8621
8622 case BC_ISEQV: case BC_ISNEV:
8623 vk = op == BC_ISEQV;
8624 if (LJ_DUALNUM) {
8625 dasm_put(Dst, 4518, -(BCBIAS_J*4 >> 16));
8626 if (vk) {
8627 dasm_put(Dst, 4531);
8628 } else {
8629 dasm_put(Dst, 4534);
8630 }
8631 } else {
8632 dasm_put(Dst, 4537, -(BCBIAS_J*4 >> 16));
8633 if (vk) {
8634 dasm_put(Dst, 4554);
8635 } else {
8636 dasm_put(Dst, 4558);
8637 }
8638 dasm_put(Dst, 4562);
8639 }
8640 dasm_put(Dst, 4574);
8641 if (!LJ_DUALNUM) {
8642 dasm_put(Dst, 4576);
8643 }
8644 if (LJ_HASFFI) {
8645 dasm_put(Dst, 4579, LJ_TCDATA, LJ_TCDATA);
8646 }
8647 dasm_put(Dst, 4584, ~LJ_TISPRI);
8648 if (LJ_HASFFI) {
8649 dasm_put(Dst, 4589);
8650 }
8651 dasm_put(Dst, 4591, ~LJ_TISTABUD);
8652 if (LJ_HASFFI) {
8653 dasm_put(Dst, 4594);
8654 }
8655 dasm_put(Dst, 4597);
8656 if (vk) {
8657 dasm_put(Dst, 4605);
8658 } else {
8659 dasm_put(Dst, 4610);
8660 }
8661 if (LJ_DUALNUM) {
8662 dasm_put(Dst, 4615);
8663 } else {
8664 dasm_put(Dst, 4630);
8665 }
8666 dasm_put(Dst, 4633, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq);
8667 break;
8668
8669 case BC_ISEQS: case BC_ISNES:
8670 vk = op == BC_ISEQS;
8671 dasm_put(Dst, 4652, 32-1);
8672 if (LJ_HASFFI) {
8673 dasm_put(Dst, 4660, LJ_TCDATA);
8674 }
8675 dasm_put(Dst, 4663, LJ_TSTR);
8676 if (LJ_HASFFI) {
8677 dasm_put(Dst, 4667);
8678 }
8679 dasm_put(Dst, 4670, -(BCBIAS_J*4 >> 16));
8680 if (vk) {
8681 dasm_put(Dst, 4678);
8682 } else {
8683 dasm_put(Dst, 4680);
8684 }
8685 dasm_put(Dst, 4682);
8686 break;
8687
8688 case BC_ISEQN: case BC_ISNEN:
8689 vk = op == BC_ISEQN;
8690 if (LJ_DUALNUM) {
8691 dasm_put(Dst, 4694, -(BCBIAS_J*4 >> 16));
8692 if (vk) {
8693 dasm_put(Dst, 4706);
8694 } else {
8695 dasm_put(Dst, 4708);
8696 }
8697 dasm_put(Dst, 4710);
8698 } else {
8699 if (vk) {
8700 dasm_put(Dst, 4717);
8701 } else {
8702 dasm_put(Dst, 4719);
8703 }
8704 dasm_put(Dst, 4721, -(BCBIAS_J*4 >> 16));
8705 }
8706 if (vk) {
8707 dasm_put(Dst, 4734);
8708 if (!LJ_HASFFI) {
8709 dasm_put(Dst, 4739);
8710 }
8711 } else {
8712 dasm_put(Dst, 4741);
8713 if (!LJ_HASFFI) {
8714 dasm_put(Dst, 4745);
8715 }
8716 dasm_put(Dst, 4747);
8717 }
8718 dasm_put(Dst, 4750);
8719 if (LJ_HASFFI) {
8720 dasm_put(Dst, 4761, LJ_TCDATA);
8721 }
8722 if (LJ_DUALNUM) {
8723 dasm_put(Dst, 4769);
8724 }
8725 break;
8726
8727 case BC_ISEQP: case BC_ISNEP:
8728 vk = op == BC_ISEQP;
8729 dasm_put(Dst, 4793, 32-3);
8730 if (LJ_HASFFI) {
8731 dasm_put(Dst, 4800, LJ_TCDATA);
8732 }
8733 dasm_put(Dst, 4803);
8734 if (LJ_HASFFI) {
8735 dasm_put(Dst, 4805);
8736 }
8737 dasm_put(Dst, 4808, -(BCBIAS_J*4 >> 16));
8738 if (vk) {
8739 dasm_put(Dst, 4814);
8740 } else {
8741 dasm_put(Dst, 4816);
8742 }
8743 dasm_put(Dst, 4818);
8744 break;
8745
8746 /* -- Unary test and copy ops ------------------------------------------- */
8747
8748 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
8749 dasm_put(Dst, 4830);
8750 if (op == BC_IST || op == BC_ISF) {
8751 dasm_put(Dst, 4834, LJ_TTRUE, -(BCBIAS_J*4 >> 16));
8752 if (op == BC_IST) {
8753 dasm_put(Dst, 4841);
8754 } else {
8755 dasm_put(Dst, 4843);
8756 }
8757 dasm_put(Dst, 4845);
8758 } else {
8759 dasm_put(Dst, 4847, LJ_TFALSE);
8760 if (op == BC_ISTC) {
8761 dasm_put(Dst, 4852);
8762 } else {
8763 dasm_put(Dst, 4855);
8764 }
8765 dasm_put(Dst, 4858, -(BCBIAS_J*4 >> 16));
8766 }
8767 dasm_put(Dst, 4865);
8768 break;
8769
8770 /* -- Unary ops --------------------------------------------------------- */
8771
8772 case BC_MOV:
8773 dasm_put(Dst, 4876);
8774 break;
8775 case BC_NOT:
8776 dasm_put(Dst, 4889, LJ_TTRUE);
8777 break;
8778 case BC_UNM:
8779 dasm_put(Dst, 4905);
8780 if (LJ_DUALNUM) {
8781 dasm_put(Dst, 4909);
8782 }
8783 dasm_put(Dst, 4937);
8784 if (LJ_DUALNUM) {
8785 dasm_put(Dst, 4947);
8786 } else {
8787 dasm_put(Dst, 4950);
8788 }
8789 break;
8790 case BC_LEN:
8791 dasm_put(Dst, 4959, LJ_TSTR, Dt5(->len));
8792 if (LJ_DUALNUM) {
8793 dasm_put(Dst, 4969);
8794 } else {
8795 dasm_put(Dst, 4974);
8796 }
8797 dasm_put(Dst, 4981, LJ_TTAB);
8798#ifdef LUAJIT_ENABLE_LUA52COMPAT
8799 dasm_put(Dst, 4995, Dt6(->metatable));
8800#endif
8801 dasm_put(Dst, 5002);
8802#ifdef LUAJIT_ENABLE_LUA52COMPAT
8803 dasm_put(Dst, 5008, Dt6(->nomm), 1<<MM_len);
8804#endif
8805 break;
8806
8807 /* -- Binary ops -------------------------------------------------------- */
8808
8809
8810 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
8811 if (LJ_DUALNUM) {
8812 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
8813 switch (vk) {
8814 case 0:
8815 dasm_put(Dst, 5018);
8816 break;
8817 case 1:
8818 dasm_put(Dst, 5024);
8819 break;
8820 default:
8821 dasm_put(Dst, 5030);
8822 break;
8823 }
8824 dasm_put(Dst, 5036);
8825 switch (vk) {
8826 case 0:
8827 dasm_put(Dst, 5063);
8828 break;
8829 case 1:
8830 dasm_put(Dst, 5066);
8831 break;
8832 default:
8833 dasm_put(Dst, 5069);
8834 break;
8835 }
8836 dasm_put(Dst, 5072);
8837 if (vk == 1) {
8838 dasm_put(Dst, 5074);
8839 } else {
8840 dasm_put(Dst, 5078);
8841 }
8842 switch (vk) {
8843 case 0:
8844 dasm_put(Dst, 5082);
8845 break;
8846 case 1:
8847 dasm_put(Dst, 5085);
8848 break;
8849 default:
8850 dasm_put(Dst, 5088);
8851 break;
8852 }
8853 dasm_put(Dst, 5091);
8854 } else {
8855 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
8856 switch (vk) {
8857 case 0:
8858 dasm_put(Dst, 5098);
8859 if (LJ_DUALNUM) {
8860 dasm_put(Dst, 5100);
8861 }
8862 dasm_put(Dst, 5102);
8863 if (LJ_DUALNUM) {
8864 dasm_put(Dst, 5105);
8865 } else {
8866 dasm_put(Dst, 5111);
8867 }
8868 break;
8869 case 1:
8870 dasm_put(Dst, 5115);
8871 if (LJ_DUALNUM) {
8872 dasm_put(Dst, 5117);
8873 }
8874 dasm_put(Dst, 5119);
8875 if (LJ_DUALNUM) {
8876 dasm_put(Dst, 5122);
8877 } else {
8878 dasm_put(Dst, 5128);
8879 }
8880 break;
8881 default:
8882 dasm_put(Dst, 5132);
8883 break;
8884 }
8885 dasm_put(Dst, 5142);
8886 }
8887 break;
8888 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
8889 if (LJ_DUALNUM) {
8890 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
8891 switch (vk) {
8892 case 0:
8893 dasm_put(Dst, 5155);
8894 break;
8895 case 1:
8896 dasm_put(Dst, 5161);
8897 break;
8898 default:
8899 dasm_put(Dst, 5167);
8900 break;
8901 }
8902 dasm_put(Dst, 5173);
8903 switch (vk) {
8904 case 0:
8905 dasm_put(Dst, 5200);
8906 break;
8907 case 1:
8908 dasm_put(Dst, 5203);
8909 break;
8910 default:
8911 dasm_put(Dst, 5206);
8912 break;
8913 }
8914 dasm_put(Dst, 5209);
8915 if (vk == 1) {
8916 dasm_put(Dst, 5211);
8917 } else {
8918 dasm_put(Dst, 5215);
8919 }
8920 switch (vk) {
8921 case 0:
8922 dasm_put(Dst, 5219);
8923 break;
8924 case 1:
8925 dasm_put(Dst, 5222);
8926 break;
8927 default:
8928 dasm_put(Dst, 5225);
8929 break;
8930 }
8931 dasm_put(Dst, 5228);
8932 } else {
8933 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
8934 switch (vk) {
8935 case 0:
8936 dasm_put(Dst, 5235);
8937 if (LJ_DUALNUM) {
8938 dasm_put(Dst, 5237);
8939 }
8940 dasm_put(Dst, 5239);
8941 if (LJ_DUALNUM) {
8942 dasm_put(Dst, 5242);
8943 } else {
8944 dasm_put(Dst, 5248);
8945 }
8946 break;
8947 case 1:
8948 dasm_put(Dst, 5252);
8949 if (LJ_DUALNUM) {
8950 dasm_put(Dst, 5254);
8951 }
8952 dasm_put(Dst, 5256);
8953 if (LJ_DUALNUM) {
8954 dasm_put(Dst, 5259);
8955 } else {
8956 dasm_put(Dst, 5265);
8957 }
8958 break;
8959 default:
8960 dasm_put(Dst, 5269);
8961 break;
8962 }
8963 dasm_put(Dst, 5279);
8964 }
8965 break;
8966 case BC_MULVN: case BC_MULNV: case BC_MULVV:
8967 if (LJ_DUALNUM) {
8968 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
8969 switch (vk) {
8970 case 0:
8971 dasm_put(Dst, 5292);
8972 break;
8973 case 1:
8974 dasm_put(Dst, 5298);
8975 break;
8976 default:
8977 dasm_put(Dst, 5304);
8978 break;
8979 }
8980 dasm_put(Dst, 5310);
8981 switch (vk) {
8982 case 0:
8983 dasm_put(Dst, 5337);
8984 break;
8985 case 1:
8986 dasm_put(Dst, 5340);
8987 break;
8988 default:
8989 dasm_put(Dst, 5343);
8990 break;
8991 }
8992 dasm_put(Dst, 5346);
8993 if (vk == 1) {
8994 dasm_put(Dst, 5348);
8995 } else {
8996 dasm_put(Dst, 5352);
8997 }
8998 switch (vk) {
8999 case 0:
9000 dasm_put(Dst, 5356);
9001 break;
9002 case 1:
9003 dasm_put(Dst, 5359);
9004 break;
9005 default:
9006 dasm_put(Dst, 5362);
9007 break;
9008 }
9009 dasm_put(Dst, 5365);
9010 } else {
9011 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
9012 switch (vk) {
9013 case 0:
9014 dasm_put(Dst, 5372);
9015 if (LJ_DUALNUM) {
9016 dasm_put(Dst, 5374);
9017 }
9018 dasm_put(Dst, 5376);
9019 if (LJ_DUALNUM) {
9020 dasm_put(Dst, 5379);
9021 } else {
9022 dasm_put(Dst, 5385);
9023 }
9024 break;
9025 case 1:
9026 dasm_put(Dst, 5389);
9027 if (LJ_DUALNUM) {
9028 dasm_put(Dst, 5391);
9029 }
9030 dasm_put(Dst, 5393);
9031 if (LJ_DUALNUM) {
9032 dasm_put(Dst, 5396);
9033 } else {
9034 dasm_put(Dst, 5402);
9035 }
9036 break;
9037 default:
9038 dasm_put(Dst, 5406);
9039 break;
9040 }
9041 dasm_put(Dst, 5416);
9042 }
9043 break;
9044 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
9045 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
9046 switch (vk) {
9047 case 0:
9048 dasm_put(Dst, 5429);
9049 if (LJ_DUALNUM) {
9050 dasm_put(Dst, 5431);
9051 }
9052 dasm_put(Dst, 5433);
9053 if (LJ_DUALNUM) {
9054 dasm_put(Dst, 5436);
9055 } else {
9056 dasm_put(Dst, 5442);
9057 }
9058 break;
9059 case 1:
9060 dasm_put(Dst, 5446);
9061 if (LJ_DUALNUM) {
9062 dasm_put(Dst, 5448);
9063 }
9064 dasm_put(Dst, 5450);
9065 if (LJ_DUALNUM) {
9066 dasm_put(Dst, 5453);
9067 } else {
9068 dasm_put(Dst, 5459);
9069 }
9070 break;
9071 default:
9072 dasm_put(Dst, 5463);
9073 break;
9074 }
9075 dasm_put(Dst, 5473);
9076 break;
9077 case BC_MODVN:
9078 if (LJ_DUALNUM) {
9079 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
9080 switch (vk) {
9081 case 0:
9082 dasm_put(Dst, 5486);
9083 break;
9084 case 1:
9085 dasm_put(Dst, 5492);
9086 break;
9087 default:
9088 dasm_put(Dst, 5498);
9089 break;
9090 }
9091 dasm_put(Dst, 5504);
9092 switch (vk) {
9093 case 0:
9094 dasm_put(Dst, 5532);
9095 break;
9096 case 1:
9097 dasm_put(Dst, 5535);
9098 break;
9099 default:
9100 dasm_put(Dst, 5538);
9101 break;
9102 }
9103 dasm_put(Dst, 5541);
9104 if (vk == 1) {
9105 dasm_put(Dst, 5543);
9106 } else {
9107 dasm_put(Dst, 5547);
9108 }
9109 switch (vk) {
9110 case 0:
9111 dasm_put(Dst, 5551);
9112 break;
9113 case 1:
9114 dasm_put(Dst, 5554);
9115 break;
9116 default:
9117 dasm_put(Dst, 5557);
9118 break;
9119 }
9120 dasm_put(Dst, 5560);
9121 } else {
9122 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
9123 switch (vk) {
9124 case 0:
9125 dasm_put(Dst, 5572);
9126 if (LJ_DUALNUM) {
9127 dasm_put(Dst, 5574);
9128 }
9129 dasm_put(Dst, 5576);
9130 if (LJ_DUALNUM) {
9131 dasm_put(Dst, 5579);
9132 } else {
9133 dasm_put(Dst, 5585);
9134 }
9135 break;
9136 case 1:
9137 dasm_put(Dst, 5589);
9138 if (LJ_DUALNUM) {
9139 dasm_put(Dst, 5591);
9140 }
9141 dasm_put(Dst, 5593);
9142 if (LJ_DUALNUM) {
9143 dasm_put(Dst, 5596);
9144 } else {
9145 dasm_put(Dst, 5602);
9146 }
9147 break;
9148 default:
9149 dasm_put(Dst, 5606);
9150 break;
9151 }
9152 dasm_put(Dst, 5616);
9153 }
9154 break;
9155 case BC_MODNV: case BC_MODVV:
9156 if (LJ_DUALNUM) {
9157 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
9158 switch (vk) {
9159 case 0:
9160 dasm_put(Dst, 5634);
9161 break;
9162 case 1:
9163 dasm_put(Dst, 5640);
9164 break;
9165 default:
9166 dasm_put(Dst, 5646);
9167 break;
9168 }
9169 dasm_put(Dst, 5652);
9170 switch (vk) {
9171 case 0:
9172 dasm_put(Dst, 5680);
9173 break;
9174 case 1:
9175 dasm_put(Dst, 5683);
9176 break;
9177 default:
9178 dasm_put(Dst, 5686);
9179 break;
9180 }
9181 dasm_put(Dst, 5689);
9182 if (vk == 1) {
9183 dasm_put(Dst, 5691);
9184 } else {
9185 dasm_put(Dst, 5695);
9186 }
9187 switch (vk) {
9188 case 0:
9189 dasm_put(Dst, 5699);
9190 break;
9191 case 1:
9192 dasm_put(Dst, 5702);
9193 break;
9194 default:
9195 dasm_put(Dst, 5705);
9196 break;
9197 }
9198 dasm_put(Dst, 5708);
9199 } else {
9200 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
9201 switch (vk) {
9202 case 0:
9203 dasm_put(Dst, 5711);
9204 if (LJ_DUALNUM) {
9205 dasm_put(Dst, 5713);
9206 }
9207 dasm_put(Dst, 5715);
9208 if (LJ_DUALNUM) {
9209 dasm_put(Dst, 5718);
9210 } else {
9211 dasm_put(Dst, 5724);
9212 }
9213 break;
9214 case 1:
9215 dasm_put(Dst, 5728);
9216 if (LJ_DUALNUM) {
9217 dasm_put(Dst, 5730);
9218 }
9219 dasm_put(Dst, 5732);
9220 if (LJ_DUALNUM) {
9221 dasm_put(Dst, 5735);
9222 } else {
9223 dasm_put(Dst, 5741);
9224 }
9225 break;
9226 default:
9227 dasm_put(Dst, 5745);
9228 break;
9229 }
9230 dasm_put(Dst, 5755);
9231 }
9232 break;
9233 case BC_POW:
9234 dasm_put(Dst, 5758);
9235 break;
9236
9237 case BC_CAT:
9238 dasm_put(Dst, 5781, Dt1(->base), 32-3, Dt1(->base));
9239 break;
9240
9241 /* -- Constant ops ------------------------------------------------------ */
9242
9243 case BC_KSTR:
9244 dasm_put(Dst, 5811, 32-1, LJ_TSTR);
9245 break;
9246 case BC_KCDATA:
9247#if LJ_HASFFI
9248 dasm_put(Dst, 5830, 32-1, LJ_TCDATA);
9249#endif
9250 break;
9251 case BC_KSHORT:
9252 if (LJ_DUALNUM) {
9253 dasm_put(Dst, 5849, 31-13);
9254 } else {
9255 dasm_put(Dst, 5865, 31-13, 31-20);
9256 }
9257 break;
9258 case BC_KNUM:
9259 dasm_put(Dst, 5893);
9260 break;
9261 case BC_KPRI:
9262 dasm_put(Dst, 5906, 32-3);
9263 break;
9264 case BC_KNIL:
9265 dasm_put(Dst, 5921);
9266 break;
9267
9268 /* -- Upvalue and function ops ------------------------------------------ */
9269
9270 case BC_UGET:
9271 dasm_put(Dst, 5940, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
9272 break;
9273 case BC_USETV:
9274 dasm_put(Dst, 5961, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
9275 break;
9276 case BC_USETS:
9277 dasm_put(Dst, 6014, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_TSTR, LJ_GC_WHITES, GG_DISP2G);
9278 break;
9279 case BC_USETN:
9280 dasm_put(Dst, 6065, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
9281 break;
9282 case BC_USETP:
9283 dasm_put(Dst, 6086, 32-1, 32-3, offsetof(GCfuncL, uvptr), DtA(->v));
9284 break;
9285
9286 case BC_UCLO:
9287 dasm_put(Dst, 6109, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base));
9288 break;
9289
9290 case BC_FNEW:
9291 dasm_put(Dst, 6139, 32-1, Dt1(->base), Dt1(->base), LJ_TFUNC);
9292 break;
9293
9294 /* -- Table ops --------------------------------------------------------- */
9295
9296 case BC_TNEW:
9297 case BC_TDUP:
9298 dasm_put(Dst, 6167, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
9299 if (op == BC_TNEW) {
9300 dasm_put(Dst, 6180);
9301 } else {
9302 dasm_put(Dst, 6189, 32-1);
9303 }
9304 dasm_put(Dst, 6196, Dt1(->base), LJ_TTAB);
9305 if (op == BC_TNEW) {
9306 dasm_put(Dst, 6213);
9307 }
9308 dasm_put(Dst, 6218);
9309 break;
9310
9311 case BC_GGET:
9312 case BC_GSET:
9313 dasm_put(Dst, 6227, 32-1, Dt7(->env));
9314 if (op == BC_GGET) {
9315 dasm_put(Dst, 6235);
9316 } else {
9317 dasm_put(Dst, 6238);
9318 }
9319 break;
9320
9321 case BC_TGETV:
9322 dasm_put(Dst, 6241);
9323 if (LJ_DUALNUM) {
9324 dasm_put(Dst, 6245);
9325 } else {
9326 dasm_put(Dst, 6247);
9327 }
9328 dasm_put(Dst, 6249, LJ_TTAB);
9329 if (LJ_DUALNUM) {
9330 dasm_put(Dst, 6255, Dt6(->asize), Dt6(->array), 31-3);
9331 } else {
9332 dasm_put(Dst, 6265, Dt6(->asize), Dt6(->array), 31-3);
9333 }
9334 dasm_put(Dst, 6282, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TSTR);
9335 if (!LJ_DUALNUM) {
9336 dasm_put(Dst, 6322);
9337 }
9338 dasm_put(Dst, 6324);
9339 break;
9340 case BC_TGETS:
9341 dasm_put(Dst, 6327, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), 4+offsetof(Node, key), DtB(->val), 4+offsetof(Node, val), LJ_TSTR, LJ_TNIL, DtB(->next));
9342 dasm_put(Dst, 6388, LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
9343 break;
9344 case BC_TGETB:
9345 dasm_put(Dst, 6408, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
9346 break;
9347
9348 case BC_TSETV:
9349 dasm_put(Dst, 6456);
9350 if (LJ_DUALNUM) {
9351 dasm_put(Dst, 6460);
9352 } else {
9353 dasm_put(Dst, 6462);
9354 }
9355 dasm_put(Dst, 6464, LJ_TTAB);
9356 if (LJ_DUALNUM) {
9357 dasm_put(Dst, 6470, Dt6(->asize), Dt6(->array), 31-3);
9358 } else {
9359 dasm_put(Dst, 6480, Dt6(->asize), Dt6(->array), 31-3);
9360 }
9361 dasm_put(Dst, 6497, Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR);
9362 if (!LJ_DUALNUM) {
9363 dasm_put(Dst, 6544);
9364 }
9365 dasm_put(Dst, 6546, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
9366 break;
9367 case BC_TSETS:
9368 dasm_put(Dst, 6561, 32-1, LJ_TTAB, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), 4+offsetof(Node, key), DtB(->val), DtB(->next), LJ_TSTR, LJ_TNIL);
9369 dasm_put(Dst, 6612, LJ_GC_BLACK, DtB(->val), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR);
9370 dasm_put(Dst, 6669, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
9371 break;
9372 case BC_TSETB:
9373 dasm_put(Dst, 6692, 32-3, LJ_TTAB, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_TNIL, LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain));
9374 dasm_put(Dst, 6750, DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
9375 break;
9376
9377 case BC_TSETM:
9378 dasm_put(Dst, 6760, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
9379 dasm_put(Dst, 6829);
9380 break;
9381
9382 /* -- Calls and vararg handling ----------------------------------------- */
9383
9384 case BC_CALLM:
9385 dasm_put(Dst, 6832);
9386 break;
9387 case BC_CALL:
9388 dasm_put(Dst, 6834, LJ_TFUNC, Dt7(->pc));
9389 break;
9390
9391 case BC_CALLMT:
9392 dasm_put(Dst, 6855);
9393 break;
9394 case BC_CALLT:
9395 dasm_put(Dst, 6857, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
9396 dasm_put(Dst, 6921, FRAME_TYPE);
9397 break;
9398
9399 case BC_ITERC:
9400 dasm_put(Dst, 6930, LJ_TFUNC, Dt7(->pc));
9401 break;
9402
9403 case BC_ITERN:
9404#if LJ_HASJIT
9405#endif
9406 dasm_put(Dst, 6957, Dt6(->asize), Dt6(->array), 31-3, LJ_TNIL);
9407 if (LJ_DUALNUM) {
9408 dasm_put(Dst, 6979);
9409 } else {
9410 dasm_put(Dst, 6982);
9411 }
9412 dasm_put(Dst, 6986, -(BCBIAS_J*4 >> 16));
9413 if (!LJ_DUALNUM) {
9414 dasm_put(Dst, 6994);
9415 }
9416 dasm_put(Dst, 6996, Dt6(->hmask), Dt6(->node), 31-5, 31-3, LJ_TNIL, DtB(->key), -(BCBIAS_J*4 >> 16));
9417 break;
9418
9419 case BC_ISNEXT:
9420 dasm_put(Dst, 7052, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16));
9421 break;
9422
9423 case BC_VARG:
9424 dasm_put(Dst, 7102, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base));
9425 dasm_put(Dst, 7182);
9426 break;
9427
9428 /* -- Returns ----------------------------------------------------------- */
9429
9430 case BC_RETM:
9431 dasm_put(Dst, 7188);
9432 break;
9433
9434 case BC_RET:
9435 dasm_put(Dst, 7190, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
9436 break;
9437
9438 case BC_RET0: case BC_RET1:
9439 dasm_put(Dst, 7260, FRAME_TYPE, FRAME_VARG);
9440 if (op == BC_RET1) {
9441 dasm_put(Dst, 7273);
9442 }
9443 dasm_put(Dst, 7276, Dt7(->pc), PC2PROTO(k));
9444 break;
9445
9446 /* -- Loops and branches ------------------------------------------------ */
9447
9448 case BC_FORL:
9449#if LJ_HASJIT
9450 dasm_put(Dst, 7304, GG_DISP2HOT, -HOTCOUNT_LOOP);
9451#endif
9452 break;
9453
9454 case BC_JFORI:
9455 case BC_JFORL:
9456#if !LJ_HASJIT
9457 break;
9458#endif
9459 case BC_FORI:
9460 case BC_IFORL:
9461 vk = (op == BC_IFORL || op == BC_JFORL);
9462 if (LJ_DUALNUM) {
9463 dasm_put(Dst, 7314, FORL_IDX*8+4);
9464 if (vk) {
9465 dasm_put(Dst, 7319, FORL_STEP*8+4, FORL_STOP*8+4, FORL_IDX*8+4);
9466 } else {
9467 dasm_put(Dst, 7333, FORL_STEP*8, FORL_STEP*8+4, FORL_STOP*8, FORL_STOP*8+4);
9468 }
9469 dasm_put(Dst, 7349, FORL_EXT*8);
9470 if (op != BC_JFORL) {
9471 dasm_put(Dst, 7356, 32-1);
9472 }
9473 dasm_put(Dst, 7359, FORL_EXT*8+4);
9474 if (op != BC_JFORL) {
9475 dasm_put(Dst, 7362);
9476 }
9477 if (op == BC_FORI) {
9478 dasm_put(Dst, 7364);
9479 } else if (op == BC_JFORI) {
9480 dasm_put(Dst, 7367, -(BCBIAS_J*4 >> 16));
9481 } else if (op == BC_IFORL) {
9482 dasm_put(Dst, 7372, -(BCBIAS_J*4 >> 16));
9483 } else {
9484 dasm_put(Dst, 7377, BC_JLOOP);
9485 }
9486 dasm_put(Dst, 7380);
9487 if (vk) {
9488 dasm_put(Dst, 7396);
9489 }
9490 }
9491 if (vk) {
9492 if (LJ_DUALNUM) {
9493 dasm_put(Dst, 7403, FORL_IDX*8);
9494 } else {
9495 dasm_put(Dst, 7407);
9496 }
9497 dasm_put(Dst, 7409, FORL_STEP*8, FORL_STOP*8, FORL_STEP*8, FORL_IDX*8);
9498 } else {
9499 if (LJ_DUALNUM) {
9500 dasm_put(Dst, 7419);
9501 } else {
9502 dasm_put(Dst, 7421, FORL_STEP*8, FORL_STOP*8);
9503 }
9504 dasm_put(Dst, 7430, FORL_IDX*8, FORL_STOP*8);
9505 }
9506 dasm_put(Dst, 7439);
9507 if (op != BC_JFORL) {
9508 dasm_put(Dst, 7441, 32-1);
9509 }
9510 dasm_put(Dst, 7444, FORL_EXT*8);
9511 if (op != BC_JFORL) {
9512 dasm_put(Dst, 7447);
9513 }
9514 dasm_put(Dst, 7449);
9515 if (op == BC_JFORI) {
9516 dasm_put(Dst, 7451, -(BCBIAS_J*4 >> 16));
9517 }
9518 dasm_put(Dst, 7454);
9519 if (op == BC_FORI) {
9520 dasm_put(Dst, 7457);
9521 } else if (op == BC_IFORL) {
9522 if (LJ_DUALNUM) {
9523 dasm_put(Dst, 7460);
9524 } else {
9525 dasm_put(Dst, 7463);
9526 }
9527 dasm_put(Dst, 7466, -(BCBIAS_J*4 >> 16));
9528 } else if (op == BC_JFORI) {
9529 dasm_put(Dst, 7470);
9530 } else {
9531 dasm_put(Dst, 7473, BC_JLOOP);
9532 }
9533 if (LJ_DUALNUM) {
9534 dasm_put(Dst, 7476);
9535 } else {
9536 dasm_put(Dst, 7479);
9537 }
9538 dasm_put(Dst, 7491);
9539 if (op == BC_FORI) {
9540 dasm_put(Dst, 7493, -(BCBIAS_J*4 >> 16));
9541 } else if (op == BC_IFORL) {
9542 dasm_put(Dst, 7499);
9543 } else if (op == BC_JFORI) {
9544 dasm_put(Dst, 7502);
9545 } else {
9546 dasm_put(Dst, 7505, BC_JLOOP);
9547 }
9548 dasm_put(Dst, 7508);
9549 if (op == BC_JFORI) {
9550 dasm_put(Dst, 7511, BC_JLOOP);
9551 }
9552 break;
9553
9554 case BC_ITERL:
9555#if LJ_HASJIT
9556 dasm_put(Dst, 7517, GG_DISP2HOT, -HOTCOUNT_LOOP);
9557#endif
9558 break;
9559
9560 case BC_JITERL:
9561#if !LJ_HASJIT
9562 break;
9563#endif
9564 case BC_IITERL:
9565 dasm_put(Dst, 7527, LJ_TNIL);
9566 if (op == BC_JITERL) {
9567 dasm_put(Dst, 7534, BC_JLOOP);
9568 } else {
9569 dasm_put(Dst, 7539, 32-1, -(BCBIAS_J*4 >> 16));
9570 }
9571 dasm_put(Dst, 7547);
9572 break;
9573
9574 case BC_LOOP:
9575#if LJ_HASJIT
9576 dasm_put(Dst, 7559, GG_DISP2HOT, -HOTCOUNT_LOOP);
9577#endif
9578 break;
9579
9580 case BC_ILOOP:
9581 dasm_put(Dst, 7569);
9582 break;
9583
9584 case BC_JLOOP:
9585#if LJ_HASJIT
9586 dasm_put(Dst, 7580, DISPATCH_J(trace), 32-1, DISPATCH_GL(vmstate), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), GG_DISP2G+32768);
9587#endif
9588 break;
9589
9590 case BC_JMP:
9591 dasm_put(Dst, 7599, 32-1, -(BCBIAS_J*4 >> 16));
9592 break;
9593
9594 /* -- Function headers -------------------------------------------------- */
9595
9596 case BC_FUNCF:
9597#if LJ_HASJIT
9598 dasm_put(Dst, 7615, GG_DISP2HOT, -HOTCOUNT_CALL);
9599#endif
9600 case BC_FUNCV: /* NYI: compiled vararg functions. */
9601 break;
9602
9603 case BC_JFUNCF:
9604#if !LJ_HASJIT
9605 break;
9606#endif
9607 case BC_IFUNCF:
9608 dasm_put(Dst, 7625, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3);
9609 if (op != BC_JFUNCF) {
9610 dasm_put(Dst, 7637);
9611 }
9612 dasm_put(Dst, 7640);
9613 if (op == BC_JFUNCF) {
9614 dasm_put(Dst, 7645, BC_JLOOP);
9615 } else {
9616 dasm_put(Dst, 7649);
9617 }
9618 dasm_put(Dst, 7658);
9619 break;
9620
9621 case BC_JFUNCV:
9622#if !LJ_HASJIT
9623 break;
9624#endif
9625 dasm_put(Dst, 7664);
9626 break; /* NYI: compiled vararg functions. */
9627
9628 case BC_IFUNCV:
9629 dasm_put(Dst, 7666, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams), LJ_TNIL);
9630 break;
9631
9632 case BC_FUNCC:
9633 case BC_FUNCCW:
9634 if (op == BC_FUNCC) {
9635 dasm_put(Dst, 7719, Dt8(->f));
9636 } else {
9637 dasm_put(Dst, 7722, DISPATCH_GL(wrapf));
9638 }
9639 dasm_put(Dst, 7725, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
9640 if (op == BC_FUNCCW) {
9641 dasm_put(Dst, 7738, Dt8(->f));
9642 }
9643 dasm_put(Dst, 7741, DISPATCH_GL(vmstate), Dt1(->base), 31-3, Dt1(->top), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate));
9644 break;
9645
9646 /* ---------------------------------------------------------------------- */
9647
9648 default:
9649 fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
9650 exit(2);
9651 break;
9652 }
9653}
9654
9655static int build_backend(BuildCtx *ctx)
9656{
9657 int op;
9658
9659 dasm_growpc(Dst, BC__MAX);
9660
9661 build_subroutines(ctx);
9662
9663 dasm_put(Dst, 7762);
9664 for (op = 0; op < BC__MAX; op++)
9665 build_ins(ctx, (BCOp)op, op);
9666
9667 return BC__MAX;
9668}
9669
9670/* Emit pseudo frame-info for all assembler functions. */
9671static void emit_asm_debug(BuildCtx *ctx)
9672{
9673 int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
9674 int i;
9675 switch (ctx->mode) {
9676 case BUILD_elfasm:
9677 fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
9678 fprintf(ctx->fp,
9679 ".Lframe0:\n"
9680 "\t.long .LECIE0-.LSCIE0\n"
9681 ".LSCIE0:\n"
9682 "\t.long 0xffffffff\n"
9683 "\t.byte 0x1\n"
9684 "\t.string \"\"\n"
9685 "\t.uleb128 0x1\n"
9686 "\t.sleb128 -4\n"
9687 "\t.byte 65\n"
9688 "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
9689 "\t.align 2\n"
9690 ".LECIE0:\n\n");
9691 fprintf(ctx->fp,
9692 ".LSFDE0:\n"
9693 "\t.long .LEFDE0-.LASFDE0\n"
9694 ".LASFDE0:\n"
9695 "\t.long .Lframe0\n"
9696 "\t.long .Lbegin\n"
9697 "\t.long %d\n"
9698 "\t.byte 0xe\n\t.uleb128 %d\n"
9699 "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
9700 "\t.byte 0x5\n\t.uleb128 70\n\t.uleb128 55\n",
9701 fcofs, CFRAME_SIZE);
9702 for (i = 14; i <= 31; i++)
9703 fprintf(ctx->fp,
9704 "\t.byte %d\n\t.uleb128 %d\n"
9705 "\t.byte %d\n\t.uleb128 %d\n",
9706 0x80+i, 37+(31-i), 0x80+32+i, 2+2*(31-i));
9707 fprintf(ctx->fp,
9708 "\t.align 2\n"
9709 ".LEFDE0:\n\n");
9710#if LJ_HASFFI
9711 fprintf(ctx->fp,
9712 ".LSFDE1:\n"
9713 "\t.long .LEFDE1-.LASFDE1\n"
9714 ".LASFDE1:\n"
9715 "\t.long .Lframe0\n"
9716 "\t.long lj_vm_ffi_call\n"
9717 "\t.long %d\n"
9718 "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
9719 "\t.byte 0x8e\n\t.uleb128 2\n"
9720 "\t.byte 0xd\n\t.uleb128 0xe\n"
9721 "\t.align 2\n"
9722 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
9723#endif
9724 fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
9725 fprintf(ctx->fp,
9726 ".Lframe1:\n"
9727 "\t.long .LECIE1-.LSCIE1\n"
9728 ".LSCIE1:\n"
9729 "\t.long 0\n"
9730 "\t.byte 0x1\n"
9731 "\t.string \"zPR\"\n"
9732 "\t.uleb128 0x1\n"
9733 "\t.sleb128 -4\n"
9734 "\t.byte 65\n"
9735 "\t.uleb128 6\n" /* augmentation length */
9736 "\t.byte 0x1b\n" /* pcrel|sdata4 */
9737 "\t.long lj_err_unwind_dwarf-.\n"
9738 "\t.byte 0x1b\n" /* pcrel|sdata4 */
9739 "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
9740 "\t.align 2\n"
9741 ".LECIE1:\n\n");
9742 fprintf(ctx->fp,
9743 ".LSFDE2:\n"
9744 "\t.long .LEFDE2-.LASFDE2\n"
9745 ".LASFDE2:\n"
9746 "\t.long .LASFDE2-.Lframe1\n"
9747 "\t.long .Lbegin-.\n"
9748 "\t.long %d\n"
9749 "\t.uleb128 0\n" /* augmentation length */
9750 "\t.byte 0xe\n\t.uleb128 %d\n"
9751 "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
9752 "\t.byte 0x5\n\t.uleb128 70\n\t.uleb128 55\n",
9753 fcofs, CFRAME_SIZE);
9754 for (i = 14; i <= 31; i++)
9755 fprintf(ctx->fp,
9756 "\t.byte %d\n\t.uleb128 %d\n"
9757 "\t.byte %d\n\t.uleb128 %d\n",
9758 0x80+i, 37+(31-i), 0x80+32+i, 2+2*(31-i));
9759 fprintf(ctx->fp,
9760 "\t.align 2\n"
9761 ".LEFDE2:\n\n");
9762#if LJ_HASFFI
9763 fprintf(ctx->fp,
9764 ".Lframe2:\n"
9765 "\t.long .LECIE2-.LSCIE2\n"
9766 ".LSCIE2:\n"
9767 "\t.long 0\n"
9768 "\t.byte 0x1\n"
9769 "\t.string \"zR\"\n"
9770 "\t.uleb128 0x1\n"
9771 "\t.sleb128 -4\n"
9772 "\t.byte 65\n"
9773 "\t.uleb128 1\n" /* augmentation length */
9774 "\t.byte 0x1b\n" /* pcrel|sdata4 */
9775 "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
9776 "\t.align 2\n"
9777 ".LECIE2:\n\n");
9778 fprintf(ctx->fp,
9779 ".LSFDE3:\n"
9780 "\t.long .LEFDE3-.LASFDE3\n"
9781 ".LASFDE3:\n"
9782 "\t.long .LASFDE3-.Lframe2\n"
9783 "\t.long lj_vm_ffi_call-.\n"
9784 "\t.long %d\n"
9785 "\t.uleb128 0\n" /* augmentation length */
9786 "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
9787 "\t.byte 0x8e\n\t.uleb128 2\n"
9788 "\t.byte 0xd\n\t.uleb128 0xe\n"
9789 "\t.align 2\n"
9790 ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
9791#endif
9792 break;
9793 default:
9794 break;
9795 }
9796}
9797
diff --git a/src/buildvm_ppcspe.h b/src/buildvm_ppcspe.h
deleted file mode 100644
index 44fed683..00000000
--- a/src/buildvm_ppcspe.h
+++ /dev/null
@@ -1,6094 +0,0 @@
1/*
2** This file has been pre-processed with DynASM.
3** http://luajit.org/dynasm.html
4** DynASM version 1.3.0, DynASM ppc version 1.3.0
5** DO NOT EDIT! The original file is in "buildvm_ppcspe.dasc".
6*/
7
8#if DASM_VERSION != 10300
9#error "Version mismatch between DynASM and included encoding engine"
10#endif
11
12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2
15static const unsigned int build_actionlist[4996] = {
160x00010001,
170x00060014,
180x72000000,
190x00090200,
200x11000229,
210x000980b0,
220x41820000,
230x00050815,
240x8209fff8,
250x7d2e4b78,
260x9514fff8,
270x00060016,
280x72000000,
290x00090200,
300x398c0008,
310x7d936378,
320x41820000,
330x00050817,
340x00060018,
350x2c000000,
360x00098200,
370x56090038,
380x38000000,
390x00098200,
400x7d297050,
410x40820000,
420x00050814,
430x350cfff8,
440x91320000,
450x00098200,
460x81210018,
470x39cefff8,
480x90110000,
490x00098200,
500x55291800,
510x000900a1,
520x41820000,
530x00050802,
540x0006000b,
550x3508fff8,
560x10140301,
570x3a940008,
580x100e0321,
590x39ce0008,
600x40820000,
610x0005080b,
620x0006000c,
630x7c096000,
640x40820000,
650x00050806,
660x0006000d,
670x91d20000,
680x00098200,
690x00060019,
700x00000000,
710x80010014,
720x38600000,
730x90120000,
740x00098200,
750x0006001a,
760x800100bc,
770x81810024,
780x11c12b01,
790x11e13301,
800x12013b01,
810x12214301,
820x12414b01,
830x12615301,
840x7c0803a6,
850x7d838120,
860x12815b01,
870x12a16301,
880x12c16b01,
890x12e17301,
900x13017b01,
910x13218301,
920x13418b01,
930x13619301,
940x13819b01,
950x13a1a301,
960x13c1ab01,
970x13e1b301,
980x382100b8,
990x4e800020,
1000x00060010,
1010x40810000,
1020x00050807,
1030x81120000,
1040x00098200,
1050x7c0e4040,
1060x40800000,
1070x00050808,
1080x134e0321,
1090x398c0008,
1100x39ce0008,
1110x48000000,
1120x0005000c,
1130x00060011,
1140x7c096050,
1150x2c090000,
1160x7c007050,
1170x7dce009e,
1180x48000000,
1190x0005000d,
1200x00060012,
1210x91d20000,
1220x00098200,
1230x7d956378,
1240x7d244b78,
1250x7e439378,
1260x48000001,
1270x00030000,
1280x81210018,
1290x7eacab78,
1300x55291800,
1310x000900a1,
1320x81d20000,
1330x00098200,
1340x48000000,
1350x0005000c,
1360x0006001b,
1370x7c611b78,
1380x7c832378,
1390x0006001c,
1400x82410010,
1410x38000000,
1420x00098200,
1430x81120000,
1440x00098200,
1450x90080000,
1460x00098200,
1470x48000000,
1480x0005001a,
1490x0006001d,
1500x00000000,
1510x5461003a,
1520x0006001e,
1530x82410010,
1540x12c00229,
1550x000980b0,
1560x13200229,
1570x000980b0,
1580x3f604338,
1590x13000229,
1600x000980b0,
1610x38000000,
1620x81d20000,
1630x00098200,
1640x137b022d,
1650x82320000,
1660x00098200,
1670x12e00229,
1680x000980b0,
1690x39000000,
1700x00098200,
1710x13400229,
1720x000980b0,
1730x38000000,
1740x00098200,
1750x820efff8,
1760x3a8efff8,
1770x3a310000,
1780x00098200,
1790x91140000,
1800x39800010,
1810x90110000,
1820x00098200,
1830x48000000,
1840x00050016,
1850x0006001f,
1860x38800000,
1870x00098200,
1880x48000000,
1890x00050002,
1900x00060020,
1910x7d6e5a14,
1920x7e8ea050,
1930x91d20000,
1940x00098200,
1950x3a100004,
1960x91720000,
1970x00098200,
1980x568400fe,
1990x000900ab,
2000x0006000c,
2010x9201000c,
2020x7e439378,
2030x48000001,
2040x00030000,
2050x00000000,
2060x81d20000,
2070x00098200,
2080x81720000,
2090x00098200,
2100x814efffc,
2110x7d6e5850,
2120x820a0000,
2130x00098200,
2140x80f00000,
2150x3a100004,
2160x54e815ba,
2170x54f4dd78,
2180x7c11402e,
2190x7e947214,
2200x7c0903a6,
2210x4e800420,
2220x00060021,
2230x9421ff48,
2240x11c12b21,
2250x11e13321,
2260x12013b21,
2270x12214321,
2280x12414b21,
2290x12615321,
2300x7c0802a6,
2310x7d800026,
2320x12815b21,
2330x12a16321,
2340x12c16b21,
2350x12e17321,
2360x13017b21,
2370x13218321,
2380x900100bc,
2390x91810024,
2400x13418b21,
2410x13619321,
2420x13819b21,
2430x13a1a321,
2440x13c1ab21,
2450x13e1b321,
2460x7c721b78,
2470x82320000,
2480x00098200,
2490x7c8e2378,
2500x89120000,
2510x00098200,
2520x92410010,
2530x3a000000,
2540x00098200,
2550x38010000,
2560x00098200,
2570x3a310000,
2580x00098200,
2590x90a10018,
2600x28080000,
2610x90a1001c,
2620x90120000,
2630x00098200,
2640x90a10014,
2650x9061000c,
2660x41820000,
2670x00050803,
2680x7dd47378,
2690x81d20000,
2700x00098200,
2710x12c00229,
2720x000980b0,
2730x81120000,
2740x00098200,
2750x13200229,
2760x000980b0,
2770x3f604338,
2780x13000229,
2790x000980b0,
2800x820efff8,
2810x39200000,
2820x12e00229,
2830x000980b0,
2840x7d8e4050,
2850x137b4a2d,
2860x98b20000,
2870x00098200,
2880x72000000,
2890x00090200,
2900x38000000,
2910x00098200,
2920x398c0008,
2930x13400229,
2940x000980b0,
2950x7d936378,
2960x90110000,
2970x00098200,
2980x00000000,
2990x41820000,
3000x00050817,
3010x48000000,
3020x00050018,
3030x00060022,
3040x9421ff48,
3050x11c12b21,
3060x11e13321,
3070x12013b21,
3080x12214321,
3090x12414b21,
3100x12615321,
3110x7c0802a6,
3120x7d800026,
3130x12815b21,
3140x12a16321,
3150x12c16b21,
3160x12e17321,
3170x13017b21,
3180x13218321,
3190x900100bc,
3200x91810024,
3210x13418b21,
3220x13619321,
3230x13819b21,
3240x13a1a321,
3250x13c1ab21,
3260x13e1b321,
3270x3a000000,
3280x00098200,
3290x90c1001c,
3300x48000000,
3310x00050001,
3320x00060023,
3330x9421ff48,
3340x11c12b21,
3350x11e13321,
3360x12013b21,
3370x12214321,
3380x12414b21,
3390x12615321,
3400x7c0802a6,
3410x7d800026,
3420x12815b21,
3430x12a16321,
3440x12c16b21,
3450x12e17321,
3460x13017b21,
3470x13218321,
3480x900100bc,
3490x91810024,
3500x13418b21,
3510x13619321,
3520x13819b21,
3530x13a1a321,
3540x13c1ab21,
3550x13e1b321,
3560x3a000000,
3570x00098200,
3580x0006000b,
3590x81030000,
3600x00098200,
3610x90a10018,
3620x7c721b78,
3630x90610010,
3640x7c8e2378,
3650x90320000,
3660x00098200,
3670x82320000,
3680x00098200,
3690x9061000c,
3700x91010014,
3710x3a310000,
3720x00098200,
3730x0006000d,
3740x81320000,
3750x00098200,
3760x12c00229,
3770x000980b0,
3780x81120000,
3790x00098200,
3800x13200229,
3810x000980b0,
3820x7e107214,
3830x13000229,
3840x000980b0,
3850x3f604338,
3860x38000000,
3870x7e098050,
3880x12e00229,
3890x000980b0,
3900x7d6e4050,
3910x137b022d,
3920x38000000,
3930x00098200,
3940x13400229,
3950x000980b0,
3960x90110000,
3970x00098200,
3980x00060024,
3990x00000000,
4000x3800fff8,
4010x114e0300,
4020x100aca34,
4030x40800000,
4040x00050825,
4050x00060026,
4060x920efff8,
4070x820a0000,
4080x00098200,
4090x80f00000,
4100x3a100004,
4110x54e815ba,
4120x54f4dd78,
4130x7c11402e,
4140x7e947214,
4150x7c0903a6,
4160x4e800420,
4170x00060027,
4180x9421ff48,
4190x11c12b21,
4200x11e13321,
4210x12013b21,
4220x12214321,
4230x12414b21,
4240x12615321,
4250x7c0802a6,
4260x7d800026,
4270x12815b21,
4280x12a16321,
4290x12c16b21,
4300x12e17321,
4310x13017b21,
4320x13218321,
4330x900100bc,
4340x91810024,
4350x13418b21,
4360x13619321,
4370x13819b21,
4380x13a1a321,
4390x13c1ab21,
4400x13e1b321,
4410x7c721b78,
4420x80030000,
4430x00098200,
4440x90610010,
4450x81120000,
4460x00098200,
4470x9061000c,
4480x7c080050,
4490x81120000,
4500x00098200,
4510x90320000,
4520x00098200,
4530x39200000,
4540x90010018,
4550x9121001c,
4560x91010014,
4570x7cc903a6,
4580x4e800421,
4590x7c6e1b79,
4600x82320000,
4610x00098200,
4620x3a000000,
4630x00098200,
4640x3a310000,
4650x00098200,
4660x40820000,
4670x0005080d,
4680x48000000,
4690x00050019,
4700x00060015,
4710x800efff4,
4720x7dca7378,
4730x7d2e4b78,
4740x8109fffc,
4750x28000000,
4760x820afff0,
4770x41820000,
4780x00050801,
4790x392cfff8,
4800x81080000,
4810x00098200,
4820x13544b20,
4830x81e80000,
4840x00098200,
4850x7c0903a6,
4860x4e800420,
4870x0006000b,
4880x390afff0,
4890x7d6e4050,
4900x48000000,
4910x00050028,
4920x00060029,
4930x80f0fffc,
4940x388afff0,
4950x54f55d78,
4960x10140301,
4970x7d0eaa14,
4980x91d20000,
4990x00098200,
5000x7c082040,
5010x7ca82050,
5020x54f4dd78,
5030x10040321,
5040x40820000,
5050x0005082a,
5060x00000000,
5070x100ea320,
5080x48000000,
5090x0005002b,
5100x0006002c,
5110x11775a2d,
5120x38b10000,
5130x00098200,
5140x54ea5d78,
5150x11650321,
5160x7c8e5214,
5170x48000000,
5180x00050001,
5190x0006002d,
5200x1158522d,
5210x38910000,
5220x00098200,
5230x11775a2d,
5240x11440321,
5250x38b10000,
5260x00098200,
5270x11650321,
5280x48000000,
5290x00050001,
5300x0006002e,
5310x100002f1,
5320x54ea5d78,
5330x38b10000,
5340x00098200,
5350x7c8e5214,
5360x10050321,
5370x48000000,
5380x00050001,
5390x0006002f,
5400x54ea5d78,
5410x54eb9d78,
5420x7c8e5214,
5430x7cae5a14,
5440x0006000b,
5450x91d20000,
5460x00098200,
5470x7e439378,
5480x9201000c,
5490x48000001,
5500x00030001,
5510x28030000,
5520x41820000,
5530x00050803,
5540x10030301,
5550x100ea320,
5560x80f00000,
5570x3a100004,
5580x54e815ba,
5590x54ea5d78,
5600x54ec9b78,
5610x7c11402e,
5620x54f4dd78,
5630x54eb9d78,
5640x7c0903a6,
5650x4e800420,
5660x0006000d,
5670x210e0000,
5680x00098200,
5690x81d20000,
5700x00098200,
5710x920efff0,
5720x7e087214,
5730x814efffc,
5740x39600010,
5750x48000000,
5760x00050026,
5770x00060030,
5780x11775a2d,
5790x38b10000,
5800x00098200,
5810x00000000,
5820x54ea5d78,
5830x11650321,
5840x7c8e5214,
5850x48000000,
5860x00050001,
5870x00060031,
5880x1158522d,
5890x38910000,
5900x00098200,
5910x11775a2d,
5920x11440321,
5930x38b10000,
5940x00098200,
5950x11650321,
5960x48000000,
5970x00050001,
5980x00060032,
5990x100002f1,
6000x54ea5d78,
6010x38b10000,
6020x00098200,
6030x7c8e5214,
6040x10050321,
6050x48000000,
6060x00050001,
6070x00060033,
6080x54ea5d78,
6090x54eb9d78,
6100x7c8e5214,
6110x7cae5a14,
6120x0006000b,
6130x91d20000,
6140x00098200,
6150x7e439378,
6160x9201000c,
6170x48000001,
6180x00030002,
6190x28030000,
6200x100ea300,
6210x41820000,
6220x00050803,
6230x10030321,
6240x80f00000,
6250x3a100004,
6260x54e815ba,
6270x54ea5d78,
6280x54ec9b78,
6290x7c11402e,
6300x54f4dd78,
6310x54eb9d78,
6320x7c0903a6,
6330x4e800420,
6340x0006000d,
6350x210e0000,
6360x00098200,
6370x81d20000,
6380x00098200,
6390x920efff0,
6400x7e087214,
6410x814efffc,
6420x39600018,
6430x100e1321,
6440x48000000,
6450x00050026,
6460x00060034,
6470x7e439378,
6480x3a10fffc,
6490x7c8ea214,
6500x9201000c,
6510x7cae6214,
6520x91d20000,
6530x00098200,
6540x54e6063e,
6550x48000001,
6560x00030003,
6570x0006000d,
6580x28030001,
6590x41810000,
6600x00050835,
6610x0006000e,
6620x00000000,
6630x80f00000,
6640x3a100004,
6650x54e993ba,
6660x3cd00000,
6670x00098200,
6680x7d293214,
6690x7e10481e,
6700x0006002b,
6710x80f00000,
6720x3a100004,
6730x54e815ba,
6740x54ea5d78,
6750x54ec9b78,
6760x7c11402e,
6770x54f4dd78,
6780x54eb9d78,
6790x7c0903a6,
6800x4e800420,
6810x00060036,
6820x80f0fffc,
6830x10140301,
6840x54e8dd78,
6850x100e4320,
6860x48000000,
6870x0005002b,
6880x00060037,
6890x80140000,
6900x39000000,
6910x00098200,
6920x7c080040,
6930x48000000,
6940x0005000e,
6950x00060038,
6960x80140000,
6970x39000000,
6980x00098200,
6990x7c004040,
7000x48000000,
7010x0005000e,
7020x00060039,
7030x3a10fffc,
7040x91d20000,
7050x00098200,
7060x7e439378,
7070x9201000c,
7080x48000001,
7090x00030004,
7100x48000000,
7110x0005000d,
7120x0006003a,
7130x7cae5214,
7140x7ccf5a14,
7150x48000000,
7160x00050001,
7170x0006003b,
7180x7caf5a14,
7190x7cce5214,
7200x48000000,
7210x00050001,
7220x0006003c,
7230x7cae6214,
7240x7ca62b78,
7250x48000000,
7260x00050001,
7270x0006003d,
7280x7cae5214,
7290x7cce5a14,
7300x0006000b,
7310x00000000,
7320x7c8ea214,
7330x91d20000,
7340x00098200,
7350x7e439378,
7360x9201000c,
7370x54e7063e,
7380x48000001,
7390x00030005,
7400x28030000,
7410x41820000,
7420x0005082b,
7430x00060035,
7440x7d0e1850,
7450x9203fff0,
7460x7dc97378,
7470x3a080000,
7480x00098200,
7490x7c6e1b78,
7500x39600010,
7510x48000000,
7520x00050024,
7530x0006003e,
7540x00000000,
7550x7c751b78,
7560x00000000,
7570x7c8e6214,
7580x91d20000,
7590x00098200,
7600x7e439378,
7610x9201000c,
7620x48000001,
7630x00030006,
7640x00000000,
7650x28030000,
7660x40820000,
7670x00050835,
7680x7ea3ab78,
7690x48000000,
7700x0005003f,
7710x00000000,
7720x48000000,
7730x00050035,
7740x00000000,
7750x00060025,
7760x7e439378,
7770x91320000,
7780x00098200,
7790x388efff8,
7800x9201000c,
7810x7cae5a14,
7820x7d755b78,
7830x48000001,
7840x00030007,
7850x814efffc,
7860x39750008,
7870x920efff8,
7880x820a0000,
7890x00098200,
7900x80f00000,
7910x3a100004,
7920x54e815ba,
7930x54f4dd78,
7940x7c11402e,
7950x7e947214,
7960x7c0903a6,
7970x4e800420,
7980x00060040,
7990x7e439378,
8000x91d20000,
8010x00098200,
8020x3894fff8,
8030x9201000c,
8040x7cb45a14,
8050x7d755b78,
8060x48000001,
8070x00030007,
8080x810efff8,
8090x39750008,
8100x8154fffc,
8110x48000000,
8120x00050041,
8130x00060042,
8140x7e439378,
8150x91d20000,
8160x00098200,
8170x7e84a378,
8180x9201000c,
8190x7cf53b78,
8200x48000001,
8210x00030008,
8220x00000000,
8230x56a0063e,
8240x00000000,
8250x56b4dd78,
8260x00000000,
8270x2c000000,
8280x00098200,
8290x00000000,
8300x56ac9b78,
8310x00000000,
8320x41820000,
8330x00070800,
8340x00000000,
8350x48000000,
8360x00070000,
8370x00060043,
8380x280b0008,
8390x100e0301,
8400x41800000,
8410x00050844,
8420x111ad200,
8430x3a8efff8,
8440x10804232,
8450x820efff8,
8460x40840000,
8470x00050844,
8480x10140321,
8490x398b0008,
8500x41820000,
8510x00050845,
8520x39000008,
8530x396bfff8,
8540x0006000b,
8550x7c085840,
8560x100e4300,
8570x10144320,
8580x39080008,
8590x40820000,
8600x0005080b,
8610x48000000,
8620x00050045,
8630x00060046,
8640x280b0008,
8650x806e0000,
8660x41800000,
8670x00050844,
8680x39200000,
8690x00098200,
8700x7c03b040,
8710x7c6818f8,
8720x7d09401e,
8730x55081800,
8740x000900a1,
8750x392a0000,
8760x00098200,
8770x10694300,
8780x48000000,
8790x00050047,
8800x00060048,
8810x280b0008,
8820x106e0301,
8830x41800000,
8840x00050844,
8850x1003c234,
8860x11031a2c,
8870x40800000,
8880x00050806,
8890x0006000b,
8900x81430000,
8910x00098200,
8920x0006000c,
8930x107ad217,
8940x280a0000,
8950x81710000,
8960x00098200,
8970x41820000,
8980x00050847,
8990x00000000,
9000x800a0000,
9010x00098200,
9020x1078522d,
9030x810b0000,
9040x00098200,
9050x812a0000,
9060x00098200,
9070x11775a2d,
9080x7d080038,
9090x55002800,
9100x000900a1,
9110x55081800,
9120x000900a1,
9130x7d080050,
9140x7d294214,
9150x0006000d,
9160x10090301,
9170x00090cab,
9180x11090301,
9190x00090cab,
9200x10005a34,
9210x81290000,
9220x00098200,
9230x41830000,
9240x00050805,
9250x28090000,
9260x41820000,
9270x00050847,
9280x48000000,
9290x0005000d,
9300x0006000f,
9310x1008d234,
9320x41800000,
9330x00050847,
9340x10684217,
9350x48000000,
9360x00050047,
9370x00060010,
9380x2c080000,
9390x00098200,
9400x7d0840f8,
9410x41820000,
9420x0005080b,
9430x1003b232,
9440x55081000,
9450x000900a1,
9460x39200000,
9470x00098200,
9480x7d09401e,
9490x39310000,
9500x00098200,
9510x7d49402e,
9520x48000000,
9530x0005000c,
9540x00060049,
9550x00000000,
9560x280b0010,
9570x106e0301,
9580x108e0b01,
9590x41800000,
9600x00050844,
9610x1003222c,
9620x1000c234,
9630x40830000,
9640x00050844,
9650x81030000,
9660x00098200,
9670x28080000,
9680x88c30000,
9690x00098200,
9700x40820000,
9710x00050844,
9720x70c00000,
9730x00090200,
9740x90830000,
9750x00098200,
9760x41820000,
9770x00050847,
9780x80110000,
9790x00098200,
9800x54c607b8,
9810x90710000,
9820x00098200,
9830x98c30000,
9840x00098200,
9850x90030000,
9860x00098200,
9870x48000000,
9880x00050047,
9890x0006004a,
9900x280b0010,
9910x108e0301,
9920x41800000,
9930x00050844,
9940x1004c234,
9950x38ae0008,
9960x40800000,
9970x00050844,
9980x7e439378,
9990x48000001,
10000x00030009,
10010x10630301,
10020x48000000,
10030x00050047,
10040x0006004b,
10050x280b0008,
10060x106e0301,
10070x40820000,
10080x00050844,
10090x1003b232,
10100x41800000,
10110x00050847,
10120x48000000,
10130x00050044,
10140x0006004c,
10150x00000000,
10160x280b0008,
10170x106e0301,
10180x41800000,
10190x00050844,
10200x1003ba34,
10210x41800000,
10220x00050847,
10230x80110000,
10240x00098200,
10250x1003b232,
10260x28800000,
10270x91d20000,
10280x00098200,
10290x4c403202,
10300x9201000c,
10310x40820000,
10320x00050844,
10330x80110000,
10340x00098200,
10350x81110000,
10360x00098200,
10370x7c004040,
10380x40800001,
10390x0005084d,
10400x7e439378,
10410x7dc47378,
10420x48000001,
10430x0003000a,
10440x10771a2d,
10450x48000000,
10460x00050047,
10470x0006004e,
10480x280b0008,
10490x108e0301,
10500x41800000,
10510x00050844,
10520x134e5b20,
10530x1004c234,
10540x820efff8,
10550x40800000,
10560x00050844,
10570x91d20000,
10580x00098200,
10590x7e439378,
10600x91d20000,
10610x00098200,
10620x38ae0008,
10630x9201000c,
10640x48000001,
10650x0003000b,
10660x28030000,
10670x107ad217,
10680x41820000,
10690x00050847,
10700x100e0b01,
10710x3a8efff8,
10720x110e1301,
10730x10140321,
10740x39800000,
10750x00098200,
10760x11140b21,
10770x48000000,
10780x00050045,
10790x0006004f,
10800x280b0008,
10810x106e0301,
10820x41800000,
10830x00050844,
10840x1003c234,
10850x820efff8,
10860x40800000,
10870x00050844,
10880x00000000,
10890x81230000,
10900x00098200,
10910x100a0301,
10920x00090cab,
10930x28090000,
10940x3a8efff8,
10950x40820000,
10960x00050844,
10970x00000000,
10980x100a0301,
10990x00090cab,
11000x3a8efff8,
11010x00000000,
11020x134e0b21,
11030x39800000,
11040x00098200,
11050x10140321,
11060x48000000,
11070x00050045,
11080x00060050,
11090x280b0010,
11100x106e0301,
11110x108e0b01,
11120x41800000,
11130x00050844,
11140x1003c234,
11150x820efff8,
11160x40800000,
11170x00050844,
11180x1004b232,
11190x3cc03ff0,
11200x40800000,
11210x00050844,
11220x112022f5,
11230x80030000,
11240x00098200,
11250x10c6da2d,
11260x81030000,
11270x00098200,
11280x108432e0,
11290x39290001,
11300x3a8efff8,
11310x7c004840,
11320x55261800,
11330x000900a1,
11340x10940321,
11350x40810000,
11360x00050802,
11370x11083300,
11380x0006000b,
11390x1008d234,
11400x39800000,
11410x00098200,
11420x41800000,
11430x00050845,
11440x39800000,
11450x00098200,
11460x11140b21,
11470x48000000,
11480x00050045,
11490x0006000c,
11500x80030000,
11510x00098200,
11520x28000000,
11530x39800000,
11540x00098200,
11550x41820000,
11560x00050845,
11570x7d244b78,
11580x48000001,
11590x0003000c,
11600x28030000,
11610x39800000,
11620x00098200,
11630x41820000,
11640x00050845,
11650x00000000,
11660x11030301,
11670x48000000,
11680x0005000b,
11690x00060051,
11700x280b0008,
11710x106e0301,
11720x41800000,
11730x00050844,
11740x1003c234,
11750x820efff8,
11760x40800000,
11770x00050844,
11780x00000000,
11790x81230000,
11800x00098200,
11810x100a0301,
11820x00090cab,
11830x28090000,
11840x3a8efff8,
11850x40820000,
11860x00050844,
11870x00000000,
11880x100a0301,
11890x00090cab,
11900x3a8efff8,
11910x00000000,
11920x11000229,
11930x39800000,
11940x00098200,
11950x110e0b21,
11960x10140321,
11970x48000000,
11980x00050045,
11990x00060052,
12000x280b0008,
12010x88d10000,
12020x00098200,
12030x41800000,
12040x00050844,
12050x7dc97378,
12060x39ce0008,
12070x54c607fe,
12080x000900ab,
12090x396bfff8,
12100x3a060000,
12110x00098200,
12120x48000000,
12130x00050024,
12140x00060053,
12150x280b0010,
12160x106e0301,
12170x108e0b01,
12180x41800000,
12190x00050844,
12200x88d10000,
12210x00098200,
12220x7dc97378,
12230x1004ca34,
12240x40800000,
12250x00050844,
12260x39ce0010,
12270x54c607fe,
12280x000900ab,
12290x10890321,
12300x396bfff0,
12310x10690b21,
12320x3a060000,
12330x00098200,
12340x48000000,
12350x00050024,
12360x00060054,
12370x280b0008,
12380x106e0301,
12390x41800000,
12400x00050844,
12410x10031a2c,
12420x2c000000,
12430x00098200,
12440x40820000,
12450x00050844,
12460x88030000,
12470x00098200,
12480x81030000,
12490x00098200,
12500x80830000,
12510x00098200,
12520x00000000,
12530x28000000,
12540x00090200,
12550x81230000,
12560x00098200,
12570x28880000,
12580x80030000,
12590x00098200,
12600x7f844840,
12610x820efff8,
12620x4f013342,
12630x7d245a14,
12640x4f3e1102,
12650x7c890040,
12660x4f18cb82,
12670x9201000c,
12680x4f182b82,
12690x91d20000,
12700x00098200,
12710x41980000,
12720x00050844,
12730x0006000b,
12740x39ce0008,
12750x396bfff8,
12760x3929fff8,
12770x91230000,
12780x00098200,
12790x39000000,
12800x91d20000,
12810x00098200,
12820x0006000c,
12830x7c085800,
12840x100e4300,
12850x41820000,
12860x00050803,
12870x10044320,
12880x39080008,
12890x48000000,
12900x0005000c,
12910x0006000d,
12920x38a00000,
12930x7c751b78,
12940x38c00000,
12950x48000001,
12960x00050021,
12970x0006000e,
12980x81350000,
12990x00098200,
13000x28030000,
13010x00090200,
13020x80d50000,
13030x00098200,
13040x38000000,
13050x00098200,
13060x81d20000,
13070x00098200,
13080x90110000,
13090x00098200,
13100x41810000,
13110x00050808,
13120x7d893050,
13130x80120000,
13140x00098200,
13150x00000000,
13160x280c0000,
13170x7d0e6214,
13180x41820000,
13190x00050806,
13200x7c080040,
13210x39000000,
13220x41810000,
13230x00050809,
13240x38ccfff8,
13250x91350000,
13260x00098200,
13270x0006000f,
13280x7c083040,
13290x10094300,
13300x100e4320,
13310x39080008,
13320x40820000,
13330x0005080f,
13340x00060010,
13350x72000000,
13360x00090200,
13370x39000000,
13380x00098200,
13390x3a8efff8,
13400x910efff8,
13410x398c0010,
13420x00060011,
13430x9201000c,
13440x7d936378,
13450x41820000,
13460x00050817,
13470x48000000,
13480x00050018,
13490x00060012,
13500x72000000,
13510x00090200,
13520x38c6fff8,
13530x39000000,
13540x00098200,
13550x10060301,
13560x90d50000,
13570x00098200,
13580x39800000,
13590x00098200,
13600x910efff8,
13610x3a8efff8,
13620x100e0321,
13630x48000000,
13640x00050011,
13650x00060013,
13660x7e439378,
13670x558400fe,
13680x000900ab,
13690x48000001,
13700x00030000,
13710x38600000,
13720x48000000,
13730x0005000e,
13740x00060055,
13750x00000000,
13760x806a0000,
13770x00098200,
13780x88030000,
13790x00098200,
13800x81030000,
13810x00098200,
13820x80830000,
13830x00098200,
13840x28000000,
13850x00090200,
13860x81230000,
13870x00098200,
13880x28880000,
13890x80030000,
13900x00098200,
13910x7f844840,
13920x820efff8,
13930x4f013342,
13940x7d245a14,
13950x4f3e1102,
13960x7c890040,
13970x4f18cb82,
13980x9201000c,
13990x4f182b82,
14000x91d20000,
14010x00098200,
14020x41980000,
14030x00050844,
14040x0006000b,
14050x91230000,
14060x00098200,
14070x39000000,
14080x91d20000,
14090x00098200,
14100x0006000c,
14110x7c085800,
14120x100e4300,
14130x41820000,
14140x00050803,
14150x10044320,
14160x39080008,
14170x48000000,
14180x0005000c,
14190x0006000d,
14200x38a00000,
14210x7c751b78,
14220x38c00000,
14230x48000001,
14240x00050021,
14250x0006000e,
14260x81350000,
14270x00098200,
14280x28030000,
14290x00090200,
14300x80d50000,
14310x00098200,
14320x38000000,
14330x00098200,
14340x00000000,
14350x81d20000,
14360x00098200,
14370x90110000,
14380x00098200,
14390x41810000,
14400x00050808,
14410x7d893050,
14420x80120000,
14430x00098200,
14440x280c0000,
14450x7d0e6214,
14460x41820000,
14470x00050806,
14480x7c080040,
14490x39000000,
14500x41810000,
14510x00050809,
14520x38ccfff8,
14530x91350000,
14540x00098200,
14550x0006000f,
14560x7c083040,
14570x10094300,
14580x100e4320,
14590x39080008,
14600x40820000,
14610x0005080f,
14620x00060010,
14630x72000000,
14640x00090200,
14650x7dd47378,
14660x398c0008,
14670x00060011,
14680x9201000c,
14690x7d936378,
14700x41820000,
14710x00050817,
14720x48000000,
14730x00050018,
14740x00060012,
14750x7e439378,
14760x7ea4ab78,
14770x48000001,
14780x0003000d,
14790x00060013,
14800x7e439378,
14810x558400fe,
14820x000900ab,
14830x48000001,
14840x00030000,
14850x38600000,
14860x48000000,
14870x0005000e,
14880x00060056,
14890x80120000,
14900x00098200,
14910x00000000,
14920x7d0e5a14,
14930x91d20000,
14940x00098200,
14950x70000000,
14960x00090200,
14970x91120000,
14980x00098200,
14990x38600000,
15000x00098200,
15010x41820000,
15020x00050844,
15030x93720000,
15040x00098200,
15050x98720000,
15060x00098200,
15070x48000000,
15080x0005001a,
15090x00060057,
15100x280b0008,
15110x106e0301,
15120x41800000,
15130x00050844,
15140x1003b232,
15150x40800000,
15160x00050844,
15170x106302e4,
15180x00060047,
15190x820efff8,
15200x3a8efff8,
15210x10740321,
15220x00060058,
15230x39800000,
15240x00098200,
15250x00060045,
15260x72000000,
15270x00090200,
15280x7d936378,
15290x40820000,
15300x00050818,
15310x80f0fffc,
15320x54ea5d78,
15330x0006000f,
15340x7c0a6040,
15350x54e0dd78,
15360x41810000,
15370x00050806,
15380x80f00000,
15390x3a100004,
15400x7dc0a050,
15410x54e815ba,
15420x54ea5d78,
15430x54ec9b78,
15440x7c11402e,
15450x54f4dd78,
15460x54eb9d78,
15470x7c0903a6,
15480x4e800420,
15490x00060010,
15500x390cfff8,
15510x398c0008,
15520x13544320,
15530x48000000,
15540x0005000f,
15550x00060059,
15560x00000000,
15570x280b0008,
15580x108e0301,
15590x41800000,
15600x00050844,
15610x1004b232,
15620x1064222c,
15630x40800000,
15640x00050844,
15650x820efff8,
15660x48000001,
15670x0005005a,
15680x3a8efff8,
15690x10940321,
15700x48000000,
15710x00050058,
15720x0006005b,
15730x280b0008,
15740x108e0301,
15750x41800000,
15760x00050844,
15770x1004b232,
15780x1064222c,
15790x40800000,
15800x00050844,
15810x820efff8,
15820x48000001,
15830x0005005c,
15840x3a8efff8,
15850x10940321,
15860x48000000,
15870x00050058,
15880x0006005d,
15890x280b0008,
15900x108e0301,
15910x41800000,
15920x00050844,
15930x1004b232,
15940x1064222c,
15950x40800000,
15960x00050844,
15970x48000001,
15980x0003000e,
15990x1063222d,
16000x48000000,
16010x00050047,
16020x0006005e,
16030x280b0008,
16040x108e0301,
16050x41800000,
16060x00050844,
16070x1004b232,
16080x1064222c,
16090x40800000,
16100x00050844,
16110x48000001,
16120x0003000f,
16130x1063222d,
16140x48000000,
16150x00050047,
16160x0006005f,
16170x280b0008,
16180x108e0301,
16190x41800000,
16200x00050844,
16210x1004b232,
16220x1064222c,
16230x40800000,
16240x00050844,
16250x00000000,
16260x48000001,
16270x00030010,
16280x1063222d,
16290x48000000,
16300x00050047,
16310x00060060,
16320x280b0008,
16330x108e0301,
16340x41800000,
16350x00050844,
16360x1004b232,
16370x1064222c,
16380x40800000,
16390x00050844,
16400x48000001,
16410x00030011,
16420x1063222d,
16430x48000000,
16440x00050047,
16450x00060061,
16460x280b0008,
16470x108e0301,
16480x41800000,
16490x00050844,
16500x1004b232,
16510x1064222c,
16520x40800000,
16530x00050844,
16540x48000001,
16550x00030012,
16560x1063222d,
16570x48000000,
16580x00050047,
16590x00060062,
16600x280b0008,
16610x108e0301,
16620x41800000,
16630x00050844,
16640x1004b232,
16650x1064222c,
16660x40800000,
16670x00050844,
16680x48000001,
16690x00030013,
16700x1063222d,
16710x48000000,
16720x00050047,
16730x00060063,
16740x280b0008,
16750x108e0301,
16760x41800000,
16770x00050844,
16780x1004b232,
16790x1064222c,
16800x40800000,
16810x00050844,
16820x48000001,
16830x00030014,
16840x1063222d,
16850x48000000,
16860x00050047,
16870x00060064,
16880x00000000,
16890x280b0008,
16900x108e0301,
16910x41800000,
16920x00050844,
16930x1004b232,
16940x1064222c,
16950x40800000,
16960x00050844,
16970x48000001,
16980x00030015,
16990x1063222d,
17000x48000000,
17010x00050047,
17020x00060065,
17030x280b0008,
17040x108e0301,
17050x41800000,
17060x00050844,
17070x1004b232,
17080x1064222c,
17090x40800000,
17100x00050844,
17110x48000001,
17120x00030016,
17130x1063222d,
17140x48000000,
17150x00050047,
17160x00060066,
17170x280b0008,
17180x108e0301,
17190x41800000,
17200x00050844,
17210x1004b232,
17220x1064222c,
17230x40800000,
17240x00050844,
17250x48000001,
17260x00030017,
17270x1063222d,
17280x48000000,
17290x00050047,
17300x00060067,
17310x280b0008,
17320x108e0301,
17330x41800000,
17340x00050844,
17350x1004b232,
17360x1064222c,
17370x40800000,
17380x00050844,
17390x48000001,
17400x00030018,
17410x1063222d,
17420x48000000,
17430x00050047,
17440x00060068,
17450x280b0008,
17460x108e0301,
17470x41800000,
17480x00050844,
17490x1004b232,
17500x1064222c,
17510x40800000,
17520x00050844,
17530x00000000,
17540x48000001,
17550x00030019,
17560x1063222d,
17570x48000000,
17580x00050047,
17590x00060069,
17600x280b0008,
17610x108e0301,
17620x41800000,
17630x00050844,
17640x1004b232,
17650x1064222c,
17660x40800000,
17670x00050844,
17680x48000001,
17690x0003001a,
17700x1063222d,
17710x48000000,
17720x00050047,
17730x0006006a,
17740x280b0010,
17750x108e0301,
17760x10ce0b01,
17770x41800000,
17780x00050844,
17790x1066222c,
17800x1003b232,
17810x10a6322c,
17820x40830000,
17830x00050844,
17840x48000001,
17850x0003001b,
17860x1063222d,
17870x48000000,
17880x00050047,
17890x0006006b,
17900x280b0010,
17910x108e0301,
17920x10ce0b01,
17930x41800000,
17940x00050844,
17950x1066222c,
17960x1003b232,
17970x10a6322c,
17980x40830000,
17990x00050844,
18000x48000001,
18010x0003001c,
18020x1063222d,
18030x48000000,
18040x00050047,
18050x0006006c,
18060x280b0010,
18070x108e0301,
18080x10ce0b01,
18090x41800000,
18100x00050844,
18110x1066222c,
18120x1003b232,
18130x10a6322c,
18140x40830000,
18150x00050844,
18160x48000001,
18170x0003001d,
18180x1063222d,
18190x48000000,
18200x00050047,
18210x0006006d,
18220x0006006e,
18230x00000000,
18240x280b0008,
18250x106e0301,
18260x41800000,
18270x00050844,
18280x1003b232,
18290x40800000,
18300x00050844,
18310x108a0301,
18320x00090cab,
18330x106322e8,
18340x48000000,
18350x00050047,
18360x0006006f,
18370x280b0010,
18380x108e0301,
18390x10ce0b01,
18400x41800000,
18410x00050844,
18420x1066222c,
18430x1003b232,
18440x40830000,
18450x00050844,
18460x10a032f5,
18470x48000001,
18480x0003001e,
18490x1063222d,
18500x48000000,
18510x00050047,
18520x00060070,
18530x280b0008,
18540x108e0301,
18550x41800000,
18560x00050844,
18570x1004b232,
18580x1064222c,
18590x40800000,
18600x00050844,
18610x38b10000,
18620x00098200,
18630x820efff8,
18640x48000001,
18650x0003001f,
18660x81110000,
18670x00098200,
18680x1063222d,
18690x108042f1,
18700x3a8efff8,
18710x10740321,
18720x39800000,
18730x00098200,
18740x10940b21,
18750x48000000,
18760x00050045,
18770x00060071,
18780x280b0008,
18790x108e0301,
18800x41800000,
18810x00050844,
18820x1004b232,
18830x1064222c,
18840x40800000,
18850x00050844,
18860x38aefff8,
18870x820efff8,
18880x48000001,
18890x00030020,
18900x1063222d,
18910x3a8efff8,
18920x106e0321,
18930x39800000,
18940x00098200,
18950x00000000,
18960x48000000,
18970x00050045,
18980x00060072,
18990x280b0008,
19000x106e0301,
19010x41800000,
19020x00050844,
19030x1003b232,
19040x39000008,
19050x40800000,
19060x00050844,
19070x0006000b,
19080x108e4300,
19090x7c885840,
19100x1004b232,
19110x40840000,
19120x00050847,
19130x40800000,
19140x00050844,
19150x10041afd,
19160x39080008,
19170x4c010b82,
19180x10641a78,
19190x48000000,
19200x0005000b,
19210x00060073,
19220x280b0008,
19230x106e0301,
19240x41800000,
19250x00050844,
19260x1003b232,
19270x39000008,
19280x40800000,
19290x00050844,
19300x0006000b,
19310x108e4300,
19320x7c885840,
19330x1004b232,
19340x40840000,
19350x00050847,
19360x40800000,
19370x00050844,
19380x10041afc,
19390x39080008,
19400x4c010b82,
19410x10641a78,
19420x48000000,
19430x0005000b,
19440x00060074,
19450x280b0008,
19460x106e0301,
19470x41800000,
19480x00050844,
19490x1003ba34,
19500x40800000,
19510x00050844,
19520x80030000,
19530x00098200,
19540x106002f1,
19550x48000000,
19560x00050047,
19570x00060075,
19580x280b0008,
19590x106e0301,
19600x40820000,
19610x00050844,
19620x00000000,
19630x1003ba34,
19640x3a8efff8,
19650x40800000,
19660x00050844,
19670x80030000,
19680x00098200,
19690x39800000,
19700x00098200,
19710x89030000,
19720x00098200,
19730x39200000,
19740x00098200,
19750x28000000,
19760x820efff8,
19770x106042f1,
19780x7d8c489e,
19790x10740321,
19800x48000000,
19810x00050045,
19820x00060076,
19830x80110000,
19840x00098200,
19850x81110000,
19860x00098200,
19870x7c004040,
19880x40800001,
19890x0005084d,
19900x280b0008,
19910x106e0301,
19920x40820000,
19930x00050844,
19940x1003b232,
19950x38910000,
19960x00098200,
19970x40800000,
19980x00050844,
19990x10001afa,
20000x38a00001,
20010x280000ff,
20020x98040000,
20030x41810000,
20040x00050844,
20050x00060077,
20060x7e439378,
20070x91d20000,
20080x00098200,
20090x9201000c,
20100x48000001,
20110x00030021,
20120x81d20000,
20130x00098200,
20140x10771a2d,
20150x48000000,
20160x00050047,
20170x00060078,
20180x80110000,
20190x00098200,
20200x81110000,
20210x00098200,
20220x00000000,
20230x7c004040,
20240x40800001,
20250x0005084d,
20260x280b0010,
20270x10ae1301,
20280x106e0301,
20290x41800000,
20300x00050844,
20310x108e0b01,
20320x3920ffff,
20330x41820000,
20340x00050801,
20350x1005b232,
20360x40800000,
20370x00050844,
20380x11202afa,
20390x0006000b,
20400x1004b232,
20410x40800000,
20420x00050844,
20430x1003ba34,
20440x110022fa,
20450x40800000,
20460x00050844,
20470x80030000,
20480x00098200,
20490x7c004840,
20500x7cc90214,
20510x41800000,
20520x00050805,
20530x0006000c,
20540x2c080000,
20550x7cc80214,
20560x40810000,
20570x00050807,
20580x0006000d,
20590x7ca84851,
20600x38830000,
20610x00098200,
20620x38a50001,
20630x7c844214,
20640x7ca0281e,
20650x48000000,
20660x00050077,
20670x0006000f,
20680x7c004800,
20690x38c60001,
20700x7d26005e,
20710x48000000,
20720x0005000c,
20730x00060011,
20740x2c860000,
20750x7d00309e,
20760x7d00411e,
20770x39080001,
20780x48000000,
20790x0005000d,
20800x00060079,
20810x80110000,
20820x00098200,
20830x81110000,
20840x00098200,
20850x7c004040,
20860x40800001,
20870x0005084d,
20880x00000000,
20890x280b0010,
20900x106e0301,
20910x108e0b01,
20920x41800000,
20930x00050844,
20940x1004b232,
20950x40800000,
20960x00050844,
20970x1003ba34,
20980x10a022fa,
20990x40800000,
21000x00050844,
21010x80030000,
21020x00098200,
21030x2c050000,
21040x81110000,
21050x00098200,
21060x40810000,
21070x00050802,
21080x28000001,
21090x3925ffff,
21100x41800000,
21110x00050802,
21120x7c882840,
21130x40820000,
21140x00050844,
21150x88030000,
21160x00098200,
21170x80910000,
21180x00098200,
21190x41840000,
21200x00050844,
21210x0006000b,
21220x28090000,
21230x7c0449ae,
21240x3929ffff,
21250x40820000,
21260x0005080b,
21270x48000000,
21280x00050077,
21290x0006000c,
21300x38710000,
21310x00098200,
21320x10771a2d,
21330x48000000,
21340x00050047,
21350x0006007a,
21360x80110000,
21370x00098200,
21380x81110000,
21390x00098200,
21400x7c004040,
21410x40800001,
21420x0005084d,
21430x280b0008,
21440x106e0301,
21450x41800000,
21460x00050844,
21470x00000000,
21480x1003ba34,
21490x81110000,
21500x00098200,
21510x40800000,
21520x00050844,
21530x80a30000,
21540x00098200,
21550x38630000,
21560x00098200,
21570x80910000,
21580x00098200,
21590x39200000,
21600x7c082840,
21610x38c5ffff,
21620x41800000,
21630x00050844,
21640x0006000b,
21650x2c060000,
21660x7d0348ae,
21670x41800000,
21680x00050877,
21690x7d0431ae,
21700x38c6ffff,
21710x39290001,
21720x48000000,
21730x0005000b,
21740x0006007b,
21750x80110000,
21760x00098200,
21770x81110000,
21780x00098200,
21790x7c004040,
21800x40800001,
21810x0005084d,
21820x280b0008,
21830x106e0301,
21840x41800000,
21850x00050844,
21860x1003ba34,
21870x81110000,
21880x00098200,
21890x40800000,
21900x00050844,
21910x80a30000,
21920x00098200,
21930x38630000,
21940x00098200,
21950x80910000,
21960x00098200,
21970x7c082840,
21980x39200000,
21990x41800000,
22000x00050844,
22010x0006000b,
22020x7c092840,
22030x7d0348ae,
22040x40800000,
22050x00050877,
22060x00000000,
22070x3808ffbf,
22080x69060020,
22090x2800001a,
22100x7d06401e,
22110x7d0449ae,
22120x39290001,
22130x48000000,
22140x0005000b,
22150x0006007c,
22160x80110000,
22170x00098200,
22180x81110000,
22190x00098200,
22200x7c004040,
22210x40800001,
22220x0005084d,
22230x280b0008,
22240x106e0301,
22250x41800000,
22260x00050844,
22270x1003ba34,
22280x81110000,
22290x00098200,
22300x40800000,
22310x00050844,
22320x80a30000,
22330x00098200,
22340x38630000,
22350x00098200,
22360x80910000,
22370x00098200,
22380x7c082840,
22390x39200000,
22400x41800000,
22410x00050844,
22420x0006000b,
22430x7c092840,
22440x7d0348ae,
22450x40800000,
22460x00050877,
22470x3808ff9f,
22480x69060020,
22490x2800001a,
22500x7d06401e,
22510x7d0449ae,
22520x39290001,
22530x48000000,
22540x0005000b,
22550x0006007d,
22560x280b0008,
22570x106e0301,
22580x41800000,
22590x00050844,
22600x1003c234,
22610x40800000,
22620x00050844,
22630x48000001,
22640x00030022,
22650x10601af1,
22660x48000000,
22670x00050047,
22680x0006007e,
22690x280b0008,
22700x106e0301,
22710x41800000,
22720x00050844,
22730x00000000,
22740x1003b232,
22750x40800000,
22760x00050844,
22770x1063dae0,
22780x0006007f,
22790x10601af1,
22800x48000000,
22810x00050047,
22820x00060080,
22830x280b0008,
22840x106e0301,
22850x41800000,
22860x00050844,
22870x1003b232,
22880x40800000,
22890x00050844,
22900x1063dae0,
22910x39000008,
22920x0006000b,
22930x108e4300,
22940x7c885840,
22950x1004b232,
22960x40840000,
22970x0005087f,
22980x40800000,
22990x00050844,
23000x1084dae0,
23010x7c632038,
23020x39080008,
23030x48000000,
23040x0005000b,
23050x00060081,
23060x280b0008,
23070x106e0301,
23080x41800000,
23090x00050844,
23100x1003b232,
23110x40800000,
23120x00050844,
23130x1063dae0,
23140x39000008,
23150x0006000b,
23160x108e4300,
23170x7c885840,
23180x1004b232,
23190x40840000,
23200x0005087f,
23210x40800000,
23220x00050844,
23230x1084dae0,
23240x7c632378,
23250x39080008,
23260x48000000,
23270x0005000b,
23280x00060082,
23290x280b0008,
23300x106e0301,
23310x41800000,
23320x00050844,
23330x1003b232,
23340x40800000,
23350x00050844,
23360x1063dae0,
23370x39000008,
23380x0006000b,
23390x108e4300,
23400x7c885840,
23410x1004b232,
23420x40840000,
23430x0005087f,
23440x00000000,
23450x40800000,
23460x00050844,
23470x1084dae0,
23480x7c632278,
23490x39080008,
23500x48000000,
23510x0005000b,
23520x00060083,
23530x280b0008,
23540x106e0301,
23550x41800000,
23560x00050844,
23570x1003b232,
23580x40800000,
23590x00050844,
23600x1063dae0,
23610x5460403e,
23620x5060c00e,
23630x5060c42e,
23640x106002f1,
23650x48000000,
23660x00050047,
23670x00060084,
23680x280b0008,
23690x106e0301,
23700x41800000,
23710x00050844,
23720x1003b232,
23730x40800000,
23740x00050844,
23750x1063dae0,
23760x7c6018f8,
23770x106002f1,
23780x48000000,
23790x00050047,
23800x00060085,
23810x280b0010,
23820x106e0301,
23830x108e0b01,
23840x41800000,
23850x00050844,
23860x1003222c,
23870x1000b232,
23880x40830000,
23890x00050844,
23900x1084dae0,
23910x1063dae0,
23920x548406fe,
23930x7c602030,
23940x106002f1,
23950x48000000,
23960x00050047,
23970x00060086,
23980x280b0010,
23990x106e0301,
24000x108e0b01,
24010x41800000,
24020x00050844,
24030x1003222c,
24040x1000b232,
24050x40830000,
24060x00050844,
24070x1084dae0,
24080x1063dae0,
24090x548406fe,
24100x7c602430,
24110x106002f1,
24120x48000000,
24130x00050047,
24140x00060087,
24150x280b0010,
24160x106e0301,
24170x108e0b01,
24180x41800000,
24190x00050844,
24200x1003222c,
24210x1000b232,
24220x40830000,
24230x00050844,
24240x1084dae0,
24250x1063dae0,
24260x548406fe,
24270x7c602630,
24280x106002f1,
24290x48000000,
24300x00050047,
24310x00060088,
24320x00000000,
24330x280b0010,
24340x106e0301,
24350x108e0b01,
24360x41800000,
24370x00050844,
24380x1003222c,
24390x1000b232,
24400x40830000,
24410x00050844,
24420x1084dae0,
24430x1063dae0,
24440x5c60203e,
24450x106002f1,
24460x48000000,
24470x00050047,
24480x00060089,
24490x280b0010,
24500x106e0301,
24510x108e0b01,
24520x41800000,
24530x00050844,
24540x1003222c,
24550x1000b232,
24560x40830000,
24570x00050844,
24580x1084dae0,
24590x1063dae0,
24600x7c8400d0,
24610x5c60203e,
24620x106002f1,
24630x48000000,
24640x00050047,
24650x00060044,
24660x80ca0000,
24670x00098200,
24680x7d0e5a14,
24690x820efff8,
24700x38080000,
24710x00098200,
24720x81320000,
24730x00098200,
24740x9201000c,
24750x7c004840,
24760x91d20000,
24770x00098200,
24780x91120000,
24790x00098200,
24800x7e439378,
24810x41810000,
24820x00050805,
24830x7cc903a6,
24840x4e800421,
24850x81d20000,
24860x00098200,
24870x2c030000,
24880x546c1800,
24890x000900a1,
24900x3a8efff8,
24910x41810000,
24920x00050845,
24930x0006000b,
24940x80120000,
24950x00098200,
24960x814efffc,
24970x7d6e0050,
24980x40820000,
24990x00050828,
25000x820a0000,
25010x00098200,
25020x80f00000,
25030x3a100004,
25040x54e815ba,
25050x54f4dd78,
25060x7c11402e,
25070x7e947214,
25080x7c0903a6,
25090x4e800420,
25100x00060028,
25110x00000000,
25120x72000000,
25130x00090200,
25140x56080038,
25150x40820000,
25160x00050803,
25170x80f0fffc,
25180x54e8dd78,
25190x39080008,
25200x0006000d,
25210x7d287050,
25220x48000000,
25230x00050024,
25240x0006000f,
25250x38800000,
25260x00098200,
25270x48000001,
25280x00030000,
25290x81d20000,
25300x00098200,
25310x7c000000,
25320x48000000,
25330x0005000b,
25340x0006004d,
25350x7ea802a6,
25360x91d20000,
25370x00098200,
25380x7c0e5a14,
25390x9201000c,
25400x90120000,
25410x00098200,
25420x7e439378,
25430x48000001,
25440x00030023,
25450x81d20000,
25460x00098200,
25470x7ea803a6,
25480x80120000,
25490x00098200,
25500x7d6e0050,
25510x814efffc,
25520x4e800020,
25530x0006008a,
25540x00000000,
25550x7c810808,
25560x00000000,
25570x0006008b,
25580x88d10000,
25590x00098200,
25600x70c00000,
25610x00090200,
25620x41820000,
25630x00050801,
25640x0006000f,
25650x39080000,
25660x00098200,
25670x7c11402e,
25680x7c0903a6,
25690x4e800420,
25700x0006008c,
25710x88d10000,
25720x00098200,
25730x81310000,
25740x00098200,
25750x70c00000,
25760x00090200,
25770x54c007c0,
25780x000900ab,
25790x40820000,
25800x0005080f,
25810x2c800000,
25820x3529ffff,
25830x41860000,
25840x0005080f,
25850x91310000,
25860x00098200,
25870x41820000,
25880x00050801,
25890x40840000,
25900x0005080f,
25910x0006000b,
25920x7e439378,
25930x92610008,
25940x7e048378,
25950x91d20000,
25960x00098200,
25970x48000001,
25980x00030024,
25990x0006000d,
26000x81d20000,
26010x00098200,
26020x0006000e,
26030x00000000,
26040x80f0fffc,
26050x54e815ba,
26060x54ea5d78,
26070x39080000,
26080x00098200,
26090x54ec9b78,
26100x7c11402e,
26110x54f4dd78,
26120x54eb9d78,
26130x7c0903a6,
26140x4e800420,
26150x0006008d,
26160x3a100004,
26170x826affec,
26180x48000000,
26190x0005000e,
26200x0006008e,
26210x00000000,
26220x7c810808,
26230x00000000,
26240x0006008f,
26250x7e048378,
26260x00000000,
26270x48000000,
26280x00050001,
26290x00000000,
26300x00060090,
26310x00000000,
26320x62040001,
26330x0006000b,
26340x00000000,
26350x7c0e5a14,
26360x9201000c,
26370x7e439378,
26380x91d20000,
26390x00098200,
26400x7e8ea050,
26410x90120000,
26420x00098200,
26430x48000001,
26440x00030025,
26450x81d20000,
26460x00098200,
26470x80120000,
26480x00098200,
26490x9361000c,
26500x7d6e0050,
26510x7e8ea214,
26520x814efffc,
26530x7c6903a6,
26540x4e800420,
26550x00060091,
26560x00000000,
26570x7c810808,
26580x00000000,
26590x00060092,
26600x00000000,
26610x7c810808,
26620x00000000,
26630x00060093,
26640x7ca802a6,
26650x48000001,
26660x0005005a,
26670x7ca803a6,
26680x1064222c,
26690x4e800020,
26700x00060094,
26710x1064222c,
26720x0006005a,
26730x5469657e,
26740x3529fc01,
26750x3900ffff,
26760x28890033,
26770x20090034,
26780x41850000,
26790x00050801,
26800x3cc0fff0,
26810x7d000030,
26820x7cc84e30,
26830x7c890078,
26840x7c664078,
26850x7d293378,
26860x7c66fe70,
26870x7d293039,
26880x7c840038,
26890x7c634038,
26900x7c002010,
26910x7c04009e,
26920x7d081910,
26930x7d03409e,
26940x1088022d,
26950x4e800020,
26960x0006000b,
26970x4d810020,
26980x5469007e,
26990x7c60fe70,
27000x7d292378,
27010x3d003ff0,
27020x7d290039,
27030x38000000,
27040x7d00409e,
27050x5103007e,
27060x1083022d,
27070x4e800020,
27080x00060095,
27090x1064222c,
27100x0006005c,
27110x5469657e,
27120x3529fc01,
27130x3900ffff,
27140x28890033,
27150x20090034,
27160x41850000,
27170x00050801,
27180x3cc0fff0,
27190x7d000030,
27200x7cc84e30,
27210x7c890078,
27220x7c664078,
27230x7d293378,
27240x7c66fe70,
27250x7d293079,
27260x7c840038,
27270x7c634038,
27280x7c002010,
27290x7c04009e,
27300x7d081910,
27310x7d03409e,
27320x1088022d,
27330x4e800020,
27340x0006000b,
27350x4d810020,
27360x5469007e,
27370x7c60fe70,
27380x7d292378,
27390x3d003ff0,
27400x7d290079,
27410x38000000,
27420x7d00409e,
27430x5103007e,
27440x1083022d,
27450x4e800020,
27460x00000000,
27470x00060096,
27480x1064222c,
27490x00060097,
27500x5469657e,
27510x3529fc01,
27520x3900ffff,
27530x28890033,
27540x20090034,
27550x41850000,
27560x00050801,
27570x3cc0fff0,
27580x7d000030,
27590x7cc84e30,
27600x1008022d,
27610x10840211,
27620x4e800020,
27630x0006000b,
27640x4d810020,
27650x54680000,
27660x38000000,
27670x1088022d,
27680x4e800020,
27690x00000000,
27700x00060096,
27710x00060097,
27720x00000000,
27730x00060098,
27740x1083222d,
27750x28070001,
27760x10c5322d,
27770x41820000,
27780x00050801,
27790x41810000,
27800x00050802,
27810x108432e0,
27820x1064222c,
27830x4e800020,
27840x0006000b,
27850x108432e1,
27860x1064222c,
27870x4e800020,
27880x0006000c,
27890x28070003,
27900x41820000,
27910x00050801,
27920x41810000,
27930x00050802,
27940x108432e8,
27950x1064222c,
27960x4e800020,
27970x0006000b,
27980x108432e9,
27990x1064222c,
28000x4e800020,
28010x0006000c,
28020x28070005,
28030x41820000,
28040x00050801,
28050x41810000,
28060x00050802,
28070x10a42217,
28080x108432e9,
28090x11463217,
28100x7d6802a6,
28110x48000001,
28120x00050094,
28130x7d6803a6,
28140x108452e8,
28150x108522e1,
28160x1064222c,
28170x4e800020,
28180x0006000b,
28190x48000000,
28200x0003001b,
28210x0006000c,
28220x28070007,
28230x41820000,
28240x00050801,
28250x41810000,
28260x00050802,
28270x6c638000,
28280x4e800020,
28290x0006000b,
28300x5463007e,
28310x4e800020,
28320x0006000c,
28330x7c810808,
28340x00060099,
28350x00000000,
28360x7c810808,
28370x00000000,
28380x00080000,
28390x00000000,
28400x100ea300,
28410x3a100004,
28420x110e6300,
28430x3cd00000,
28440x00098200,
28450x8130fffc,
28460x1140422c,
28470x552993ba,
28480x100ab232,
28490x7d293214,
28500x40830000,
28510x00050834,
28520x100042ed,
28530x00000000,
28540x108042ee,
28550x4c212b82,
28560x00000000,
28570x7e09805e,
28580x00000000,
28590x7e10485e,
28600x00000000,
28610x80f00000,
28620x3a100004,
28630x54e815ba,
28640x54ea5d78,
28650x54ec9b78,
28660x7c11402e,
28670x54f4dd78,
28680x54eb9d78,
28690x7c0903a6,
28700x4e800420,
28710x00000000,
28720x108ea300,
28730x3a100004,
28740x10ae6300,
28750x3cd00000,
28760x00098200,
28770x8130fffc,
28780x11442a2c,
28790x552993ba,
28800x100ab232,
28810x7d293214,
28820x40830000,
28830x00050805,
28840x10042aee,
28850x00000000,
28860x7e09805e,
28870x00000000,
28880x7e10485e,
28890x00000000,
28900x0006000b,
28910x80f00000,
28920x3a100004,
28930x54e815ba,
28940x54ea5d78,
28950x54ec9b78,
28960x7c11402e,
28970x54f4dd78,
28980x54eb9d78,
28990x7c0903a6,
29000x4e800420,
29010x0006000f,
29020x10042a34,
29030x7d4650f8,
29040x28860000,
29050x00090200,
29060x4f830342,
29070x2b060000,
29080x00090200,
29090x4fa02902,
29100x7e158378,
29110x00000000,
29120x7e09875e,
29130x00000000,
29140x7d304f5e,
29150x00000000,
29160x4f9ceb82,
29170x00000000,
29180x7e0980de,
29190x00000000,
29200x7e1048de,
29210x00000000,
29220x419c0000,
29230x0005080b,
29240x41980000,
29250x0005080b,
29260x81240000,
29270x00098200,
29280x38c00000,
29290x00098200,
29300x28090000,
29310x41820000,
29320x0005080b,
29330x89290000,
29340x00098200,
29350x71290000,
29360x00090200,
29370x40820000,
29380x0005080b,
29390x7eb0ab78,
29400x48000000,
29410x00050039,
29420x00000000,
29430x100ea300,
29440x558c007e,
29450x000900ab,
29460x80f00000,
29470x218cfffc,
29480x3a100004,
29490x7d0f602e,
29500x3cd00000,
29510x00098200,
29520x54e993ba,
29530x1117422d,
29540x7d293214,
29550x10004234,
29560x00000000,
29570x7e0980de,
29580x00000000,
29590x7e1048de,
29600x00000000,
29610x80f00000,
29620x3a100004,
29630x54e815ba,
29640x54ea5d78,
29650x54ec9b78,
29660x7c11402e,
29670x54f4dd78,
29680x54eb9d78,
29690x7c0903a6,
29700x4e800420,
29710x00000000,
29720x100ea300,
29730x3a100004,
29740x110f6300,
29750x3cd00000,
29760x00098200,
29770x80f0fffc,
29780x1000b232,
29790x40800000,
29800x00050805,
29810x100042ee,
29820x0006000b,
29830x54e993ba,
29840x7d293214,
29850x00000000,
29860x7e09805e,
29870x0006000f,
29880x00000000,
29890x7e10485e,
29900x00000000,
29910x0006000d,
29920x80f00000,
29930x3a100004,
29940x54e815ba,
29950x54ea5d78,
29960x54ec9b78,
29970x7c11402e,
29980x54f4dd78,
29990x54eb9d78,
30000x7c0903a6,
30010x4e800420,
30020x00000000,
30030x0006000f,
30040x54e993ba,
30050x7e093214,
30060x48000000,
30070x0005000d,
30080x00000000,
30090x7c0ea02e,
30100x558800fe,
30110x000900ab,
30120x80f00000,
30130x3a100004,
30140x7d0840f8,
30150x3cd00000,
30160x00098200,
30170x7c004040,
30180x54e993ba,
30190x7d293214,
30200x00000000,
30210x7e09809e,
30220x00000000,
30230x7e10489e,
30240x00000000,
30250x80f00000,
30260x3a100004,
30270x54e815ba,
30280x54ea5d78,
30290x54ec9b78,
30300x7c11402e,
30310x54f4dd78,
30320x54eb9d78,
30330x7c0903a6,
30340x4e800420,
30350x00000000,
30360x100e6300,
30370x111ad200,
30380x80f00000,
30390x10004232,
30400x3a100004,
30410x00000000,
30420x3cd00000,
30430x00098200,
30440x54e993ba,
30450x7d293214,
30460x00000000,
30470x7e09801e,
30480x00000000,
30490x7e10481e,
30500x00000000,
30510x40800000,
30520x00050801,
30530x00000000,
30540x41800000,
30550x00050801,
30560x00000000,
30570x3e100000,
30580x00098200,
30590x54e993ba,
30600x100ea320,
30610x7e104a14,
30620x0006000b,
30630x00000000,
30640x80f00000,
30650x3a100004,
30660x54e815ba,
30670x54ea5d78,
30680x54ec9b78,
30690x7c11402e,
30700x54f4dd78,
30710x54eb9d78,
30720x7c0903a6,
30730x4e800420,
30740x00000000,
30750x80f00000,
30760x3a100004,
30770x100e6300,
30780x100ea320,
30790x54e815ba,
30800x54ea5d78,
30810x54ec9b78,
30820x7c11402e,
30830x54f4dd78,
30840x54eb9d78,
30850x7c0903a6,
30860x4e800420,
30870x00000000,
30880x80f00000,
30890x3a100004,
30900x7c0e602e,
30910x21000000,
30920x00098200,
30930x7c004114,
30940x7c0ea12e,
30950x54e815ba,
30960x54ea5d78,
30970x54ec9b78,
30980x7c11402e,
30990x54f4dd78,
31000x54eb9d78,
31010x7c0903a6,
31020x4e800420,
31030x00000000,
31040x100e6300,
31050x1000b232,
31060x40800000,
31070x0005083c,
31080x100002e6,
31090x80f00000,
31100x3a100004,
31110x100ea320,
31120x54e815ba,
31130x54ea5d78,
31140x54ec9b78,
31150x7c11402e,
31160x54f4dd78,
31170x54eb9d78,
31180x7c0903a6,
31190x4e800420,
31200x00000000,
31210x106e6300,
31220x1003ba34,
31230x40800000,
31240x00050802,
31250x80630000,
31260x00098200,
31270x0006000b,
31280x80f00000,
31290x3a100004,
31300x10001af1,
31310x100ea320,
31320x54e815ba,
31330x54ea5d78,
31340x54ec9b78,
31350x7c11402e,
31360x54f4dd78,
31370x54eb9d78,
31380x7c0903a6,
31390x4e800420,
31400x0006000c,
31410x1003c234,
31420x40800000,
31430x0005083e,
31440x00000000,
31450x81230000,
31460x00098200,
31470x28090000,
31480x40820000,
31490x00050809,
31500x0006000d,
31510x00000000,
31520x0006003f,
31530x48000001,
31540x00030022,
31550x48000000,
31560x0005000b,
31570x00000000,
31580x00060013,
31590x88090000,
31600x00098200,
31610x70000000,
31620x00090200,
31630x40820000,
31640x0005080d,
31650x48000000,
31660x0005003e,
31670x00000000,
31680x100e5300,
31690x1000b232,
31700x110f5b00,
31710x40800000,
31720x0005083a,
31730x00000000,
31740x110e5300,
31750x1008b232,
31760x100f5b00,
31770x40800000,
31780x0005083b,
31790x00000000,
31800x100e5300,
31810x110e5b00,
31820x1120422c,
31830x1009b232,
31840x40830000,
31850x0005083d,
31860x00000000,
31870x80f00000,
31880x3a100004,
31890x100042e0,
31900x100ea320,
31910x54e815ba,
31920x54ea5d78,
31930x54ec9b78,
31940x7c11402e,
31950x54f4dd78,
31960x54eb9d78,
31970x7c0903a6,
31980x4e800420,
31990x00000000,
32000x100e5300,
32010x1000b232,
32020x110f5b00,
32030x40800000,
32040x0005083a,
32050x00000000,
32060x110e5300,
32070x1008b232,
32080x100f5b00,
32090x40800000,
32100x0005083b,
32110x00000000,
32120x100e5300,
32130x110e5b00,
32140x1120422c,
32150x1009b232,
32160x40830000,
32170x0005083d,
32180x00000000,
32190x80f00000,
32200x3a100004,
32210x100042e1,
32220x100ea320,
32230x54e815ba,
32240x54ea5d78,
32250x54ec9b78,
32260x7c11402e,
32270x54f4dd78,
32280x54eb9d78,
32290x7c0903a6,
32300x4e800420,
32310x00000000,
32320x100e5300,
32330x1000b232,
32340x110f5b00,
32350x40800000,
32360x0005083a,
32370x00000000,
32380x110e5300,
32390x1008b232,
32400x100f5b00,
32410x40800000,
32420x0005083b,
32430x00000000,
32440x100e5300,
32450x110e5b00,
32460x1120422c,
32470x1009b232,
32480x40830000,
32490x0005083d,
32500x00000000,
32510x80f00000,
32520x3a100004,
32530x100042e8,
32540x100ea320,
32550x54e815ba,
32560x54ea5d78,
32570x54ec9b78,
32580x7c11402e,
32590x54f4dd78,
32600x54eb9d78,
32610x7c0903a6,
32620x4e800420,
32630x00000000,
32640x100e5300,
32650x1000b232,
32660x110f5b00,
32670x40800000,
32680x0005083a,
32690x00000000,
32700x110e5300,
32710x1008b232,
32720x100f5b00,
32730x40800000,
32740x0005083b,
32750x00000000,
32760x100e5300,
32770x110e5b00,
32780x1120422c,
32790x1009b232,
32800x40830000,
32810x0005083d,
32820x00000000,
32830x80f00000,
32840x3a100004,
32850x100042e9,
32860x100ea320,
32870x54e815ba,
32880x54ea5d78,
32890x54ec9b78,
32900x7c11402e,
32910x54f4dd78,
32920x54eb9d78,
32930x7c0903a6,
32940x4e800420,
32950x00000000,
32960x118e5300,
32970x100cb232,
32980x12af5b00,
32990x40800000,
33000x0005083a,
33010x00000000,
33020x12ae5300,
33030x1015b232,
33040x118f5b00,
33050x40800000,
33060x0005083b,
33070x00000000,
33080x118e5300,
33090x12ae5b00,
33100x112caa2c,
33110x1009b232,
33120x40830000,
33130x0005083d,
33140x00000000,
33150x0006009a,
33160x108caae9,
33170x48000001,
33180x00050094,
33190x1004aae8,
33200x80f00000,
33210x3a100004,
33220x100c02e1,
33230x100ea320,
33240x54e815ba,
33250x54ea5d78,
33260x54ec9b78,
33270x7c11402e,
33280x54f4dd78,
33290x54eb9d78,
33300x7c0903a6,
33310x4e800420,
33320x00000000,
33330x118e5300,
33340x100cb232,
33350x12af5b00,
33360x40800000,
33370x0005083a,
33380x00000000,
33390x12ae5300,
33400x1015b232,
33410x118f5b00,
33420x40800000,
33430x0005083b,
33440x00000000,
33450x118e5300,
33460x12ae5b00,
33470x112caa2c,
33480x1009b232,
33490x40830000,
33500x0005083d,
33510x00000000,
33520x48000000,
33530x0005009a,
33540x00000000,
33550x108e5300,
33560x10ce5b00,
33570x1066222c,
33580x1003b232,
33590x10a6322c,
33600x40830000,
33610x0005083d,
33620x48000001,
33630x0003001b,
33640x1083222d,
33650x108ea320,
33660x80f00000,
33670x3a100004,
33680x54e815ba,
33690x54ea5d78,
33700x54ec9b78,
33710x7c11402e,
33720x54f4dd78,
33730x54eb9d78,
33740x7c0903a6,
33750x4e800420,
33760x00000000,
33770x7caa5850,
33780x91d20000,
33790x00098200,
33800x7c8e5a14,
33810x7d555378,
33820x0006002a,
33830x9201000c,
33840x7e439378,
33850x54a500fe,
33860x000900ab,
33870x48000001,
33880x00030026,
33890x28030000,
33900x81d20000,
33910x00098200,
33920x40820000,
33930x00050835,
33940x100eab00,
33950x100ea320,
33960x80f00000,
33970x3a100004,
33980x54e815ba,
33990x54ea5d78,
34000x54ec9b78,
34010x7c11402e,
34020x54f4dd78,
34030x54eb9d78,
34040x7c0903a6,
34050x4e800420,
34060x00000000,
34070x80f00000,
34080x3a100004,
34090x5588007e,
34100x000900ab,
34110x2108fffc,
34120x7c0f402e,
34130x1017022d,
34140x100ea320,
34150x54e815ba,
34160x54ea5d78,
34170x54ec9b78,
34180x7c11402e,
34190x54f4dd78,
34200x54eb9d78,
34210x7c0903a6,
34220x4e800420,
34230x00000000,
34240x80f00000,
34250x3a100004,
34260x5588007e,
34270x000900ab,
34280x2108fffc,
34290x7c0f402e,
34300x39200000,
34310x00098200,
34320x1009022d,
34330x100ea320,
34340x54e815ba,
34350x54ea5d78,
34360x54ec9b78,
34370x7c11402e,
34380x54f4dd78,
34390x54eb9d78,
34400x7c0903a6,
34410x4e800420,
34420x00000000,
34430x558800fe,
34440x000900ab,
34450x7d080734,
34460x80f00000,
34470x3a100004,
34480x100042f1,
34490x100ea320,
34500x54e815ba,
34510x54ea5d78,
34520x54ec9b78,
34530x7c11402e,
34540x54f4dd78,
34550x54eb9d78,
34560x7c0903a6,
34570x4e800420,
34580x00000000,
34590x100f6300,
34600x80f00000,
34610x3a100004,
34620x100ea320,
34630x54e815ba,
34640x54ea5d78,
34650x54ec9b78,
34660x7c11402e,
34670x54f4dd78,
34680x54eb9d78,
34690x7c0903a6,
34700x4e800420,
34710x00000000,
34720x558800fe,
34730x000900ab,
34740x7d0040f8,
34750x80f00000,
34760x3a100004,
34770x7c0ea12e,
34780x54e815ba,
34790x54ea5d78,
34800x54ec9b78,
34810x7c11402e,
34820x54f4dd78,
34830x54eb9d78,
34840x7c0903a6,
34850x4e800420,
34860x00000000,
34870x134ea320,
34880x3a940008,
34890x0006000b,
34900x134ea320,
34910x7c146000,
34920x3a940008,
34930x41800000,
34940x0005080b,
34950x80f00000,
34960x3a100004,
34970x54e815ba,
34980x54ea5d78,
34990x54ec9b78,
35000x7c11402e,
35010x54f4dd78,
35020x54eb9d78,
35030x7c0903a6,
35040x4e800420,
35050x00000000,
35060x80f00000,
35070x3a100004,
35080x814efffc,
35090x558c007e,
35100x000900ab,
35110x398c0000,
35120x00098200,
35130x7d4a602e,
35140x810a0000,
35150x00098200,
35160x10080301,
35170x100ea320,
35180x54e815ba,
35190x54ea5d78,
35200x54ec9b78,
35210x7c11402e,
35220x54f4dd78,
35230x54eb9d78,
35240x7c0903a6,
35250x4e800420,
35260x00000000,
35270x814efffc,
35280x5694007e,
35290x000900ab,
35300x3a940000,
35310x00098200,
35320x110e6300,
35330x7d4aa02e,
35340x88ca0000,
35350x00098200,
35360x808a0000,
35370x00098200,
35380x70c60000,
35390x00090200,
35400x880a0000,
35410x00098200,
35420x1128422c,
35430x11040321,
35440x28800000,
35450x4c423382,
35460x39290000,
35470x00098200,
35480x40820000,
35490x00050802,
35500x0006000b,
35510x80f00000,
35520x3a100004,
35530x54e815ba,
35540x54ea5d78,
35550x54ec9b78,
35560x7c11402e,
35570x54f4dd78,
35580x54eb9d78,
35590x7c0903a6,
35600x4e800420,
35610x0006000c,
35620x28090000,
35630x00090200,
35640x40800000,
35650x0005080b,
35660x88c80000,
35670x00098200,
35680x70c60000,
35690x00090200,
35700x38710000,
35710x00098200,
35720x41820000,
35730x0005080b,
35740x48000001,
35750x00030027,
35760x48000000,
35770x0005000b,
35780x00000000,
35790x814efffc,
35800x5588007e,
35810x000900ab,
35820x5694007e,
35830x000900ab,
35840x2108fffc,
35850x3a940000,
35860x00098200,
35870x7d0f402e,
35880x7d4aa02e,
35890x1117422d,
35900x88ca0000,
35910x00098200,
35920x808a0000,
35930x00098200,
35940x70c60000,
35950x00090200,
35960x88c80000,
35970x00098200,
35980x892a0000,
35990x00098200,
36000x11040321,
36010x40820000,
36020x00050802,
36030x0006000b,
36040x80f00000,
36050x3a100004,
36060x54e815ba,
36070x54ea5d78,
36080x54ec9b78,
36090x7c11402e,
36100x54f4dd78,
36110x54eb9d78,
36120x7c0903a6,
36130x4e800420,
36140x0006000c,
36150x70c60000,
36160x00090200,
36170x28890000,
36180x4c423382,
36190x38710000,
36200x00098200,
36210x41820000,
36220x0005080b,
36230x48000001,
36240x00030027,
36250x48000000,
36260x0005000b,
36270x00000000,
36280x80f00000,
36290x3a100004,
36300x814efffc,
36310x5694007e,
36320x000900ab,
36330x3a940000,
36340x00098200,
36350x100f6300,
36360x7d4aa02e,
36370x810a0000,
36380x00098200,
36390x10080321,
36400x54e815ba,
36410x54ea5d78,
36420x54ec9b78,
36430x7c11402e,
36440x54f4dd78,
36450x54eb9d78,
36460x7c0903a6,
36470x4e800420,
36480x00000000,
36490x80f00000,
36500x3a100004,
36510x814efffc,
36520x5694007e,
36530x000900ab,
36540x3a940000,
36550x00098200,
36560x558000fe,
36570x000900ab,
36580x7d4aa02e,
36590x7c0000f8,
36600x810a0000,
36610x00098200,
36620x90080000,
36630x54e815ba,
36640x54ea5d78,
36650x54ec9b78,
36660x7c11402e,
36670x54f4dd78,
36680x54eb9d78,
36690x7c0903a6,
36700x4e800420,
36710x00000000,
36720x81120000,
36730x00098200,
36740x5580007e,
36750x000900ab,
36760x7e100214,
36770x3e100000,
36780x00098200,
36790x91d20000,
36800x00098200,
36810x28080000,
36820x7e439378,
36830x41820000,
36840x00050801,
36850x7c8ea214,
36860x48000001,
36870x00030028,
36880x81d20000,
36890x00098200,
36900x0006000b,
36910x80f00000,
36920x3a100004,
36930x54e815ba,
36940x54ea5d78,
36950x54ec9b78,
36960x7c11402e,
36970x54f4dd78,
36980x54eb9d78,
36990x7c0903a6,
37000x4e800420,
37010x00000000,
37020x5588007e,
37030x000900ab,
37040x91d20000,
37050x00098200,
37060x2108fffc,
37070x9201000c,
37080x7c8f402e,
37090x7e439378,
37100x80aefffc,
37110x48000001,
37120x00030029,
37130x81d20000,
37140x00098200,
37150x10791a2d,
37160x106ea320,
37170x80f00000,
37180x3a100004,
37190x54e815ba,
37200x54ea5d78,
37210x54ec9b78,
37220x7c11402e,
37230x54f4dd78,
37240x54eb9d78,
37250x7c0903a6,
37260x4e800420,
37270x00000000,
37280x80110000,
37290x00098200,
37300x7e439378,
37310x81110000,
37320x00098200,
37330x91d20000,
37340x00098200,
37350x7c004040,
37360x9201000c,
37370x40800000,
37380x00050805,
37390x0006000b,
37400x00000000,
37410x5584ed7e,
37420x558596fe,
37430x2c0407ff,
37440x39000801,
37450x7c88209e,
37460x48000001,
37470x0003002a,
37480x00000000,
37490x5588007e,
37500x000900ab,
37510x2108fffc,
37520x7c8f402e,
37530x48000001,
37540x0003002b,
37550x00000000,
37560x81d20000,
37570x00098200,
37580x10781a2d,
37590x106ea320,
37600x80f00000,
37610x3a100004,
37620x54e815ba,
37630x54ea5d78,
37640x54ec9b78,
37650x7c11402e,
37660x54f4dd78,
37670x54eb9d78,
37680x7c0903a6,
37690x4e800420,
37700x0006000f,
37710x7d956378,
37720x48000001,
37730x0003002c,
37740x7eacab78,
37750x7e439378,
37760x48000000,
37770x0005000b,
37780x00000000,
37790x812efffc,
37800x5588007e,
37810x000900ab,
37820x81490000,
37830x00098200,
37840x2108fffc,
37850x7d6f402e,
37860x00000000,
37870x48000000,
37880x0005009b,
37890x00000000,
37900x48000000,
37910x0005009c,
37920x00000000,
37930x114e5300,
37940x116e5b00,
37950x100ac234,
37960x40800000,
37970x0005082f,
37980x100bb232,
37990x40800000,
38000x00050805,
38010x11205af5,
38020x800a0000,
38030x00098200,
38040x11004af1,
38050x7c004840,
38060x108b42ee,
38070x810a0000,
38080x00098200,
38090x4c212a02,
38100x55291800,
38110x000900a1,
38120x40810000,
38130x0005082f,
38140x11084b00,
38150x1008d234,
38160x41800000,
38170x00050802,
38180x0006000b,
38190x110ea320,
38200x80f00000,
38210x3a100004,
38220x54e815ba,
38230x54ea5d78,
38240x54ec9b78,
38250x7c11402e,
38260x54f4dd78,
38270x54eb9d78,
38280x7c0903a6,
38290x4e800420,
38300x0006000c,
38310x812a0000,
38320x00098200,
38330x28090000,
38340x41820000,
38350x0005080b,
38360x88090000,
38370x00098200,
38380x70000000,
38390x00090200,
38400x40820000,
38410x0005080b,
38420x48000000,
38430x0005002f,
38440x0006000f,
38450x100bba34,
38460x41800000,
38470x0005089b,
38480x48000000,
38490x0005002f,
38500x00000000,
38510x114e5300,
38520x5568007e,
38530x000900ab,
38540x100ac234,
38550x2108fffc,
38560x7d6f402e,
38570x40800000,
38580x0005082c,
38590x0006009b,
38600x800a0000,
38610x00098200,
38620x810b0000,
38630x00098200,
38640x812a0000,
38650x00098200,
38660x11775a2d,
38670x7d080038,
38680x55002800,
38690x000900a1,
38700x55081800,
38710x000900a1,
38720x7d080050,
38730x7d294214,
38740x0006000b,
38750x10090301,
38760x00090cab,
38770x11090301,
38780x00090cab,
38790x10005a34,
38800x40830000,
38810x00050804,
38820x1008d234,
38830x41800000,
38840x00050805,
38850x0006000d,
38860x110ea320,
38870x80f00000,
38880x3a100004,
38890x54e815ba,
38900x54ea5d78,
38910x54ec9b78,
38920x7c11402e,
38930x54f4dd78,
38940x54eb9d78,
38950x7c0903a6,
38960x4e800420,
38970x0006000e,
38980x81290000,
38990x00098200,
39000x28090000,
39010x40820000,
39020x0005080b,
39030x111ad217,
39040x0006000f,
39050x812a0000,
39060x00098200,
39070x28090000,
39080x41820000,
39090x0005080d,
39100x88090000,
39110x00098200,
39120x70000000,
39130x00090200,
39140x00000000,
39150x40820000,
39160x0005080d,
39170x48000000,
39180x0005002d,
39190x00000000,
39200x114e5300,
39210x556000fe,
39220x000900ab,
39230x100ac234,
39240x40800000,
39250x0005082e,
39260x810a0000,
39270x00098200,
39280x812a0000,
39290x00098200,
39300x7c004040,
39310x40800000,
39320x0005082e,
39330x11095b00,
39340x1008d234,
39350x41800000,
39360x00050805,
39370x0006000b,
39380x80f00000,
39390x3a100004,
39400x110ea320,
39410x54e815ba,
39420x54ea5d78,
39430x54ec9b78,
39440x7c11402e,
39450x54f4dd78,
39460x54eb9d78,
39470x7c0903a6,
39480x4e800420,
39490x0006000f,
39500x812a0000,
39510x00098200,
39520x28090000,
39530x41820000,
39540x0005080b,
39550x89290000,
39560x00098200,
39570x71290000,
39580x00090200,
39590x40820000,
39600x0005080b,
39610x48000000,
39620x0005002e,
39630x00000000,
39640x114e5300,
39650x116e5b00,
39660x100ac234,
39670x40800000,
39680x00050833,
39690x100bb232,
39700x40800000,
39710x00050805,
39720x11205af5,
39730x12aea300,
39740x800a0000,
39750x00098200,
39760x11004af1,
39770x7c004840,
39780x108b42ee,
39790x810a0000,
39800x00098200,
39810x4c212a02,
39820x55201800,
39830x000900a1,
39840x40810000,
39850x00050833,
39860x88ca0000,
39870x00098200,
39880x11280300,
39890x1009d234,
39900x41800000,
39910x00050803,
39920x0006000b,
39930x70c90000,
39940x00090200,
39950x12a80320,
39960x40820000,
39970x00050807,
39980x0006000c,
39990x80f00000,
40000x3a100004,
40010x54e815ba,
40020x54ea5d78,
40030x54ec9b78,
40040x7c11402e,
40050x54f4dd78,
40060x54eb9d78,
40070x7c0903a6,
40080x4e800420,
40090x0006000d,
40100x812a0000,
40110x00098200,
40120x28090000,
40130x41820000,
40140x0005080b,
40150x89290000,
40160x00098200,
40170x71290000,
40180x00090200,
40190x40820000,
40200x0005080b,
40210x48000000,
40220x00050033,
40230x0006000f,
40240x100bba34,
40250x41800000,
40260x0005089c,
40270x48000000,
40280x00050033,
40290x00060011,
40300x00000000,
40310x80110000,
40320x00098200,
40330x54c607b8,
40340x91510000,
40350x00098200,
40360x98ca0000,
40370x00098200,
40380x900a0000,
40390x00098200,
40400x48000000,
40410x0005000c,
40420x00000000,
40430x114e5300,
40440x5568007e,
40450x000900ab,
40460x100ac234,
40470x2108fffc,
40480x7d6f402e,
40490x40800000,
40500x00050830,
40510x0006009c,
40520x800a0000,
40530x00098200,
40540x810b0000,
40550x00098200,
40560x812a0000,
40570x00098200,
40580x11775a2d,
40590x9b6a0000,
40600x00098200,
40610x7d080038,
40620x12aea300,
40630x55002800,
40640x000900a1,
40650x55081800,
40660x000900a1,
40670x7d080050,
40680x88ca0000,
40690x00098200,
40700x7d294214,
40710x0006000b,
40720x10090301,
40730x00090cab,
40740x11090301,
40750x00090cab,
40760x10005a34,
40770x40830000,
40780x00050805,
40790x1008d234,
40800x41800000,
40810x00050804,
40820x0006000c,
40830x70c00000,
40840x00090200,
40850x12a90321,
40860x00090cab,
40870x40820000,
40880x00050807,
40890x0006000d,
40900x80f00000,
40910x3a100004,
40920x54e815ba,
40930x54ea5d78,
40940x54ec9b78,
40950x7c11402e,
40960x54f4dd78,
40970x54eb9d78,
40980x7c0903a6,
40990x4e800420,
41000x0006000e,
41010x810a0000,
41020x00098200,
41030x00000000,
41040x28080000,
41050x41820000,
41060x0005080c,
41070x88080000,
41080x00098200,
41090x70000000,
41100x00090200,
41110x40820000,
41120x0005080c,
41130x48000000,
41140x00050031,
41150x0006000f,
41160x81290000,
41170x00098200,
41180x28090000,
41190x40820000,
41200x0005080b,
41210x810a0000,
41220x00098200,
41230x38b10000,
41240x00098200,
41250x9201000c,
41260x7e439378,
41270x28080000,
41280x91d20000,
41290x00098200,
41300x41820000,
41310x00050806,
41320x88080000,
41330x00098200,
41340x70000000,
41350x00090200,
41360x41820000,
41370x00050831,
41380x00060010,
41390x7d445378,
41400x11650321,
41410x48000001,
41420x0003002d,
41430x81d20000,
41440x00098200,
41450x12a30321,
41460x48000000,
41470x0005000d,
41480x00060011,
41490x80110000,
41500x00098200,
41510x54c607b8,
41520x91510000,
41530x00098200,
41540x00000000,
41550x98ca0000,
41560x00098200,
41570x900a0000,
41580x00098200,
41590x48000000,
41600x0005000d,
41610x00000000,
41620x114e5300,
41630x556000fe,
41640x000900ab,
41650x100ac234,
41660x40800000,
41670x00050832,
41680x810a0000,
41690x00098200,
41700x812a0000,
41710x00098200,
41720x88ca0000,
41730x00098200,
41740x7c004040,
41750x12aea300,
41760x40800000,
41770x00050832,
41780x11095b00,
41790x1008d234,
41800x41800000,
41810x00050805,
41820x0006000b,
41830x70c00000,
41840x00090200,
41850x12a95b20,
41860x40820000,
41870x00050807,
41880x0006000c,
41890x80f00000,
41900x3a100004,
41910x54e815ba,
41920x54ea5d78,
41930x54ec9b78,
41940x7c11402e,
41950x54f4dd78,
41960x54eb9d78,
41970x7c0903a6,
41980x4e800420,
41990x0006000f,
42000x810a0000,
42010x00098200,
42020x28080000,
42030x41820000,
42040x0005080b,
42050x89080000,
42060x00098200,
42070x71080000,
42080x00090200,
42090x40820000,
42100x0005080b,
42110x48000000,
42120x00050032,
42130x00060011,
42140x80110000,
42150x00098200,
42160x54c607b8,
42170x91510000,
42180x00098200,
42190x98ca0000,
42200x00098200,
42210x00000000,
42220x900a0000,
42230x00098200,
42240x48000000,
42250x0005000c,
42260x00000000,
42270x7e8ea214,
42280x0006000b,
42290x7ccf6214,
42300x8094fffc,
42310x3413fff8,
42320x80c60004,
42330x540500fe,
42340x000900ab,
42350x41820000,
42360x00050804,
42370x7ca53214,
42380x81240000,
42390x00098200,
42400x54c81800,
42410x000900a1,
42420x88c40000,
42430x00098200,
42440x7c054840,
42450x7d340214,
42460x80040000,
42470x00098200,
42480x41810000,
42490x00050805,
42500x7d080214,
42510x70c00000,
42520x00090200,
42530x0006000d,
42540x10140301,
42550x3a940008,
42560x7c944800,
42570x10080321,
42580x39080008,
42590x41840000,
42600x0005080d,
42610x40820000,
42620x00050807,
42630x0006000e,
42640x80f00000,
42650x3a100004,
42660x54e815ba,
42670x54ea5d78,
42680x54ec9b78,
42690x7c11402e,
42700x54f4dd78,
42710x54eb9d78,
42720x7c0903a6,
42730x4e800420,
42740x0006000f,
42750x91d20000,
42760x00098200,
42770x7e439378,
42780x9201000c,
42790x7d956378,
42800x48000001,
42810x0003002e,
42820x7eacab78,
42830x48000000,
42840x0005000b,
42850x00060011,
42860x80110000,
42870x00098200,
42880x54c607b8,
42890x90910000,
42900x00098200,
42910x98c40000,
42920x00098200,
42930x90040000,
42940x00098200,
42950x00000000,
42960x48000000,
42970x0005000e,
42980x00000000,
42990x7d6b9a14,
43000x00000000,
43010x114ea300,
43020x7dc97378,
43030x7dcea214,
43040x396bfff8,
43050x100aca34,
43060x39ce0008,
43070x40800000,
43080x00050825,
43090x920efff8,
43100x820a0000,
43110x00098200,
43120x80f00000,
43130x3a100004,
43140x54e815ba,
43150x54f4dd78,
43160x7c11402e,
43170x7e947214,
43180x7c0903a6,
43190x4e800420,
43200x00000000,
43210x7d6b9a14,
43220x00000000,
43230x114ea300,
43240x7e8ea214,
43250x810efff8,
43260x396bfff8,
43270x100aca34,
43280x3a940008,
43290x40800000,
43300x00050840,
43310x00060041,
43320x71000000,
43330x00090200,
43340x88ca0000,
43350x00098200,
43360x69090000,
43370x00090200,
43380x288b0000,
43390x40820000,
43400x00050807,
43410x0006000b,
43420x914efffc,
43430x39200000,
43440x2b860001,
43450x41860000,
43460x00050803,
43470x0006000c,
43480x38c90008,
43490x10144b00,
43500x7c865840,
43510x100e4b20,
43520x7cc93378,
43530x40860000,
43540x0005080c,
43550x0006000d,
43560x4c42ea02,
43570x41820000,
43580x00050805,
43590x0006000e,
43600x820a0000,
43610x00098200,
43620x80f00000,
43630x3a100004,
43640x54e815ba,
43650x54f4dd78,
43660x7c11402e,
43670x7e947214,
43680x7c0903a6,
43690x4e800420,
43700x0006000f,
43710x80e8fffc,
43720x54f4dd78,
43730x7d147050,
43740x81080000,
43750x00098200,
43760x81080000,
43770x00098200,
43780x81e80000,
43790x00098200,
43800x48000000,
43810x0005000e,
43820x00060011,
43830x71200000,
43840x00090200,
43850x40820000,
43860x0005080b,
43870x00000000,
43880x7dc97050,
43890x810efff8,
43900x71000000,
43910x00090200,
43920x48000000,
43930x0005000b,
43940x00000000,
43950x3a94ffe8,
43960x7dc97378,
43970x114ea300,
43980x7dcea214,
43990x100e0b01,
44000x110e1301,
44010x114e1b21,
44020x100aca34,
44030x100e2321,
44040x39600010,
44050x110e2b21,
44060x39ce0020,
44070x40800000,
44080x00050825,
44090x920efff8,
44100x820a0000,
44110x00098200,
44120x80f00000,
44130x3a100004,
44140x54e815ba,
44150x54f4dd78,
44160x7c11402e,
44170x7e947214,
44180x7c0903a6,
44190x4e800420,
44200x00000000,
44210x7e8ea214,
44220x8154fff4,
44230x8174fffc,
44240x800a0000,
44250x00098200,
44260x810a0000,
44270x00098200,
44280x3a100004,
44290x0006000b,
44300x7c0b0040,
44310x55661800,
44320x000900a1,
44330x40800000,
44340x00050805,
44350x11283300,
44360x1009d234,
44370x80f0fffc,
44380x41800000,
44390x00050804,
44400x10005af1,
44410x396b0001,
44420x3cd00000,
44430x00098200,
44440x11340b21,
44450x54e893ba,
44460x9174fffc,
44470x7e083214,
44480x10140321,
44490x0006000d,
44500x80f00000,
44510x3a100004,
44520x54e815ba,
44530x54ea5d78,
44540x54ec9b78,
44550x7c11402e,
44560x54f4dd78,
44570x54eb9d78,
44580x7c0903a6,
44590x4e800420,
44600x0006000e,
44610x396b0001,
44620x48000000,
44630x0005000b,
44640x0006000f,
44650x810a0000,
44660x00098200,
44670x7d605850,
44680x812a0000,
44690x00098200,
44700x00060010,
44710x7c0b4040,
44720x55662800,
44730x000900a1,
44740x41810000,
44750x0005080d,
44760x556a1800,
44770x000900a1,
44780x7cca3050,
44790x11493300,
44800x7cc93214,
44810x100ad234,
44820x80f0fffc,
44830x41800000,
44840x00050807,
44850x10c60301,
44860x00090cab,
44870x3d300000,
44880x00098200,
44890x11540b21,
44900x7d6b0214,
44910x54e893ba,
44920x10d40321,
44930x396b0001,
44940x7e084a14,
44950x9174fffc,
44960x48000000,
44970x0005000d,
44980x00060011,
44990x00000000,
45000x396b0001,
45010x48000000,
45020x00050010,
45030x00000000,
45040x7e8ea214,
45050x3920ffe8,
45060x11144b00,
45070x8134fff0,
45080x80d4fff8,
45090x1008422c,
45100x2c090000,
45110x00098200,
45120x2c800000,
45130x00098200,
45140x2f060000,
45150x00098200,
45160x40860000,
45170x00050805,
45180x89080000,
45190x00098200,
45200x4c42d202,
45210x2f880000,
45220x00098200,
45230x5580007e,
45240x000900ab,
45250x4c42f202,
45260x7cd00214,
45270x40820000,
45280x00050805,
45290x9374fffc,
45300x3e060000,
45310x00098200,
45320x0006000b,
45330x80f00000,
45340x3a100004,
45350x54e815ba,
45360x54ea5d78,
45370x54ec9b78,
45380x7c11402e,
45390x54f4dd78,
45400x54eb9d78,
45410x7c0903a6,
45420x4e800420,
45430x0006000f,
45440x38000000,
45450x00098200,
45460x39000000,
45470x00098200,
45480x9810ffff,
45490x3e060000,
45500x00098200,
45510x99100003,
45520x48000000,
45530x0005000b,
45540x00000000,
45550x800efff8,
45560x7d6e5a14,
45570x7e8ea214,
45580x396b0000,
45590x00098200,
45600x7d345214,
45610x38cefff8,
45620x7d605850,
45630x288a0000,
45640x7d0b3051,
45650x41860000,
45660x00050805,
45670x3929fff0,
45680x40810000,
45690x00050802,
45700x0006000b,
45710x100b0301,
45720x396b0008,
45730x10140321,
45740x7c144840,
45750x7c8b3040,
45760x40800000,
45770x00050803,
45780x3a940008,
45790x41840000,
45800x0005080b,
45810x0006000c,
45820x13540321,
45830x7c144840,
45840x3a940008,
45850x41800000,
45860x0005080c,
45870x0006000d,
45880x80f00000,
45890x3a100004,
45900x54e815ba,
45910x54ea5d78,
45920x54ec9b78,
45930x7c11402e,
45940x54f4dd78,
45950x54eb9d78,
45960x7c0903a6,
45970x4e800420,
45980x0006000f,
45990x80120000,
46000x00098200,
46010x3a600008,
46020x40810000,
46030x0005080d,
46040x7d344214,
46050x7c090040,
46060x3a680008,
46070x41810000,
46080x00050807,
46090x00060010,
46100x100b0301,
46110x396b0008,
46120x10140321,
46130x7c0b3040,
46140x3a940008,
46150x41800000,
46160x00050810,
46170x48000000,
46180x0005000d,
46190x00060011,
46200x7e439378,
46210x92920000,
46220x00098200,
46230x7eae5850,
46240x91d20000,
46250x00098200,
46260x7e8ea050,
46270x9201000c,
46280x550400fe,
46290x000900ab,
46300x48000001,
46310x00030000,
46320x81d20000,
46330x00098200,
46340x00000000,
46350x7e8ea214,
46360x7d6eaa14,
46370x38cefff8,
46380x48000000,
46390x00050010,
46400x00000000,
46410x7d8c9a14,
46420x00000000,
46430x820efff8,
46440x7e8ea214,
46450x7d936378,
46460x0006000b,
46470x72000000,
46480x00090200,
46490x6a080000,
46500x00090200,
46510x40820000,
46520x0005089d,
46530x00060017,
46540x80f0fffc,
46550x2c0c0008,
46560x392efff8,
46570x396cfff8,
46580x54ea5d78,
46590x41820000,
46600x00050803,
46610x39000000,
46620x0006000c,
46630x38c80008,
46640x10144300,
46650x7c065800,
46660x10094320,
46670x41820000,
46680x00050803,
46690x39060008,
46700x10143300,
46710x7c085800,
46720x10093320,
46730x40820000,
46740x0005080c,
46750x0006000d,
46760x0006000f,
46770x7c0a6040,
46780x54f4dd78,
46790x41810000,
46800x00050806,
46810x7dd44850,
46820x810efffc,
46830x80f00000,
46840x3a100004,
46850x81080000,
46860x00098200,
46870x81e80000,
46880x00098200,
46890x54e815ba,
46900x54ea5d78,
46910x54ec9b78,
46920x7c11402e,
46930x54f4dd78,
46940x54eb9d78,
46950x7c0903a6,
46960x4e800420,
46970x00060010,
46980x390cfff8,
46990x398c0008,
47000x13494320,
47010x48000000,
47020x0005000f,
47030x0006009d,
47040x71090000,
47050x00090200,
47060x40820000,
47070x00050818,
47080x7dc87050,
47090x820efff8,
47100x48000000,
47110x0005000b,
47120x00000000,
47130x820efff8,
47140x7e8ea214,
47150x7d936378,
47160x72000000,
47170x00090200,
47180x6a080000,
47190x00090200,
47200x40820000,
47210x0005089d,
47220x80f0fffc,
47230x392efff8,
47240x54ea5d78,
47250x00000000,
47260x10140301,
47270x10090321,
47280x00000000,
47290x0006000f,
47300x7c0a6040,
47310x54f4dd78,
47320x41810000,
47330x00050806,
47340x7dd44850,
47350x810efffc,
47360x80f00000,
47370x3a100004,
47380x81080000,
47390x00098200,
47400x81e80000,
47410x00098200,
47420x54e815ba,
47430x54ea5d78,
47440x54ec9b78,
47450x7c11402e,
47460x54f4dd78,
47470x54eb9d78,
47480x7c0903a6,
47490x4e800420,
47500x00060010,
47510x390cfff8,
47520x398c0008,
47530x13494320,
47540x48000000,
47550x0005000f,
47560x00000000,
47570x7c810808,
47580x00000000,
47590x7e8ea214,
47600x11140301,
47610x00090cab,
47620x10d40301,
47630x00090cab,
47640x11340301,
47650x00090cab,
47660x00000000,
47670x1008b230,
47680x1386b230,
47690x1089b230,
47700x4c00e382,
47710x4c002382,
47720x41800000,
47730x00050842,
47740x00000000,
47750x110832e0,
47760x11140321,
47770x00090cab,
47780x00000000,
47790x1006d231,
47800x11140321,
47810x00090cab,
47820x40800000,
47830x00050802,
47840x10084aec,
47850x0006000b,
47860x00000000,
47870x558c007e,
47880x000900ab,
47890x7d906214,
47900x00000000,
47910x3e0c0000,
47920x00098200,
47930x00000000,
47940x3d8c0000,
47950x00098200,
47960x00000000,
47970x7e0c805e,
47980x00000000,
47990x7e10605e,
48000x00000000,
48010x40810000,
48020x00070800,
48030x00000000,
48040x80f00000,
48050x3a100004,
48060x54e815ba,
48070x54ea5d78,
48080x54ec9b78,
48090x7c11402e,
48100x54f4dd78,
48110x54eb9d78,
48120x7c0903a6,
48130x4e800420,
48140x0006000c,
48150x100942ec,
48160x48000000,
48170x0005000b,
48180x00000000,
48190x7c810808,
48200x00000000,
48210x110ea300,
48220x3a94fff8,
48230x1008d234,
48240x41800000,
48250x00050801,
48260x00000000,
48270x7c810808,
48280x00000000,
48290x5580007e,
48300x000900ab,
48310x7e100214,
48320x3e100000,
48330x00098200,
48340x110ea320,
48350x00000000,
48360x0006000b,
48370x80f00000,
48380x3a100004,
48390x54e815ba,
48400x54ea5d78,
48410x54ec9b78,
48420x7c11402e,
48430x54f4dd78,
48440x54eb9d78,
48450x7c0903a6,
48460x4e800420,
48470x00000000,
48480x7c810808,
48490x00000000,
48500x80f00000,
48510x3a100004,
48520x54e815ba,
48530x54ea5d78,
48540x54ec9b78,
48550x7c11402e,
48560x54f4dd78,
48570x54eb9d78,
48580x7c0903a6,
48590x4e800420,
48600x00000000,
48610x7c810808,
48620x00000000,
48630x5580007e,
48640x000900ab,
48650x7e100214,
48660x3e100000,
48670x00098200,
48680x80f00000,
48690x3a100004,
48700x54e815ba,
48710x54ea5d78,
48720x54ec9b78,
48730x7c11402e,
48740x54f4dd78,
48750x54eb9d78,
48760x7c0903a6,
48770x4e800420,
48780x00000000,
48790x7c810808,
48800x00000000,
48810x81320000,
48820x00098200,
48830x89100000,
48840x00098200,
48850x81f00000,
48860x00098200,
48870x7c144840,
48880x55081800,
48890x000900a1,
48900x41810000,
48910x00050820,
48920x80f00000,
48930x3a100004,
48940x0006000c,
48950x7c0b4040,
48960x40810000,
48970x00050803,
48980x00000000,
48990x7c810808,
49000x00000000,
49010x54e815ba,
49020x54ea5d78,
49030x54ec9b78,
49040x7c11402e,
49050x54f4dd78,
49060x54eb9d78,
49070x7c0903a6,
49080x4e800420,
49090x00000000,
49100x0006000d,
49110x134e5b20,
49120x396b0008,
49130x48000000,
49140x0005000c,
49150x00000000,
49160x7c810808,
49170x00000000,
49180x81320000,
49190x00098200,
49200x7d0e5a14,
49210x7c145a14,
49220x91480004,
49230x38cb0000,
49240x00098200,
49250x81f00000,
49260x00098200,
49270x7c004840,
49280x90c80000,
49290x40800000,
49300x00050820,
49310x89300000,
49320x00098200,
49330x7dd47378,
49340x7d0b4378,
49350x80f00000,
49360x3a100004,
49370x2c090000,
49380x39c80008,
49390x41820000,
49400x00050803,
49410x0006000b,
49420x7c145840,
49430x10140301,
49440x40800000,
49450x00050804,
49460x13540321,
49470x3a940008,
49480x0006000c,
49490x3529ffff,
49500x10080b21,
49510x39080008,
49520x40820000,
49530x0005080b,
49540x0006000d,
49550x54e815ba,
49560x54ea5d78,
49570x54ec9b78,
49580x7c11402e,
49590x54f4dd78,
49600x54eb9d78,
49610x7c0903a6,
49620x4e800420,
49630x0006000e,
49640x101ad217,
49650x48000000,
49660x0005000c,
49670x00000000,
49680x80ca0000,
49690x00098200,
49700x00000000,
49710x80d10000,
49720x00098200,
49730x00000000,
49740x7d145a14,
49750x81320000,
49760x00098200,
49770x7d6e5a14,
49780x91d20000,
49790x00098200,
49800x7c084840,
49810x91720000,
49820x00098200,
49830x38000000,
49840x00098200,
49850x7cc903a6,
49860x00000000,
49870x808a0000,
49880x00098200,
49890x00000000,
49900x7e439378,
49910x41810000,
49920x0005081f,
49930x90110000,
49940x00098200,
49950x4e800421,
49960x81120000,
49970x00098200,
49980x546c1800,
49990x000900a1,
50000x81d20000,
50010x00098200,
50020x38000000,
50030x00098200,
50040x820efff8,
50050x7e8c4050,
50060x90110000,
50070x00098200,
50080x48000000,
50090x00050016,
50100x00000000,
50110x00010000
5012};
5013
5014enum {
5015 GLOB_vm_returnp,
5016 GLOB_cont_dispatch,
5017 GLOB_vm_returnc,
5018 GLOB_BC_RET_Z,
5019 GLOB_vm_return,
5020 GLOB_vm_leave_cp,
5021 GLOB_vm_leave_unw,
5022 GLOB_vm_unwind_c,
5023 GLOB_vm_unwind_c_eh,
5024 GLOB_vm_unwind_ff,
5025 GLOB_vm_unwind_ff_eh,
5026 GLOB_vm_growstack_c,
5027 GLOB_vm_growstack_l,
5028 GLOB_vm_resume,
5029 GLOB_vm_pcall,
5030 GLOB_vm_call,
5031 GLOB_vm_call_dispatch,
5032 GLOB_vmeta_call,
5033 GLOB_vm_call_dispatch_f,
5034 GLOB_vm_cpcall,
5035 GLOB_vm_call_tail,
5036 GLOB_cont_cat,
5037 GLOB_BC_CAT_Z,
5038 GLOB_cont_nop,
5039 GLOB_vmeta_tgets1,
5040 GLOB_vmeta_tgets,
5041 GLOB_vmeta_tgetb,
5042 GLOB_vmeta_tgetv,
5043 GLOB_vmeta_tsets1,
5044 GLOB_vmeta_tsets,
5045 GLOB_vmeta_tsetb,
5046 GLOB_vmeta_tsetv,
5047 GLOB_vmeta_comp,
5048 GLOB_vmeta_binop,
5049 GLOB_cont_ra,
5050 GLOB_cont_condt,
5051 GLOB_cont_condf,
5052 GLOB_vmeta_equal,
5053 GLOB_vmeta_arith_vn,
5054 GLOB_vmeta_arith_nv,
5055 GLOB_vmeta_unm,
5056 GLOB_vmeta_arith_vv,
5057 GLOB_vmeta_len,
5058 GLOB_BC_LEN_Z,
5059 GLOB_vmeta_callt,
5060 GLOB_BC_CALLT_Z,
5061 GLOB_vmeta_for,
5062 GLOB_ff_assert,
5063 GLOB_fff_fallback,
5064 GLOB_fff_res,
5065 GLOB_ff_type,
5066 GLOB_fff_restv,
5067 GLOB_ff_getmetatable,
5068 GLOB_ff_setmetatable,
5069 GLOB_ff_rawget,
5070 GLOB_ff_tonumber,
5071 GLOB_ff_tostring,
5072 GLOB_fff_gcstep,
5073 GLOB_ff_next,
5074 GLOB_ff_pairs,
5075 GLOB_ff_ipairs_aux,
5076 GLOB_ff_ipairs,
5077 GLOB_ff_pcall,
5078 GLOB_ff_xpcall,
5079 GLOB_ff_coroutine_resume,
5080 GLOB_ff_coroutine_wrap_aux,
5081 GLOB_ff_coroutine_yield,
5082 GLOB_ff_math_abs,
5083 GLOB_fff_res1,
5084 GLOB_ff_math_floor,
5085 GLOB_vm_floor_hilo,
5086 GLOB_ff_math_ceil,
5087 GLOB_vm_ceil_hilo,
5088 GLOB_ff_math_sqrt,
5089 GLOB_ff_math_log,
5090 GLOB_ff_math_log10,
5091 GLOB_ff_math_exp,
5092 GLOB_ff_math_sin,
5093 GLOB_ff_math_cos,
5094 GLOB_ff_math_tan,
5095 GLOB_ff_math_asin,
5096 GLOB_ff_math_acos,
5097 GLOB_ff_math_atan,
5098 GLOB_ff_math_sinh,
5099 GLOB_ff_math_cosh,
5100 GLOB_ff_math_tanh,
5101 GLOB_ff_math_pow,
5102 GLOB_ff_math_atan2,
5103 GLOB_ff_math_fmod,
5104 GLOB_ff_math_deg,
5105 GLOB_ff_math_rad,
5106 GLOB_ff_math_ldexp,
5107 GLOB_ff_math_frexp,
5108 GLOB_ff_math_modf,
5109 GLOB_ff_math_min,
5110 GLOB_ff_math_max,
5111 GLOB_ff_string_len,
5112 GLOB_ff_string_byte,
5113 GLOB_ff_string_char,
5114 GLOB_fff_newstr,
5115 GLOB_ff_string_sub,
5116 GLOB_ff_string_rep,
5117 GLOB_ff_string_reverse,
5118 GLOB_ff_string_lower,
5119 GLOB_ff_string_upper,
5120 GLOB_ff_table_getn,
5121 GLOB_ff_bit_tobit,
5122 GLOB_fff_resbit,
5123 GLOB_ff_bit_band,
5124 GLOB_ff_bit_bor,
5125 GLOB_ff_bit_bxor,
5126 GLOB_ff_bit_bswap,
5127 GLOB_ff_bit_bnot,
5128 GLOB_ff_bit_lshift,
5129 GLOB_ff_bit_rshift,
5130 GLOB_ff_bit_arshift,
5131 GLOB_ff_bit_rol,
5132 GLOB_ff_bit_ror,
5133 GLOB_vm_record,
5134 GLOB_vm_rethook,
5135 GLOB_vm_inshook,
5136 GLOB_cont_hook,
5137 GLOB_vm_hotloop,
5138 GLOB_vm_callhook,
5139 GLOB_vm_hotcall,
5140 GLOB_vm_exit_handler,
5141 GLOB_vm_exit_interp,
5142 GLOB_vm_floor,
5143 GLOB_vm_floor_efd,
5144 GLOB_vm_ceil_efd,
5145 GLOB_vm_trunc_efd,
5146 GLOB_vm_trunc_hilo,
5147 GLOB_vm_foldarith,
5148 GLOB_vm_ffi_call,
5149 GLOB_BC_MODVN_Z,
5150 GLOB_BC_TGETS_Z,
5151 GLOB_BC_TSETS_Z,
5152 GLOB_BC_RETV_Z,
5153 GLOB__MAX
5154};
5155static const char *const globnames[] = {
5156 "vm_returnp",
5157 "cont_dispatch",
5158 "vm_returnc",
5159 "BC_RET_Z",
5160 "vm_return",
5161 "vm_leave_cp",
5162 "vm_leave_unw",
5163 "vm_unwind_c",
5164 "vm_unwind_c_eh",
5165 "vm_unwind_ff",
5166 "vm_unwind_ff_eh",
5167 "vm_growstack_c",
5168 "vm_growstack_l",
5169 "vm_resume",
5170 "vm_pcall",
5171 "vm_call",
5172 "vm_call_dispatch",
5173 "vmeta_call",
5174 "vm_call_dispatch_f",
5175 "vm_cpcall",
5176 "vm_call_tail",
5177 "cont_cat",
5178 "BC_CAT_Z",
5179 "cont_nop",
5180 "vmeta_tgets1",
5181 "vmeta_tgets",
5182 "vmeta_tgetb",
5183 "vmeta_tgetv",
5184 "vmeta_tsets1",
5185 "vmeta_tsets",
5186 "vmeta_tsetb",
5187 "vmeta_tsetv",
5188 "vmeta_comp",
5189 "vmeta_binop",
5190 "cont_ra",
5191 "cont_condt",
5192 "cont_condf",
5193 "vmeta_equal",
5194 "vmeta_arith_vn",
5195 "vmeta_arith_nv",
5196 "vmeta_unm",
5197 "vmeta_arith_vv",
5198 "vmeta_len",
5199 "BC_LEN_Z",
5200 "vmeta_callt",
5201 "BC_CALLT_Z",
5202 "vmeta_for",
5203 "ff_assert",
5204 "fff_fallback",
5205 "fff_res",
5206 "ff_type",
5207 "fff_restv",
5208 "ff_getmetatable",
5209 "ff_setmetatable",
5210 "ff_rawget",
5211 "ff_tonumber",
5212 "ff_tostring",
5213 "fff_gcstep",
5214 "ff_next",
5215 "ff_pairs",
5216 "ff_ipairs_aux",
5217 "ff_ipairs",
5218 "ff_pcall",
5219 "ff_xpcall",
5220 "ff_coroutine_resume",
5221 "ff_coroutine_wrap_aux",
5222 "ff_coroutine_yield",
5223 "ff_math_abs",
5224 "fff_res1",
5225 "ff_math_floor",
5226 "vm_floor_hilo",
5227 "ff_math_ceil",
5228 "vm_ceil_hilo",
5229 "ff_math_sqrt",
5230 "ff_math_log",
5231 "ff_math_log10",
5232 "ff_math_exp",
5233 "ff_math_sin",
5234 "ff_math_cos",
5235 "ff_math_tan",
5236 "ff_math_asin",
5237 "ff_math_acos",
5238 "ff_math_atan",
5239 "ff_math_sinh",
5240 "ff_math_cosh",
5241 "ff_math_tanh",
5242 "ff_math_pow",
5243 "ff_math_atan2",
5244 "ff_math_fmod",
5245 "ff_math_deg",
5246 "ff_math_rad",
5247 "ff_math_ldexp",
5248 "ff_math_frexp",
5249 "ff_math_modf",
5250 "ff_math_min",
5251 "ff_math_max",
5252 "ff_string_len",
5253 "ff_string_byte",
5254 "ff_string_char",
5255 "fff_newstr",
5256 "ff_string_sub",
5257 "ff_string_rep",
5258 "ff_string_reverse",
5259 "ff_string_lower",
5260 "ff_string_upper",
5261 "ff_table_getn",
5262 "ff_bit_tobit",
5263 "fff_resbit",
5264 "ff_bit_band",
5265 "ff_bit_bor",
5266 "ff_bit_bxor",
5267 "ff_bit_bswap",
5268 "ff_bit_bnot",
5269 "ff_bit_lshift",
5270 "ff_bit_rshift",
5271 "ff_bit_arshift",
5272 "ff_bit_rol",
5273 "ff_bit_ror",
5274 "vm_record",
5275 "vm_rethook",
5276 "vm_inshook",
5277 "cont_hook",
5278 "vm_hotloop",
5279 "vm_callhook",
5280 "vm_hotcall",
5281 "vm_exit_handler",
5282 "vm_exit_interp",
5283 "vm_floor",
5284 "vm_floor_efd",
5285 "vm_ceil_efd",
5286 "vm_trunc_efd",
5287 "vm_trunc_hilo",
5288 "vm_foldarith",
5289 "vm_ffi_call",
5290 "BC_MODVN_Z",
5291 "BC_TGETS_Z",
5292 "BC_TSETS_Z",
5293 "BC_RETV_Z",
5294 (const char *)0
5295};
5296static const char *const extnames[] = {
5297 "lj_state_growstack",
5298 "lj_meta_tget",
5299 "lj_meta_tset",
5300 "lj_meta_comp",
5301 "lj_meta_equal",
5302 "lj_meta_arith",
5303 "lj_meta_len",
5304 "lj_meta_call",
5305 "lj_meta_for",
5306 "lj_tab_get",
5307 "lj_str_fromnum",
5308 "lj_tab_next",
5309 "lj_tab_getinth",
5310 "lj_ffh_coroutine_wrap_err",
5311 "sqrt",
5312 "log",
5313 "log10",
5314 "exp",
5315 "sin",
5316 "cos",
5317 "tan",
5318 "asin",
5319 "acos",
5320 "atan",
5321 "sinh",
5322 "cosh",
5323 "tanh",
5324 "pow",
5325 "atan2",
5326 "fmod",
5327 "ldexp",
5328 "frexp",
5329 "modf",
5330 "lj_str_new",
5331 "lj_tab_len",
5332 "lj_gc_step",
5333 "lj_dispatch_ins",
5334 "lj_dispatch_call",
5335 "lj_meta_cat",
5336 "lj_gc_barrieruv",
5337 "lj_func_closeuv",
5338 "lj_func_newL_gc",
5339 "lj_tab_new",
5340 "lj_tab_dup",
5341 "lj_gc_step_fixtop",
5342 "lj_tab_newkey",
5343 "lj_tab_reasize",
5344 (const char *)0
5345};
5346#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
5347#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
5348#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
5349#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
5350#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
5351#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
5352#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
5353#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
5354#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
5355#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
5356#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
5357#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
5358#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
5359#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
5360#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
5361#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
5362
5363/* Generate subroutines used by opcodes and other parts of the VM. */
5364/* The .code_sub section should be last to help static branch prediction. */
5365static void build_subroutines(BuildCtx *ctx)
5366{
5367 dasm_put(Dst, 0);
5368 dasm_put(Dst, 1, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, ~LJ_VMST_C, Dt1(->base), DISPATCH_GL(vmstate), 31-3, Dt1(->top));
5369 dasm_put(Dst, 55, Dt1(->cframe), Dt1(->maxstack), Dt1(->top), 31-3, Dt1(->top), ~LJ_VMST_C, Dt1(->glref), Dt2(->vmstate));
5370 dasm_put(Dst, 135, LJ_TISNUM+1, LJ_TFUNC, LJ_TTAB, Dt1(->base), Dt1(->glref), LJ_TSTR, LJ_TFALSE, LJ_TNIL, ~LJ_VMST_INTERP, GG_G2DISP, DISPATCH_GL(vmstate), LUA_MINSTACK, Dt1(->base), Dt1(->top), 32-3);
5371 dasm_put(Dst, 190, Dt1(->base), Dt1(->top), Dt7(->pc), Dt1(->glref), Dt1(->status), FRAME_CP, CFRAME_RESUME, GG_G2DISP, Dt1(->cframe), Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, Dt1(->status), FRAME_TYPE, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate));
5372 dasm_put(Dst, 283, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, Dt1(->base), LJ_TISNUM+1, Dt1(->top), LJ_TFUNC, LJ_TTAB, LJ_TSTR, ~LJ_VMST_INTERP, LJ_TNIL, DISPATCH_GL(vmstate));
5373 dasm_put(Dst, 384, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), Dt1(->glref), FRAME_CP, GG_G2DISP, Dt7(->pc), PC2PROTO(k), Dt1(->base));
5374 dasm_put(Dst, 491, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), DISPATCH_GL(tmptv));
5375 dasm_put(Dst, 566, DISPATCH_GL(tmptv), DISPATCH_GL(tmptv2), DISPATCH_GL(tmptv), Dt1(->base), FRAME_CONT, Dt1(->top), Dt1(->base));
5376 dasm_put(Dst, 647, -(BCBIAS_J*4 >> 16), LJ_TTRUE, LJ_TFALSE, Dt1(->base));
5377 dasm_put(Dst, 716, Dt1(->base), FRAME_CONT);
5378#ifdef LUAJIT_ENABLE_LUA52COMPAT
5379 dasm_put(Dst, 739);
5380#endif
5381 dasm_put(Dst, 741, Dt1(->base));
5382#ifdef LUAJIT_ENABLE_LUA52COMPAT
5383 dasm_put(Dst, 749);
5384#else
5385 dasm_put(Dst, 756);
5386#endif
5387 dasm_put(Dst, 759, Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base));
5388#if LJ_HASJIT
5389 dasm_put(Dst, 807);
5390#endif
5391 dasm_put(Dst, 809);
5392#if LJ_HASJIT
5393 dasm_put(Dst, 811, BC_JFORI);
5394#endif
5395 dasm_put(Dst, 814);
5396#if LJ_HASJIT
5397 dasm_put(Dst, 816, BC_JFORI);
5398#endif
5399 dasm_put(Dst, 819, BC_FORI, ~LJ_TNUMX, 31-3, Dt8(->upvalue), Dt6(->metatable), DISPATCH_GL(gcroot[GCROOT_MMNAME+MM_metatable]));
5400 dasm_put(Dst, 884, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), LJ_TUDATA, 31-2, 4*~LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]));
5401 dasm_put(Dst, 940, Dt6(->metatable), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5402 dasm_put(Dst, 1000, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->top), (2+1)*8);
5403#ifdef LUAJIT_ENABLE_LUA52COMPAT
5404 dasm_put(Dst, 1073, Dt6(->metatable), Dt8(->upvalue[0]));
5405#else
5406 dasm_put(Dst, 1082, Dt8(->upvalue[0]));
5407#endif
5408 dasm_put(Dst, 1086, (3+1)*8, Dt6(->asize), Dt6(->array), 31-3, (0+1)*8, (2+1)*8, Dt6(->hmask), (0+1)*8, (0+1)*8);
5409 dasm_put(Dst, 1150);
5410#ifdef LUAJIT_ENABLE_LUA52COMPAT
5411 dasm_put(Dst, 1163, Dt6(->metatable), Dt8(->upvalue[0]));
5412#else
5413 dasm_put(Dst, 1172, Dt8(->upvalue[0]));
5414#endif
5415 dasm_put(Dst, 1176, (3+1)*8, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 8+FRAME_PCALL, DISPATCH_GL(hookmask), 32-HOOK_ACTIVE_SHIFT, 16+FRAME_PCALL, LJ_TTHREAD, Dt1(->status), Dt1(->cframe), Dt1(->top));
5416 dasm_put(Dst, 1237, LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack));
5417 dasm_put(Dst, 1300, Dt1(->top), FRAME_TYPE, LJ_TTRUE, FRAME_TYPE, LJ_TFALSE, Dt1(->top), (2+1)*8, 32-3);
5418 dasm_put(Dst, 1360, Dt8(->upvalue[0].gcr), Dt1(->status), Dt1(->cframe), Dt1(->top), LUA_YIELD, Dt1(->base), Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->base), LUA_YIELD, Dt1(->top), ~LJ_VMST_INTERP);
5419 dasm_put(Dst, 1419, Dt1(->base), DISPATCH_GL(vmstate), Dt1(->maxstack), Dt1(->top), FRAME_TYPE, 32-3, Dt1(->cframe));
5420 dasm_put(Dst, 1476, Dt1(->base), CFRAME_RESUME, Dt1(->top), LUA_YIELD, Dt1(->cframe), Dt1(->status), (1+1)*8, FRAME_TYPE);
5421 dasm_put(Dst, 1541);
5422 dasm_put(Dst, 1610);
5423 dasm_put(Dst, 1673);
5424 dasm_put(Dst, 1738);
5425 dasm_put(Dst, 1808, Dt8(->upvalue[0]), DISPATCH_GL(tmptv), DISPATCH_GL(tmptv), (2+1)*8, (2+1)*8);
5426 dasm_put(Dst, 1880, Dt5(->len));
5427 dasm_put(Dst, 1947, Dt5(->len), (0+1)*8, Dt5([1]), (1+1)*8, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmptv), Dt1(->base), Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5428 dasm_put(Dst, 2007, Dt5(->len), sizeof(GCstr)-1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5429 dasm_put(Dst, 2073, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(strempty), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
5430 dasm_put(Dst, 2132, DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
5431 dasm_put(Dst, 2191, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), DISPATCH_GL(tmpbuf.sz), Dt5(->len), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
5432 dasm_put(Dst, 2258);
5433 dasm_put(Dst, 2329);
5434 dasm_put(Dst, 2417, Dt8(->f), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->base), Dt1(->top), Dt1(->base), 31-3, Dt1(->top), Dt7(->pc));
5435 dasm_put(Dst, 2496, FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
5436#if LJ_HASJIT
5437 dasm_put(Dst, 2539);
5438#endif
5439 dasm_put(Dst, 2541, DISPATCH_GL(hookmask), HOOK_ACTIVE, GG_DISP2STATIC, DISPATCH_GL(hookmask), DISPATCH_GL(hookcount), HOOK_ACTIVE, 31-LUA_HOOKLINE, DISPATCH_GL(hookcount), Dt1(->base), Dt1(->base));
5440 dasm_put(Dst, 2588, GG_DISP2STATIC);
5441#if LJ_HASJIT
5442 dasm_put(Dst, 2606);
5443#endif
5444 dasm_put(Dst, 2608);
5445#if LJ_HASJIT
5446 dasm_put(Dst, 2611);
5447#endif
5448 dasm_put(Dst, 2614);
5449#if LJ_HASJIT
5450 dasm_put(Dst, 2616);
5451#endif
5452 dasm_put(Dst, 2619, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
5453#if LJ_HASJIT
5454 dasm_put(Dst, 2641);
5455#endif
5456 dasm_put(Dst, 2643);
5457#if LJ_HASJIT
5458 dasm_put(Dst, 2645);
5459#endif
5460 dasm_put(Dst, 2647);
5461#if LJ_HASJIT
5462 dasm_put(Dst, 2731);
5463#else
5464 dasm_put(Dst, 2754);
5465#endif
5466 dasm_put(Dst, 2757);
5467#if LJ_HASFFI
5468 dasm_put(Dst, 2820);
5469#endif
5470}
5471
5472/* Generate the code for a single instruction. */
5473static void build_ins(BuildCtx *ctx, BCOp op, int defop)
5474{
5475 int vk = 0;
5476 dasm_put(Dst, 2822, defop);
5477
5478 switch (op) {
5479
5480 /* -- Comparison ops ---------------------------------------------------- */
5481
5482 /* Remember: all ops branch for a true comparison, fall through otherwise. */
5483
5484 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
5485 dasm_put(Dst, 2824, -(BCBIAS_J*4 >> 16));
5486 if (op == BC_ISLE || op == BC_ISGT) {
5487 dasm_put(Dst, 2838);
5488 }
5489 if (op == BC_ISLT || op == BC_ISLE) {
5490 dasm_put(Dst, 2841);
5491 } else {
5492 dasm_put(Dst, 2843);
5493 }
5494 dasm_put(Dst, 2845);
5495 break;
5496
5497 case BC_ISEQV: case BC_ISNEV:
5498 vk = op == BC_ISEQV;
5499 dasm_put(Dst, 2856, -(BCBIAS_J*4 >> 16));
5500 if (vk) {
5501 dasm_put(Dst, 2870);
5502 } else {
5503 dasm_put(Dst, 2872);
5504 }
5505 dasm_put(Dst, 2874, ~LJ_TISPRI, ~LJ_TISTABUD);
5506 if (vk) {
5507 dasm_put(Dst, 2896);
5508 } else {
5509 dasm_put(Dst, 2898);
5510 }
5511 dasm_put(Dst, 2900);
5512 if (vk) {
5513 dasm_put(Dst, 2902);
5514 } else {
5515 dasm_put(Dst, 2904);
5516 }
5517 dasm_put(Dst, 2906, Dt6(->metatable), 1-vk, Dt6(->nomm), 1<<MM_eq);
5518 break;
5519
5520 case BC_ISEQS: case BC_ISNES:
5521 vk = op == BC_ISEQS;
5522 dasm_put(Dst, 2927, 32-1, -(BCBIAS_J*4 >> 16));
5523 if (vk) {
5524 dasm_put(Dst, 2941);
5525 } else {
5526 dasm_put(Dst, 2943);
5527 }
5528 dasm_put(Dst, 2945);
5529 break;
5530
5531 case BC_ISEQN: case BC_ISNEN:
5532 vk = op == BC_ISEQN;
5533 dasm_put(Dst, 2956, -(BCBIAS_J*4 >> 16));
5534 if (vk) {
5535 dasm_put(Dst, 2970);
5536 } else {
5537 dasm_put(Dst, 2973);
5538 }
5539 dasm_put(Dst, 2975);
5540 if (!vk) {
5541 dasm_put(Dst, 2987);
5542 }
5543 break;
5544
5545 case BC_ISEQP: case BC_ISNEP:
5546 vk = op == BC_ISEQP;
5547 dasm_put(Dst, 2993, 32-3, -(BCBIAS_J*4 >> 16));
5548 if (vk) {
5549 dasm_put(Dst, 3005);
5550 } else {
5551 dasm_put(Dst, 3007);
5552 }
5553 dasm_put(Dst, 3009);
5554 break;
5555
5556 /* -- Unary test and copy ops ------------------------------------------- */
5557
5558 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
5559 dasm_put(Dst, 3020);
5560 if (op == BC_IST || op == BC_ISF) {
5561 dasm_put(Dst, 3026, -(BCBIAS_J*4 >> 16));
5562 if (op == BC_IST) {
5563 dasm_put(Dst, 3031);
5564 } else {
5565 dasm_put(Dst, 3033);
5566 }
5567 } else {
5568 if (op == BC_ISTC) {
5569 dasm_put(Dst, 3035);
5570 } else {
5571 dasm_put(Dst, 3038);
5572 }
5573 dasm_put(Dst, 3041, -(BCBIAS_J*4 >> 16));
5574 }
5575 dasm_put(Dst, 3048);
5576 break;
5577
5578 /* -- Unary ops --------------------------------------------------------- */
5579
5580 case BC_MOV:
5581 dasm_put(Dst, 3059);
5582 break;
5583 case BC_NOT:
5584 dasm_put(Dst, 3072, LJ_TTRUE);
5585 break;
5586 case BC_UNM:
5587 dasm_put(Dst, 3088);
5588 break;
5589 case BC_LEN:
5590 dasm_put(Dst, 3105, Dt5(->len));
5591#ifdef LUAJIT_ENABLE_LUA52COMPAT
5592 dasm_put(Dst, 3129, Dt6(->metatable));
5593#endif
5594 dasm_put(Dst, 3136);
5595#ifdef LUAJIT_ENABLE_LUA52COMPAT
5596 dasm_put(Dst, 3142, Dt6(->nomm), 1<<MM_len);
5597#endif
5598 break;
5599
5600 /* -- Binary ops -------------------------------------------------------- */
5601
5602
5603 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
5604 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5605 switch (vk) {
5606 case 0:
5607 dasm_put(Dst, 3152);
5608 break;
5609 case 1:
5610 dasm_put(Dst, 3158);
5611 break;
5612 default:
5613 dasm_put(Dst, 3164);
5614 break;
5615 }
5616 dasm_put(Dst, 3171);
5617 break;
5618 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
5619 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5620 switch (vk) {
5621 case 0:
5622 dasm_put(Dst, 3184);
5623 break;
5624 case 1:
5625 dasm_put(Dst, 3190);
5626 break;
5627 default:
5628 dasm_put(Dst, 3196);
5629 break;
5630 }
5631 dasm_put(Dst, 3203);
5632 break;
5633 case BC_MULVN: case BC_MULNV: case BC_MULVV:
5634 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5635 switch (vk) {
5636 case 0:
5637 dasm_put(Dst, 3216);
5638 break;
5639 case 1:
5640 dasm_put(Dst, 3222);
5641 break;
5642 default:
5643 dasm_put(Dst, 3228);
5644 break;
5645 }
5646 dasm_put(Dst, 3235);
5647 break;
5648 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
5649 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5650 switch (vk) {
5651 case 0:
5652 dasm_put(Dst, 3248);
5653 break;
5654 case 1:
5655 dasm_put(Dst, 3254);
5656 break;
5657 default:
5658 dasm_put(Dst, 3260);
5659 break;
5660 }
5661 dasm_put(Dst, 3267);
5662 break;
5663 case BC_MODVN:
5664 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5665 switch (vk) {
5666 case 0:
5667 dasm_put(Dst, 3280);
5668 break;
5669 case 1:
5670 dasm_put(Dst, 3286);
5671 break;
5672 default:
5673 dasm_put(Dst, 3292);
5674 break;
5675 }
5676 dasm_put(Dst, 3299);
5677 break;
5678 case BC_MODNV: case BC_MODVV:
5679 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
5680 switch (vk) {
5681 case 0:
5682 dasm_put(Dst, 3317);
5683 break;
5684 case 1:
5685 dasm_put(Dst, 3323);
5686 break;
5687 default:
5688 dasm_put(Dst, 3329);
5689 break;
5690 }
5691 dasm_put(Dst, 3336);
5692 break;
5693 case BC_POW:
5694 dasm_put(Dst, 3339);
5695 break;
5696
5697 case BC_CAT:
5698 dasm_put(Dst, 3361, Dt1(->base), 32-3, Dt1(->base));
5699 break;
5700
5701 /* -- Constant ops ------------------------------------------------------ */
5702
5703 case BC_KSTR:
5704 dasm_put(Dst, 3391, 32-1);
5705 break;
5706 case BC_KCDATA:
5707#if LJ_HASFFI
5708 dasm_put(Dst, 3408, 32-1, LJ_TCDATA);
5709#endif
5710 break;
5711 case BC_KSHORT:
5712 dasm_put(Dst, 3427, 32-3);
5713 break;
5714 case BC_KNUM:
5715 dasm_put(Dst, 3443);
5716 break;
5717 case BC_KPRI:
5718 dasm_put(Dst, 3456, 32-3);
5719 break;
5720 case BC_KNIL:
5721 dasm_put(Dst, 3471);
5722 break;
5723
5724 /* -- Upvalue and function ops ------------------------------------------ */
5725
5726 case BC_UGET:
5727 dasm_put(Dst, 3490, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
5728 break;
5729 case BC_USETV:
5730 dasm_put(Dst, 3511, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, DtA(->closed), -(LJ_TISNUM+1), LJ_TISGCV - (LJ_TISNUM+1), Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
5731 break;
5732 case BC_USETS:
5733 dasm_put(Dst, 3563, 32-1, 32-1, offsetof(GCfuncL, uvptr), DtA(->marked), DtA(->v), LJ_GC_BLACK, Dt5(->marked), DtA(->closed), LJ_GC_WHITES, GG_DISP2G);
5734 break;
5735 case BC_USETN:
5736 dasm_put(Dst, 3612, 32-1, offsetof(GCfuncL, uvptr), DtA(->v));
5737 break;
5738 case BC_USETP:
5739 dasm_put(Dst, 3633, 32-1, offsetof(GCfuncL, uvptr), 32-3, DtA(->v));
5740 break;
5741
5742 case BC_UCLO:
5743 dasm_put(Dst, 3656, Dt1(->openupval), 32-1, -(BCBIAS_J*4 >> 16), Dt1(->base), Dt1(->base));
5744 break;
5745
5746 case BC_FNEW:
5747 dasm_put(Dst, 3686, 32-1, Dt1(->base), Dt1(->base));
5748 break;
5749
5750 /* -- Table ops --------------------------------------------------------- */
5751
5752 case BC_TNEW:
5753 case BC_TDUP:
5754 dasm_put(Dst, 3712, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base));
5755 if (op == BC_TNEW) {
5756 dasm_put(Dst, 3725);
5757 } else {
5758 dasm_put(Dst, 3733, 32-1);
5759 }
5760 dasm_put(Dst, 3740, Dt1(->base));
5761 break;
5762
5763 case BC_GGET:
5764 case BC_GSET:
5765 dasm_put(Dst, 3763, 32-1, Dt7(->env));
5766 if (op == BC_GGET) {
5767 dasm_put(Dst, 3771);
5768 } else {
5769 dasm_put(Dst, 3774);
5770 }
5771 break;
5772
5773 case BC_TGETV:
5774 dasm_put(Dst, 3777, Dt6(->asize), Dt6(->array), 31-3, Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5775 break;
5776 case BC_TGETS:
5777 dasm_put(Dst, 3835, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), 31-5, 31-3, DtB(->key), DtB(->val), DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5778 dasm_put(Dst, 3899);
5779 break;
5780 case BC_TGETB:
5781 dasm_put(Dst, 3904, 32-3, Dt6(->asize), Dt6(->array), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
5782 break;
5783
5784 case BC_TSETV:
5785 dasm_put(Dst, 3948, Dt6(->asize), Dt6(->array), 31-3, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
5786 dasm_put(Dst, 4015, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5787 break;
5788 case BC_TSETS:
5789 dasm_put(Dst, 4027, 32-1, Dt6(->hmask), Dt5(->hash), Dt6(->node), Dt6(->nomm), 31-5, 31-3, Dt6(->marked), DtB(->key), DtB(->val), LJ_GC_BLACK, DtB(->val), Dt6(->metatable));
5790 dasm_put(Dst, 4088, Dt6(->nomm), 1<<MM_newindex, DtB(->next), Dt6(->metatable), DISPATCH_GL(tmptv), Dt1(->base), Dt6(->nomm), 1<<MM_newindex, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain));
5791 dasm_put(Dst, 4139, Dt6(->marked), Dt6(->gclist));
5792 break;
5793 case BC_TSETB:
5794 dasm_put(Dst, 4146, 32-3, Dt6(->asize), Dt6(->array), Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked));
5795 dasm_put(Dst, 4206, Dt6(->gclist));
5796 break;
5797
5798 case BC_TSETM:
5799 dasm_put(Dst, 4211, 32-3, Dt6(->asize), 31-3, Dt6(->marked), Dt6(->array), LJ_GC_BLACK, Dt1(->base), DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->marked), Dt6(->gclist));
5800 dasm_put(Dst, 4280);
5801 break;
5802
5803 /* -- Calls and vararg handling ----------------------------------------- */
5804
5805 case BC_CALLM:
5806 dasm_put(Dst, 4283);
5807 break;
5808 case BC_CALL:
5809 dasm_put(Dst, 4285, Dt7(->pc));
5810 break;
5811
5812 case BC_CALLMT:
5813 dasm_put(Dst, 4305);
5814 break;
5815 case BC_CALLT:
5816 dasm_put(Dst, 4307, FRAME_TYPE, Dt7(->ffid), FRAME_VARG, Dt7(->pc), -4-8, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
5817 dasm_put(Dst, 4372, FRAME_TYPE);
5818 break;
5819
5820 case BC_ITERC:
5821 dasm_put(Dst, 4379, Dt7(->pc));
5822 break;
5823
5824 case BC_ITERN:
5825#if LJ_HASJIT
5826#endif
5827 dasm_put(Dst, 4405, Dt6(->asize), Dt6(->array), 31-3, -(BCBIAS_J*4 >> 16), Dt6(->hmask), Dt6(->node), 31-5, 31-3, DtB(->key), -(BCBIAS_J*4 >> 16));
5828 dasm_put(Dst, 4484);
5829 break;
5830
5831 case BC_ISNEXT:
5832 dasm_put(Dst, 4488, LJ_TTAB, LJ_TFUNC, LJ_TNIL, Dt8(->ffid), FF_next_N, 32-1, -(BCBIAS_J*4 >> 16), BC_JMP, BC_ITERC, -(BCBIAS_J*4 >> 16));
5833 break;
5834
5835 case BC_VARG:
5836 dasm_put(Dst, 4539, FRAME_VARG, Dt1(->maxstack), Dt1(->top), Dt1(->base), 32-3, Dt1(->base));
5837 dasm_put(Dst, 4619);
5838 break;
5839
5840 /* -- Returns ----------------------------------------------------------- */
5841
5842 case BC_RETM:
5843 dasm_put(Dst, 4625);
5844 break;
5845
5846 case BC_RET:
5847 dasm_put(Dst, 4627, FRAME_TYPE, FRAME_VARG, Dt7(->pc), PC2PROTO(k), FRAME_TYPEP);
5848 break;
5849
5850 case BC_RET0: case BC_RET1:
5851 dasm_put(Dst, 4697, FRAME_TYPE, FRAME_VARG);
5852 if (op == BC_RET1) {
5853 dasm_put(Dst, 4710);
5854 }
5855 dasm_put(Dst, 4713, Dt7(->pc), PC2PROTO(k));
5856 break;
5857
5858 /* -- Loops and branches ------------------------------------------------ */
5859
5860 case BC_FORL:
5861#if LJ_HASJIT
5862 dasm_put(Dst, 4741);
5863#endif
5864 break;
5865
5866 case BC_JFORI:
5867 case BC_JFORL:
5868#if !LJ_HASJIT
5869 break;
5870#endif
5871 case BC_FORI:
5872 case BC_IFORL:
5873 vk = (op == BC_IFORL || op == BC_JFORL);
5874 dasm_put(Dst, 4743, FORL_IDX*8, FORL_STEP*8, FORL_STOP*8);
5875 if (!vk) {
5876 dasm_put(Dst, 4751);
5877 }
5878 if (vk) {
5879 dasm_put(Dst, 4759, FORL_IDX*8);
5880 }
5881 dasm_put(Dst, 4763, FORL_EXT*8);
5882 if (op != BC_JFORL) {
5883 dasm_put(Dst, 4771, 32-1);
5884 if (op == BC_JFORI) {
5885 dasm_put(Dst, 4775, -(BCBIAS_J*4 >> 16));
5886 } else {
5887 dasm_put(Dst, 4778, -(BCBIAS_J*4 >> 16));
5888 }
5889 }
5890 if (op == BC_FORI) {
5891 dasm_put(Dst, 4781);
5892 } else if (op == BC_IFORL) {
5893 dasm_put(Dst, 4783);
5894 } else {
5895 dasm_put(Dst, 4785, BC_JLOOP);
5896 }
5897 dasm_put(Dst, 4788);
5898 break;
5899
5900 case BC_ITERL:
5901#if LJ_HASJIT
5902 dasm_put(Dst, 4803);
5903#endif
5904 break;
5905
5906 case BC_JITERL:
5907#if !LJ_HASJIT
5908 break;
5909#endif
5910 case BC_IITERL:
5911 dasm_put(Dst, 4805);
5912 if (op == BC_JITERL) {
5913 dasm_put(Dst, 4811);
5914 } else {
5915 dasm_put(Dst, 4813, 32-1, -(BCBIAS_J*4 >> 16));
5916 }
5917 dasm_put(Dst, 4820);
5918 break;
5919
5920 case BC_LOOP:
5921#if LJ_HASJIT
5922 dasm_put(Dst, 4832);
5923#endif
5924 break;
5925
5926 case BC_ILOOP:
5927 dasm_put(Dst, 4834);
5928 break;
5929
5930 case BC_JLOOP:
5931#if LJ_HASJIT
5932 dasm_put(Dst, 4845);
5933#endif
5934 break;
5935
5936 case BC_JMP:
5937 dasm_put(Dst, 4847, 32-1, -(BCBIAS_J*4 >> 16));
5938 break;
5939
5940 /* -- Function headers -------------------------------------------------- */
5941
5942 case BC_FUNCF:
5943#if LJ_HASJIT
5944 dasm_put(Dst, 4863);
5945#endif
5946 case BC_FUNCV: /* NYI: compiled vararg functions. */
5947 break;
5948
5949 case BC_JFUNCF:
5950#if !LJ_HASJIT
5951 break;
5952#endif
5953 case BC_IFUNCF:
5954 dasm_put(Dst, 4865, Dt1(->maxstack), -4+PC2PROTO(numparams), -4+PC2PROTO(k), 31-3);
5955 if (op == BC_JFUNCF) {
5956 dasm_put(Dst, 4883);
5957 } else {
5958 dasm_put(Dst, 4885);
5959 }
5960 dasm_put(Dst, 4894);
5961 break;
5962
5963 case BC_JFUNCV:
5964#if !LJ_HASJIT
5965 break;
5966#endif
5967 dasm_put(Dst, 4900);
5968 break; /* NYI: compiled vararg functions. */
5969
5970 case BC_IFUNCV:
5971 dasm_put(Dst, 4902, Dt1(->maxstack), 8+FRAME_VARG, -4+PC2PROTO(k), -4+PC2PROTO(numparams));
5972 break;
5973
5974 case BC_FUNCC:
5975 case BC_FUNCCW:
5976 if (op == BC_FUNCC) {
5977 dasm_put(Dst, 4952, Dt8(->f));
5978 } else {
5979 dasm_put(Dst, 4955, DISPATCH_GL(wrapf));
5980 }
5981 dasm_put(Dst, 4958, Dt1(->maxstack), Dt1(->base), Dt1(->top), ~LJ_VMST_C);
5982 if (op == BC_FUNCCW) {
5983 dasm_put(Dst, 4971, Dt8(->f));
5984 }
5985 dasm_put(Dst, 4974, DISPATCH_GL(vmstate), Dt1(->top), 31-3, Dt1(->base), ~LJ_VMST_INTERP, DISPATCH_GL(vmstate));
5986 break;
5987
5988 /* ---------------------------------------------------------------------- */
5989
5990 default:
5991 fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
5992 exit(2);
5993 break;
5994 }
5995}
5996
5997static int build_backend(BuildCtx *ctx)
5998{
5999 int op;
6000
6001 dasm_growpc(Dst, BC__MAX);
6002
6003 build_subroutines(ctx);
6004
6005 dasm_put(Dst, 4995);
6006 for (op = 0; op < BC__MAX; op++)
6007 build_ins(ctx, (BCOp)op, op);
6008
6009 return BC__MAX;
6010}
6011
6012/* Emit pseudo frame-info for all assembler functions. */
6013static void emit_asm_debug(BuildCtx *ctx)
6014{
6015 int i;
6016 switch (ctx->mode) {
6017 case BUILD_elfasm:
6018 fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
6019 fprintf(ctx->fp,
6020 ".Lframe0:\n"
6021 "\t.long .LECIE0-.LSCIE0\n"
6022 ".LSCIE0:\n"
6023 "\t.long 0xffffffff\n"
6024 "\t.byte 0x1\n"
6025 "\t.string \"\"\n"
6026 "\t.uleb128 0x1\n"
6027 "\t.sleb128 -4\n"
6028 "\t.byte 65\n"
6029 "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
6030 "\t.align 2\n"
6031 ".LECIE0:\n\n");
6032 fprintf(ctx->fp,
6033 ".LSFDE0:\n"
6034 "\t.long .LEFDE0-.LASFDE0\n"
6035 ".LASFDE0:\n"
6036 "\t.long .Lframe0\n"
6037 "\t.long .Lbegin\n"
6038 "\t.long %d\n"
6039 "\t.byte 0xe\n\t.uleb128 %d\n"
6040 "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
6041 "\t.byte 0x5\n\t.uleb128 70\n\t.sleb128 37\n",
6042 (int)ctx->codesz, CFRAME_SIZE);
6043 for (i = 14; i <= 31; i++)
6044 fprintf(ctx->fp,
6045 "\t.byte %d\n\t.uleb128 %d\n"
6046 "\t.byte 5\n\t.uleb128 %d\n\t.uleb128 %d\n",
6047 0x80+i, 1+2*(31-i), 1200+i, 2+2*(31-i));
6048 fprintf(ctx->fp,
6049 "\t.align 2\n"
6050 ".LEFDE0:\n\n");
6051 fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
6052 fprintf(ctx->fp,
6053 ".Lframe1:\n"
6054 "\t.long .LECIE1-.LSCIE1\n"
6055 ".LSCIE1:\n"
6056 "\t.long 0\n"
6057 "\t.byte 0x1\n"
6058 "\t.string \"zPR\"\n"
6059 "\t.uleb128 0x1\n"
6060 "\t.sleb128 -4\n"
6061 "\t.byte 65\n"
6062 "\t.uleb128 6\n" /* augmentation length */
6063 "\t.byte 0x1b\n" /* pcrel|sdata4 */
6064 "\t.long lj_err_unwind_dwarf-.\n"
6065 "\t.byte 0x1b\n" /* pcrel|sdata4 */
6066 "\t.byte 0xc\n\t.uleb128 1\n\t.uleb128 0\n"
6067 "\t.align 2\n"
6068 ".LECIE1:\n\n");
6069 fprintf(ctx->fp,
6070 ".LSFDE1:\n"
6071 "\t.long .LEFDE1-.LASFDE1\n"
6072 ".LASFDE1:\n"
6073 "\t.long .LASFDE1-.Lframe1\n"
6074 "\t.long .Lbegin-.\n"
6075 "\t.long %d\n"
6076 "\t.uleb128 0\n" /* augmentation length */
6077 "\t.byte 0xe\n\t.uleb128 %d\n"
6078 "\t.byte 0x11\n\t.uleb128 65\n\t.sleb128 -1\n"
6079 "\t.byte 0x5\n\t.uleb128 70\n\t.sleb128 37\n",
6080 (int)ctx->codesz, CFRAME_SIZE);
6081 for (i = 14; i <= 31; i++)
6082 fprintf(ctx->fp,
6083 "\t.byte %d\n\t.uleb128 %d\n"
6084 "\t.byte 5\n\t.uleb128 %d\n\t.uleb128 %d\n",
6085 0x80+i, 1+2*(31-i), 1200+i, 2+2*(31-i));
6086 fprintf(ctx->fp,
6087 "\t.align 2\n"
6088 ".LEFDE1:\n\n");
6089 break;
6090 default:
6091 break;
6092 }
6093}
6094
diff --git a/src/buildvm_x64.h b/src/buildvm_x64.h
deleted file mode 100644
index 55b22b2e..00000000
--- a/src/buildvm_x64.h
+++ /dev/null
@@ -1,3406 +0,0 @@
1/*
2** This file has been pre-processed with DynASM.
3** http://luajit.org/dynasm.html
4** DynASM version 1.3.0, DynASM x64 version 1.3.0
5** DO NOT EDIT! The original file is in "buildvm_x86.dasc".
6*/
7
8#if DASM_VERSION != 10300
9#error "Version mismatch between DynASM and included encoding engine"
10#endif
11
12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[16378] = {
16 254,1,248,10,252,247,195,237,15,132,244,11,131,227,252,248,41,218,72,141,
17 76,25,252,248,139,90,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,4,
18 252,247,195,237,15,132,244,13,248,14,129,252,243,239,252,247,195,237,15,133,
19 244,10,65,199,134,233,237,131,227,252,248,41,211,252,247,219,131,232,1,15,
20 132,244,248,248,1,72,139,44,10,72,137,106,252,248,131,194,8,131,232,1,15,
21 133,244,1,248,2,255,139,108,36,24,137,157,233,248,3,139,68,36,4,139,76,36,
22 16,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248,15,72,
23 139,76,36,32,72,137,141,233,49,192,248,16,72,131,196,40,65,94,65,95,91,93,
24 195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237,131,
25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20,
26 202,252,233,244,5,248,8,137,149,233,137,68,36,4,137,206,137,252,239,232,251,
27 1,0,139,149,233,252,233,244,3,248,17,137,252,240,72,137,252,252,248,18,139,
28 108,36,24,139,173,233,199,133,233,237,252,233,244,16,248,19,139,124,36,24,
29 137,198,72,131,196,40,65,94,65,95,91,93,252,233,251,1,1,248,20,72,129,231,
30 239,72,137,252,252,248,21,255,139,108,36,24,72,199,193,252,248,252,255,252,
31 255,252,255,184,237,139,149,233,68,139,181,233,65,129,198,239,139,90,252,
32 252,199,66,252,252,237,65,199,134,233,237,252,233,244,12,248,22,190,237,252,
33 233,244,248,248,23,131,232,8,252,233,244,247,248,24,141,68,194,252,248,248,
34 1,15,182,139,233,131,195,4,137,149,233,255,137,133,233,137,92,36,28,137,206,
35 248,2,137,252,239,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,
36 208,193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,182,205,131,
37 195,4,65,252,255,36,252,238,248,25,85,83,65,87,65,86,72,131,252,236,40,137,
38 252,253,137,124,36,24,137,252,241,187,237,49,192,76,141,188,253,36,233,68,
39 139,181,233,65,129,198,239,76,137,189,233,137,68,36,28,72,137,68,36,32,137,
40 68,36,16,137,68,36,20,56,133,233,15,132,244,249,65,199,134,233,237,136,133,
41 233,139,149,233,139,133,233,41,200,193,232,3,131,192,1,41,209,139,90,252,
42 252,137,68,36,4,252,247,195,237,255,15,132,244,13,252,233,244,14,248,26,85,
43 83,65,87,65,86,72,131,252,236,40,187,237,137,76,36,20,252,233,244,247,248,
44 27,85,83,65,87,65,86,72,131,252,236,40,187,237,248,1,137,84,36,16,137,252,
45 253,137,124,36,24,137,252,241,76,139,189,233,76,137,124,36,32,137,108,36,
46 28,72,137,165,233,248,2,68,139,181,233,65,129,198,239,248,3,65,199,134,233,
47 237,139,149,233,255,1,203,41,211,139,133,233,41,200,193,232,3,131,192,1,248,
48 28,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,30,137,202,137,
49 90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,
50 255,36,252,238,248,31,85,83,65,87,65,86,72,131,252,236,40,137,252,253,137,
51 124,36,24,137,108,36,28,68,139,189,233,68,43,189,233,199,68,36,20,0,0,0,0,
52 68,137,124,36,16,76,139,189,233,76,137,124,36,32,72,137,165,233,252,255,209,
53 133,192,15,132,244,15,137,193,187,237,252,233,244,2,248,11,1,209,131,227,
54 252,248,137,213,41,218,199,68,193,252,252,237,137,200,139,93,252,244,72,99,
55 77,252,240,255,131,252,249,1,15,134,244,247,255,76,141,61,245,76,1,252,249,
56 255,68,139,122,252,248,69,139,191,233,69,139,191,233,252,255,225,255,248,
57 1,15,132,244,32,41,213,193,252,237,3,141,69,252,255,252,233,244,33,255,248,
58 34,15,182,75,252,255,131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,
59 247,217,193,252,233,3,139,124,36,24,137,151,233,137,202,72,139,8,72,137,77,
60 0,137,252,238,252,233,244,36,248,37,137,4,36,199,68,36,4,237,72,141,4,36,
61 128,123,252,252,235,15,133,244,247,65,141,142,233,137,41,199,65,4,237,137,
62 205,252,233,244,248,248,38,15,182,67,252,254,255,199,68,36,4,237,137,4,36,
63 255,252,242,15,42,192,252,242,15,17,4,36,255,72,141,4,36,252,233,244,247,
64 248,39,15,182,67,252,254,141,4,194,248,1,15,182,107,252,255,141,44,252,234,
65 248,2,139,124,36,24,137,151,233,137,252,238,72,137,194,137,252,253,137,92,
66 36,28,232,251,1,2,139,149,233,133,192,15,132,244,249,248,35,15,182,75,252,
67 253,72,139,40,72,137,44,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
68 16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,244,141,153,233,41,
69 211,139,105,252,248,184,237,252,233,244,30,248,40,137,4,36,199,68,36,4,237,
70 72,141,4,36,128,123,252,252,235,15,133,244,247,255,65,141,142,233,137,41,
71 199,65,4,237,137,205,252,233,244,248,248,41,15,182,67,252,254,255,72,141,
72 4,36,252,233,244,247,248,42,15,182,67,252,254,141,4,194,248,1,15,182,107,
73 252,255,141,44,252,234,248,2,139,124,36,24,137,151,233,137,252,238,72,137,
74 194,137,252,253,137,92,36,28,232,251,1,3,139,149,233,133,192,15,132,244,249,
75 15,182,75,252,253,72,139,44,202,72,137,40,248,43,139,3,15,182,204,15,182,
76 232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,139,141,233,137,89,252,
77 244,15,182,67,252,253,72,139,44,194,72,137,105,16,141,153,233,41,211,139,
78 105,252,248,184,237,252,233,244,30,248,44,139,108,36,24,137,149,233,141,52,
79 202,141,20,194,137,252,239,15,182,75,252,252,137,92,36,28,232,251,1,4,248,
80 3,139,149,233,255,131,252,248,1,15,135,244,45,248,4,141,91,4,15,130,244,252,
81 248,5,15,183,67,252,254,141,156,253,131,233,248,6,139,3,15,182,204,15,182,
82 232,131,195,4,193,232,16,65,252,255,36,252,238,248,46,131,195,4,129,120,253,
83 4,239,15,130,244,5,252,233,244,6,248,47,129,120,253,4,239,252,233,244,4,248,
84 48,131,252,235,4,137,206,137,252,233,139,108,36,24,137,149,233,255,137,194,
85 137,252,239,137,92,36,28,232,251,1,5,252,233,244,3,248,49,255,131,252,235,
86 4,139,108,36,24,137,149,233,137,252,239,139,115,252,252,137,92,36,28,232,
87 251,1,6,252,233,244,3,255,248,50,255,15,182,107,252,255,255,248,51,65,141,
88 4,199,252,233,244,247,248,52,255,248,53,65,141,4,199,141,44,252,234,149,252,
89 233,244,248,248,54,141,4,194,137,197,252,233,244,248,248,55,255,248,56,141,
90 4,194,248,1,141,44,252,234,248,2,141,12,202,68,15,182,67,252,252,137,206,
91 137,193,139,124,36,24,137,151,233,137,252,234,137,252,253,137,92,36,28,232,
92 251,1,7,139,149,233,133,192,15,132,244,43,248,45,137,193,41,208,137,89,252,
93 244,141,152,233,184,237,252,233,244,28,248,57,139,108,36,24,137,149,233,141,
94 52,194,137,252,239,137,92,36,28,232,251,1,8,139,149,233,255,133,192,15,133,
95 244,45,15,183,67,252,254,139,60,194,252,233,244,58,255,252,233,244,45,255,
96 248,59,141,76,202,8,248,29,137,76,36,4,137,4,36,131,252,233,8,139,108,36,
97 24,137,149,233,137,206,141,20,193,137,252,239,137,92,36,28,232,251,1,9,139,
98 149,233,139,76,36,4,139,4,36,139,105,252,248,131,192,1,65,57,215,15,132,244,
99 60,137,202,137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,
100 195,4,65,252,255,36,252,238,248,61,139,108,36,24,137,149,233,137,206,137,
101 252,239,137,92,36,28,232,251,1,10,139,149,233,139,67,252,252,15,182,204,15,
102 182,232,193,232,16,65,252,255,164,253,252,238,233,248,62,129,252,248,239,
103 15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,90,252,252,137,
104 68,36,4,137,106,252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,
105 137,209,248,1,131,193,8,72,139,41,72,137,105,252,248,131,232,1,15,133,244,
106 1,248,2,139,68,36,4,252,233,244,64,248,65,129,252,248,239,15,130,244,63,139,
107 106,4,137,252,233,193,252,249,15,131,252,249,252,254,15,132,244,249,184,237,
108 252,247,213,57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,
109 2,139,106,252,248,139,132,253,197,233,139,90,252,252,199,66,252,252,237,137,
110 66,252,248,252,233,244,66,248,3,184,237,252,233,244,2,248,67,129,252,248,
111 239,15,130,244,63,139,106,4,139,90,252,252,129,252,253,239,15,133,244,252,
112 248,1,139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132,
113 244,66,65,139,134,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136,
114 233,105,201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,
115 15,132,244,251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,66,
116 248,5,139,105,4,129,252,253,239,15,132,244,66,139,1,137,106,252,252,137,66,
117 252,248,252,233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,
118 15,135,244,254,129,252,253,239,15,134,244,253,189,237,252,233,244,254,248,
119 7,255,189,237,248,8,252,247,213,65,139,172,253,174,233,252,233,244,2,248,
120 68,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244,63,139,42,131,
121 189,233,0,15,133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,133,
122 233,139,90,252,252,199,66,252,252,237,255,137,106,252,248,252,246,133,233,
123 235,15,132,244,247,128,165,233,235,65,139,134,233,65,137,174,233,137,133,
124 233,248,1,252,233,244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,
125 4,239,15,133,244,63,137,213,139,50,141,82,8,139,124,36,24,232,251,1,11,137,
126 252,234,72,139,40,139,90,252,252,72,137,106,252,248,252,233,244,66,248,70,
127 255,129,252,248,239,15,133,244,63,129,122,253,4,239,255,15,133,244,247,139,
128 42,252,233,244,71,248,1,15,135,244,63,255,15,131,244,63,255,252,242,15,16,
129 2,252,233,244,72,255,221,2,252,233,244,73,255,248,74,129,252,248,239,15,130,
130 244,63,139,90,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199,66,
131 252,252,237,137,66,252,248,252,233,244,66,248,3,129,122,253,4,239,15,135,
132 244,63,65,131,190,233,0,15,133,244,63,65,139,174,233,65,59,174,233,255,15,
133 130,244,247,232,244,75,248,1,139,108,36,24,137,149,233,137,92,36,28,137,214,
134 137,252,239,255,232,251,1,12,255,232,251,1,13,255,139,149,233,252,233,244,
135 2,248,76,129,252,248,239,15,130,244,63,15,132,244,248,248,1,129,122,253,4,
136 239,15,133,244,63,139,108,36,24,137,149,233,137,149,233,139,90,252,252,139,
137 50,141,82,8,137,252,239,137,92,36,28,232,251,1,14,139,149,233,133,192,15,
138 132,244,249,72,139,106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,77,
139 184,237,255,252,233,244,78,248,2,199,66,12,237,252,233,244,1,248,3,199,66,
140 252,252,237,252,233,244,66,248,79,129,252,248,239,15,130,244,63,139,42,129,
141 122,253,4,239,15,133,244,63,255,131,189,233,0,15,133,244,63,255,139,106,252,
142 248,139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,199,66,12,
143 237,184,237,252,233,244,78,248,80,129,252,248,239,15,130,244,63,129,122,253,
144 4,239,15,133,244,63,129,122,253,12,239,255,139,90,252,252,255,139,66,8,131,
145 192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,
146 237,102,72,15,110,205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,
147 252,248,255,139,42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,
148 120,253,4,239,15,132,244,81,72,139,40,72,137,42,252,233,244,77,248,2,131,
149 189,233,0,15,132,244,81,137,252,239,137,213,137,198,232,251,1,15,137,252,
150 234,133,192,15,133,244,1,248,81,184,237,252,233,244,78,248,82,255,139,106,
151 252,248,139,133,233,139,90,252,252,199,66,252,252,237,137,66,252,248,255,
152 199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,
153 238,221,90,8,255,184,237,252,233,244,78,248,83,129,252,248,239,15,130,244,
154 63,141,74,8,131,232,1,187,237,248,1,65,15,182,174,233,193,252,237,235,131,
155 229,1,1,252,235,252,233,244,28,248,84,129,252,248,239,15,130,244,63,129,122,
156 253,12,239,15,133,244,63,255,139,106,4,137,106,12,199,66,4,237,139,42,139,
157 90,8,137,106,8,137,26,141,74,16,131,232,2,187,237,252,233,244,1,248,85,129,
158 252,248,239,15,130,244,63,139,42,139,90,252,252,137,92,36,28,137,44,36,129,
159 122,253,4,239,15,133,244,63,72,131,189,233,0,15,133,244,63,128,189,233,235,
160 15,135,244,63,139,141,233,15,132,244,247,255,59,141,233,15,132,244,63,248,
161 1,141,92,193,252,240,59,157,233,15,135,244,63,137,157,233,139,108,36,24,137,
162 149,233,131,194,8,137,149,233,141,108,194,232,72,41,221,57,203,15,132,244,
163 249,248,2,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,
164 248,3,137,206,139,60,36,232,244,25,65,199,134,233,237,255,139,108,36,24,139,
165 28,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,
166 187,233,137,139,233,68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,
167 235,3,59,133,233,15,135,244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,
168 41,131,193,8,68,57,252,249,15,133,244,5,248,6,141,67,2,199,66,252,252,237,
169 248,7,139,92,36,28,137,68,36,4,72,199,193,252,248,252,255,252,255,252,255,
170 252,247,195,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,
171 139,139,233,131,252,233,8,137,139,233,72,139,1,72,137,2,184,237,252,233,244,
172 7,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,1,0,139,28,36,
173 139,149,233,252,233,244,4,248,86,139,106,252,248,139,173,233,139,90,252,252,
174 137,92,36,28,137,44,36,72,131,189,233,0,15,133,244,63,255,128,189,233,235,
175 15,135,244,63,139,141,233,15,132,244,247,59,141,233,15,132,244,63,248,1,141,
176 92,193,252,248,59,157,233,15,135,244,63,137,157,233,139,108,36,24,137,149,
177 233,137,149,233,141,108,194,252,240,72,41,221,57,203,15,132,244,249,248,2,
178 255,72,139,4,43,72,137,67,252,248,131,252,235,8,57,203,15,133,244,2,248,3,
179 137,206,139,60,36,232,244,25,65,199,134,233,237,139,108,36,24,139,28,36,139,
180 149,233,129,252,248,239,15,135,244,254,248,4,139,139,233,68,139,187,233,137,
181 139,233,68,137,252,251,41,203,15,132,244,252,141,4,26,193,252,235,3,59,133,
182 233,15,135,244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,
183 8,68,57,252,249,15,133,244,5,248,6,141,67,1,248,7,139,92,36,28,137,68,36,
184 4,49,201,252,247,195,237,15,132,244,13,252,233,244,14,248,8,137,222,137,252,
185 239,232,251,1,16,248,9,139,12,36,68,137,185,233,137,222,137,252,239,232,251,
186 1,0,139,28,36,139,149,233,252,233,244,4,248,87,139,108,36,24,72,252,247,133,
187 233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,133,233,49,192,
188 72,137,133,233,176,235,136,133,233,252,233,244,16,255,248,71,255,248,73,139,
189 90,252,252,221,90,252,248,252,233,244,66,255,248,88,129,252,248,239,15,130,
190 244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,252,253,0,15,137,244,
191 71,252,247,221,15,136,244,247,248,89,248,71,139,90,252,252,199,66,252,252,
192 237,137,106,252,248,252,233,244,66,248,1,139,90,252,252,199,66,252,252,0,
193 0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,15,135,244,63,255,129,
194 122,253,4,239,15,131,244,63,255,252,242,15,16,2,72,184,237,237,102,72,15,
195 110,200,15,84,193,248,72,139,90,252,252,252,242,15,17,66,252,248,255,221,
196 2,217,225,248,72,248,73,139,90,252,252,221,90,252,248,255,248,66,184,237,
197 248,78,137,68,36,4,248,64,252,247,195,237,15,133,244,253,248,5,56,67,252,
198 255,15,135,244,252,15,182,75,252,253,72,252,247,209,141,20,202,139,3,15,182,
199 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,199,68,194,
200 252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,252,248,252,255,252,
201 255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,15,133,244,247,139,
202 42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,2,232,244,91,255,
203 252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,242,15,42,205,102,
204 15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,91,255,248,92,255,
205 252,242,15,16,2,232,244,93,255,221,2,232,244,93,255,248,94,129,252,248,239,
206 15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,81,2,252,233,244,
207 72,255,248,94,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
208 63,221,2,217,252,250,252,233,244,73,255,248,95,129,252,248,239,15,130,244,
209 63,129,122,253,4,239,15,131,244,63,217,252,237,221,2,217,252,241,252,233,
210 244,73,248,96,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
211 63,217,252,236,221,2,217,252,241,252,233,244,73,248,97,129,252,248,239,255,
212 15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,232,244,98,252,233,244,
213 73,248,99,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,
214 2,217,252,254,252,233,244,73,248,100,129,252,248,239,255,15,130,244,63,129,
215 122,253,4,239,15,131,244,63,221,2,217,252,255,252,233,244,73,248,101,129,
216 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,242,
217 221,216,252,233,244,73,248,102,129,252,248,239,15,130,244,63,255,129,122,
218 253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,
219 217,252,243,252,233,244,73,248,103,129,252,248,239,15,130,244,63,129,122,
220 253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,
221 217,201,217,252,243,252,233,244,73,248,104,129,252,248,239,15,130,244,63,
222 129,122,253,4,239,15,131,244,63,255,221,2,217,232,217,252,243,252,233,244,
223 73,255,248,105,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
224 63,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,252,233,244,72,255,
225 248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,
226 242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,244,72,255,248,107,
227 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,
228 16,2,255,137,213,232,251,1,19,137,252,234,252,233,244,72,248,108,255,248,
229 109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,
230 15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,248,109,
231 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,139,106,
232 252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,15,130,244,
233 63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,
234 221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,244,63,
235 129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,63,221,
236 66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,239,15,
237 130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,90,252,252,139,2,137,
238 106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,15,131,244,
239 249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,0,15,130,244,
240 250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,44,36,219,4,
241 36,255,139,106,252,252,129,229,252,255,252,255,15,128,129,205,0,0,224,63,
242 137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,184,237,252,233,
243 244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,252,233,244,2,255,
244 248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,242,15,89,
245 193,252,242,15,17,66,252,248,255,221,2,199,4,36,0,0,128,90,216,12,36,221,
246 90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,252,233,244,1,255,248,
247 113,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,
248 15,16,2,255,248,113,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
249 244,63,221,2,255,139,106,4,139,90,252,252,209,229,129,252,253,0,0,224,252,
250 255,15,132,244,250,255,15,40,224,232,244,114,252,242,15,92,224,248,1,252,
251 242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,244,114,220,252,233,
252 248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,4,49,232,15,136,244,
253 249,248,2,184,237,252,233,244,78,248,3,129,252,245,0,0,0,128,137,106,4,252,
254 233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,252,238,217,201,252,233,
255 244,1,255,248,115,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
256 244,63,129,122,253,12,239,15,131,244,63,221,66,8,221,2,248,1,217,252,248,
257 223,224,158,15,138,244,1,221,217,252,233,244,73,255,248,116,129,252,248,239,
258 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
259 63,252,242,15,16,2,252,242,15,16,74,8,232,244,117,252,233,244,72,255,248,
260 116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,
261 253,12,239,15,131,244,63,221,2,221,66,8,232,244,117,252,233,244,73,255,248,
262 118,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,
263 15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,248,
264 15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,63,255,252,
265 233,244,252,248,4,15,135,244,63,255,252,242,15,16,2,248,5,57,193,15,131,244,
266 72,129,124,253,202,252,252,239,255,15,130,244,252,15,135,244,63,252,242,15,
267 42,76,202,252,248,252,233,244,253,255,248,6,252,242,15,16,76,202,252,248,
268 248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,248,119,185,2,0,0,0,129,
269 122,253,4,239,255,15,133,244,250,139,42,248,1,57,193,15,131,244,71,129,124,
270 253,202,252,252,239,15,133,244,249,59,108,202,252,248,15,76,108,202,252,248,
271 131,193,1,252,233,244,1,248,3,15,135,244,63,255,248,6,252,242,15,16,76,202,
272 252,248,248,7,252,242,15,95,193,131,193,1,252,233,244,5,255,248,9,221,216,
273 252,233,244,63,255,248,120,129,252,248,239,15,130,244,63,129,122,253,4,239,
274 15,133,244,63,139,42,255,139,173,233,252,233,244,71,255,252,242,15,42,133,
275 233,252,233,244,72,255,219,133,233,252,233,244,73,255,248,121,129,252,248,
276 239,15,133,244,63,129,122,253,4,239,15,133,244,63,139,42,139,90,252,252,131,
277 189,233,1,15,130,244,81,15,182,173,233,255,252,242,15,42,197,252,233,244,
278 72,255,137,44,36,219,4,36,252,233,244,73,255,248,122,65,139,174,233,65,59,
279 174,233,15,130,244,247,232,244,75,248,1,129,252,248,239,15,133,244,63,129,
280 122,253,4,239,255,15,133,244,63,139,42,129,252,253,252,255,0,0,0,15,135,244,
281 63,137,108,36,4,255,15,131,244,63,252,242,15,44,42,129,252,253,252,255,0,
282 0,0,15,135,244,63,137,108,36,4,255,15,131,244,63,221,2,219,92,36,4,129,124,
283 36,4,252,255,0,0,0,15,135,244,63,255,199,68,36,8,1,0,0,0,72,141,68,36,4,248,
284 123,139,108,36,24,137,149,233,139,84,36,8,72,137,198,137,252,239,137,92,36,
285 28,232,251,1,20,139,149,233,139,90,252,252,199,66,252,252,237,137,66,252,
286 248,252,233,244,66,248,124,65,139,174,233,65,59,174,233,15,130,244,247,232,
287 244,75,248,1,199,68,36,4,252,255,252,255,252,255,252,255,129,252,248,239,
288 15,130,244,63,15,134,244,247,129,122,253,20,239,255,15,133,244,63,139,106,
289 16,137,108,36,4,255,15,131,244,63,252,242,15,44,106,16,137,108,36,4,255,15,
290 131,244,63,221,66,16,219,92,36,4,255,248,1,129,122,253,4,239,15,133,244,63,
291 129,122,253,12,239,255,139,42,137,108,36,8,139,173,233,255,139,74,8,255,252,
292 242,15,44,74,8,255,139,68,36,4,57,197,15,130,244,251,248,2,133,201,15,142,
293 244,253,248,3,139,108,36,8,41,200,15,140,244,125,141,172,253,13,233,131,192,
294 1,248,4,137,68,36,8,137,232,252,233,244,123,248,5,15,140,244,252,141,68,40,
295 1,252,233,244,2,248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,
296 233,131,193,1,15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,125,49,192,
297 252,233,244,4,248,126,129,252,248,239,15,130,244,63,65,139,174,233,65,59,
298 174,233,15,130,244,247,232,244,75,248,1,255,129,122,253,4,239,15,133,244,
299 63,129,122,253,12,239,139,42,255,15,133,244,63,139,66,8,255,15,131,244,63,
300 252,242,15,44,66,8,255,15,131,244,63,221,66,8,219,92,36,4,139,68,36,4,255,
301 133,192,15,142,244,125,131,189,233,1,15,130,244,125,15,133,244,127,65,57,
302 134,233,15,130,244,127,15,182,141,233,65,139,174,233,137,68,36,8,248,1,136,
303 77,0,131,197,1,131,232,1,15,133,244,1,65,139,134,233,252,233,244,123,248,
304 128,129,252,248,239,255,15,130,244,63,65,139,174,233,65,59,174,233,15,130,
305 244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,
306 133,192,15,132,244,125,65,57,134,233,15,130,244,129,129,197,239,137,92,36,
307 4,137,68,36,8,65,139,158,233,248,1,255,15,182,77,0,131,197,1,131,232,1,136,
308 12,3,15,133,244,1,137,216,139,92,36,4,252,233,244,123,248,130,129,252,248,
309 239,15,130,244,63,65,139,174,233,65,59,174,233,15,130,244,247,232,244,75,
310 248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,65,57,134,233,255,
311 15,130,244,129,129,197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,
312 244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,249,90,
313 15,135,244,248,131,252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,
314 137,216,139,92,36,4,252,233,244,123,248,131,129,252,248,239,15,130,244,63,
315 255,65,139,174,233,65,59,174,233,15,130,244,247,232,244,75,248,1,129,122,
316 253,4,239,15,133,244,63,139,42,139,133,233,65,57,134,233,15,130,244,129,129,
317 197,239,137,92,36,4,137,68,36,8,65,139,158,233,252,233,244,249,248,1,15,182,
318 76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,248,131,
319 252,241,32,248,2,136,12,3,248,3,131,232,1,15,137,244,1,137,216,139,92,36,
320 4,252,233,244,123,248,132,129,252,248,239,15,130,244,63,129,122,253,4,239,
321 15,133,244,63,137,213,139,58,232,251,1,21,137,252,234,255,137,197,252,233,
322 244,71,255,252,242,15,42,192,252,233,244,72,255,248,133,129,252,248,239,15,
323 130,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,89,248,
324 1,15,135,244,63,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,252,
325 242,15,88,193,102,15,126,197,255,252,233,244,89,255,248,134,129,252,248,239,
326 15,130,244,63,255,72,189,237,237,102,72,15,110,205,255,199,4,36,0,0,192,89,
327 255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,255,252,242,
328 15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,4,141,68,194,
329 252,240,248,1,57,208,15,134,244,89,129,120,253,4,239,255,15,133,244,248,35,
330 40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,15,131,244,135,255,252,
331 242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,252,233,
332 244,1,248,136,129,252,248,239,15,130,244,63,255,15,133,244,248,11,40,131,
333 232,8,252,233,244,1,248,2,15,135,244,135,255,252,242,15,16,0,252,242,15,88,
334 193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,137,129,252,248,
335 239,15,130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,
336 15,135,244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,
337 255,131,232,8,252,233,244,1,248,138,129,252,248,239,15,130,244,63,129,122,
338 253,4,239,255,248,2,15,205,252,233,244,89,248,139,129,252,248,239,15,130,
339 244,63,129,122,253,4,239,255,248,2,252,247,213,255,248,89,252,242,15,42,197,
340 252,233,244,72,255,248,135,139,68,36,4,252,233,244,63,255,248,140,129,252,
341 248,239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,
342 244,63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,122,253,4,239,
343 15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,
344 16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,
345 202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,89,255,248,141,
346 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,248,239,
347 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
348 63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,
349 242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,252,
350 237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,129,122,253,
351 4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
352 244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,
353 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,
354 15,126,197,102,15,126,201,255,211,252,253,252,233,244,89,255,248,143,129,
355 252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,248,239,15,
356 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
357 63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,
358 242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,197,
359 252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,
360 255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
361 129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,
362 237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,
363 197,102,15,126,201,255,211,205,252,233,244,89,248,127,184,237,252,233,244,
364 63,248,129,184,237,248,63,139,108,36,24,139,90,252,252,137,92,36,28,137,149,
365 233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,59,141,233,
366 15,135,244,251,137,252,239,252,255,144,233,139,149,233,133,192,15,143,244,
367 78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,139,106,252,
368 248,15,133,244,33,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,
369 65,252,255,36,252,238,248,33,137,209,252,247,195,237,15,133,244,249,15,182,
370 107,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137,221,131,
371 229,252,248,41,252,234,252,233,244,28,248,5,190,237,137,252,239,232,251,1,
372 0,139,149,233,49,192,252,233,244,1,248,75,93,72,137,108,36,8,139,108,36,24,
373 137,92,36,28,137,149,233,255,141,68,194,252,248,137,252,239,137,133,233,232,
374 251,1,22,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,139,108,36,
375 8,85,195,248,145,255,65,15,182,134,233,168,235,15,133,244,251,168,235,15,
376 133,244,247,168,235,15,132,244,247,65,252,255,142,233,252,233,244,247,255,
377 248,146,65,15,182,134,233,168,235,15,133,244,251,252,233,244,247,248,147,
378 65,15,182,134,233,168,235,15,133,244,251,168,235,15,132,244,251,65,252,255,
379 142,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,24,137,
380 149,233,137,222,137,252,239,232,251,1,23,248,3,139,149,233,248,4,15,182,75,
381 252,253,248,5,15,182,107,252,252,15,183,67,252,254,65,252,255,164,253,252,
382 238,233,248,148,131,195,4,139,77,232,137,76,36,4,252,233,244,4,248,149,255,
383 139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,24,137,149,
384 233,137,133,233,137,222,65,141,190,233,73,137,174,233,137,92,36,28,232,251,
385 1,24,252,233,244,3,255,248,150,137,92,36,28,255,248,151,255,137,92,36,28,
386 131,203,1,248,1,255,141,68,194,252,248,139,108,36,24,137,149,233,137,133,
387 233,137,222,137,252,239,232,251,1,25,199,68,36,28,0,0,0,0,255,131,227,252,
388 254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,75,252,
389 253,193,232,3,131,192,1,252,255,229,248,152,255,65,85,65,84,65,83,65,82,65,
390 81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,248,138,101,
391 252,240,76,137,125,252,248,76,137,117,252,240,68,139,117,0,65,139,142,233,
392 65,199,134,233,237,65,137,134,233,65,137,142,233,72,129,252,236,239,72,131,
393 197,128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,
394 68,15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,
395 68,15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,
396 17,125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,
397 160,252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,
398 15,17,69,128,65,139,174,233,65,139,150,233,73,137,174,233,65,199,134,233,
399 0,0,0,0,137,149,233,72,137,230,65,141,190,233,232,251,1,26,72,139,141,233,
400 72,129,225,239,72,137,204,137,169,233,139,149,233,139,153,233,252,233,244,
401 247,255,248,153,255,72,131,196,16,248,1,76,139,108,36,8,76,139,36,36,133,
402 192,15,136,244,249,137,68,36,4,68,139,122,252,248,69,139,191,233,69,139,191,
403 233,65,199,134,233,0,0,0,0,65,199,134,233,237,139,3,15,182,204,15,182,232,
404 131,195,4,193,232,16,129,252,253,239,15,130,244,248,139,68,36,4,248,2,65,
405 252,255,36,252,238,248,3,252,247,216,137,252,239,137,198,232,251,1,1,255,
406 248,91,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,
407 255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,
408 36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
409 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
410 85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,237,237,102,
411 72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,200,15,40,
412 193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,184,0,8,102,11,68,36,
413 4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
414 36,4,139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208,72,184,
415 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
416 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
417 237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
418 200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,0,12,
419 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
420 68,36,8,195,255,248,156,72,184,237,237,102,72,15,110,208,72,184,237,237,102,
421 72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,
422 85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,72,
423 15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,
424 202,15,40,193,248,1,195,248,157,255,15,40,232,252,242,15,94,193,72,184,237,
425 237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,15,84,
426 226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,242,
427 15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,196,
428 1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,15,
429 92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,217,
430 193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,252,
431 247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,252,
432 233,195,255,248,98,217,252,234,222,201,248,158,217,84,36,252,248,129,124,
433 36,252,248,0,0,128,127,15,132,244,247,129,124,36,252,248,0,0,128,252,255,
434 15,132,244,248,248,159,217,192,217,252,252,220,252,233,217,201,217,252,240,
435 217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,
436 255,248,117,255,248,160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,
437 15,133,244,254,15,138,244,255,248,161,131,252,248,1,15,142,244,252,248,1,
438 169,1,0,0,0,15,133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,
439 209,232,15,132,244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,
440 250,15,131,244,3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,
441 193,248,5,195,248,6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,
442 184,237,237,102,72,15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,
443 237,237,102,72,15,110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,
444 12,72,61,252,254,15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,
445 244,250,255,72,193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,
446 17,76,36,252,240,252,242,15,17,68,36,252,248,221,68,36,252,240,221,68,36,
447 252,248,217,252,241,217,192,217,252,252,220,252,233,217,201,217,252,240,217,
448 232,222,193,217,252,253,221,217,221,92,36,252,248,252,242,15,16,68,36,252,
449 248,195,248,9,72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,247,
450 15,40,193,248,1,195,248,2,72,184,237,237,102,72,15,110,208,102,15,84,194,
451 72,184,237,237,102,72,15,110,208,102,15,46,194,15,132,244,1,102,15,80,193,
452 15,87,192,136,196,15,146,208,48,224,15,133,244,1,248,3,72,184,237,237,255,
453 102,72,15,110,192,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,192,
454 195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,192,195,248,162,255,131,
455 252,255,1,15,130,244,91,15,132,244,93,131,252,255,3,15,130,244,114,15,135,
456 244,248,252,242,15,81,192,195,248,2,252,242,15,17,68,36,252,248,221,68,36,
457 252,248,131,252,255,5,15,135,244,248,15,132,244,247,232,244,98,252,233,244,
458 253,248,1,232,244,158,255,252,233,244,253,248,2,131,252,255,7,15,132,244,
459 247,15,135,244,248,217,252,237,217,201,217,252,241,252,233,244,253,248,1,
460 217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,255,9,15,132,244,
461 247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,244,253,248,1,
462 255,217,252,254,252,233,244,253,248,2,131,252,255,11,15,132,244,247,15,135,
463 244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,216,248,7,221,92,
464 36,252,248,252,242,15,16,68,36,252,248,195,255,139,124,36,12,221,68,36,4,
465 131,252,255,1,15,130,244,91,15,132,244,93,131,252,255,3,15,130,244,114,15,
466 135,244,248,217,252,250,195,248,2,131,252,255,5,15,130,244,98,15,132,244,
467 158,131,252,255,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
468 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,255,9,15,132,
469 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
470 252,254,195,248,2,131,252,255,11,15,132,244,247,15,135,244,255,217,252,255,
471 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,163,255,131,252,255,
472 1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,92,
473 193,195,248,2,131,252,255,3,15,132,244,247,15,135,244,248,252,242,15,89,193,
474 195,248,1,252,242,15,94,193,195,248,2,131,252,255,5,15,130,244,157,15,132,
475 244,117,131,252,255,7,15,132,244,247,15,135,244,248,72,184,237,237,255,102,
476 72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,110,200,15,84,
477 193,195,248,2,131,252,255,9,15,135,244,248,252,242,15,17,68,36,252,248,252,
478 242,15,17,76,36,252,240,221,68,36,252,248,221,68,36,252,240,15,132,244,247,
479 217,252,243,248,7,221,92,36,252,248,252,242,15,16,68,36,252,248,195,248,1,
480 217,201,217,252,253,221,217,252,233,244,7,248,2,131,252,255,11,15,132,244,
481 247,15,135,244,255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,
482 9,204,255,139,68,36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,
483 247,15,135,244,248,222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,
484 15,132,244,247,15,135,244,248,222,201,195,248,1,222,252,249,195,248,2,131,
485 252,248,5,15,130,244,157,15,132,244,117,131,252,248,7,15,132,244,247,15,135,
486 244,248,255,221,216,217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,
487 9,15,132,244,247,15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,
488 221,217,195,248,2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,
489 233,219,209,221,217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,
490 223,224,252,246,196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,
491 225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,
492 164,137,252,248,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,195,248,165,
493 255,204,248,166,255,83,65,87,65,86,72,131,252,236,40,68,141,181,233,139,157,
494 233,15,183,192,137,131,233,72,137,187,233,72,137,179,233,72,137,147,233,72,
495 137,139,233,252,242,15,17,131,233,252,242,15,17,139,233,252,242,15,17,147,
496 233,252,242,15,17,155,233,72,141,132,253,36,233,76,137,131,233,76,137,139,
497 233,252,242,15,17,163,233,252,242,15,17,171,233,252,242,15,17,179,233,252,
498 242,15,17,187,233,72,137,131,233,72,137,230,137,92,36,28,137,223,232,251,
499 1,27,65,199,134,233,237,255,139,144,233,139,128,233,41,208,139,106,252,248,
500 193,232,3,131,192,1,139,157,233,139,11,15,182,252,233,15,182,205,131,195,
501 4,65,252,255,36,252,238,255,248,32,255,139,76,36,24,65,139,158,233,72,137,
502 139,233,137,145,233,137,169,233,137,223,137,198,232,251,1,28,72,139,131,233,
503 252,242,15,16,131,233,252,233,244,16,255,248,167,255,85,72,137,229,83,72,
504 137,252,251,139,131,233,72,41,196,255,15,182,139,233,131,252,233,1,15,136,
505 244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,131,252,233,1,
506 15,137,244,1,248,2,15,182,131,233,72,139,187,233,72,139,179,233,72,139,147,
507 233,72,139,139,233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,
508 40,131,233,15,40,139,233,255,15,40,147,233,15,40,155,233,131,252,248,4,15,
509 134,244,251,15,40,163,233,15,40,171,233,15,40,179,233,15,40,187,233,248,5,
510 252,255,147,233,72,137,131,233,15,41,131,233,72,137,147,233,15,41,139,233,
511 255,72,139,93,252,248,201,195,255,129,124,253,202,4,239,15,133,244,253,129,
512 124,253,194,4,239,15,133,244,254,139,44,202,131,195,4,59,44,194,255,15,141,
513 244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,248,
514 6,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,204,15,182,232,
515 131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,44,129,124,253,
516 194,4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,194,252,233,244,
517 248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,44,255,252,
518 242,15,42,12,202,252,242,15,16,4,194,131,195,4,102,15,46,193,255,15,134,244,
519 9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
520 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,44,129,124,
521 253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,4,194,248,2,131,195,4,
522 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,195,4,
523 255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,135,244,247,255,
524 15,130,244,247,255,15,131,244,247,255,15,183,67,252,254,141,156,253,131,233,
525 248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
526 238,255,139,108,194,4,131,195,4,255,129,252,253,239,15,133,244,253,129,124,
527 253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,133,244,255,255,
528 15,132,244,255,255,15,183,67,252,254,141,156,253,131,233,248,9,139,3,15,182,
529 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,7,15,135,244,
530 251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255,252,242,15,42,
531 4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251,255,252,242,
532 15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233,244,250,255,
533 129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244,251,255,248,
534 1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,4,202,248,
535 2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138,244,248,15,
536 132,244,247,255,248,1,15,183,67,252,254,141,156,253,131,233,248,2,255,248,
537 2,15,183,67,252,254,141,156,253,131,233,248,1,255,252,233,244,9,255,248,5,
538 255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,244,49,255,
539 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
540 57,193,15,132,244,1,129,252,253,239,15,135,244,2,129,252,253,239,15,130,244,
541 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,
542 49,252,237,255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,
543 15,133,244,9,255,252,233,244,49,255,72,252,247,208,139,108,202,4,131,195,
544 4,129,252,253,239,15,133,244,249,139,12,202,65,59,12,135,255,139,108,202,
545 4,131,195,4,255,129,252,253,239,15,133,244,253,65,129,124,253,199,4,239,15,
546 133,244,254,65,139,44,199,59,44,202,255,15,183,67,252,254,141,156,253,131,
547 233,248,9,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
548 252,238,248,7,15,135,244,249,65,129,124,253,199,4,239,15,130,244,247,255,
549 252,242,65,15,42,4,199,255,65,219,4,199,255,252,233,244,248,248,8,255,252,
550 242,15,42,4,202,102,65,15,46,4,199,255,219,4,202,65,221,4,199,255,129,252,
551 253,239,15,131,244,249,255,248,1,252,242,65,15,16,4,199,248,2,102,15,46,4,
552 202,248,4,255,248,1,65,221,4,199,248,2,221,4,202,248,4,255,72,252,247,208,
553 139,108,202,4,131,195,4,57,197,255,15,133,244,249,15,183,67,252,254,141,156,
554 253,131,233,248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,
555 255,36,252,238,248,3,129,252,253,239,15,133,244,2,252,233,244,49,255,15,132,
556 244,248,129,252,253,239,15,132,244,49,15,183,67,252,254,141,156,253,131,233,
557 248,2,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
558 238,255,139,108,194,4,131,195,4,129,252,253,239,255,137,108,202,4,139,44,
559 194,137,44,202,255,72,139,44,194,72,137,44,202,139,3,15,182,204,15,182,232,
560 131,195,4,193,232,16,65,252,255,36,252,238,255,49,252,237,129,124,253,194,
561 4,239,129,213,239,137,108,202,4,139,3,15,182,204,15,182,232,131,195,4,193,
562 232,16,65,252,255,36,252,238,255,129,124,253,194,4,239,15,133,244,251,139,
563 44,194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,3,
564 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,199,
565 68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,54,255,
566 129,124,253,194,4,239,15,131,244,54,255,252,242,15,16,4,194,72,184,237,237,
567 102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,221,4,194,217,224,221,
568 28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,128,233,
569 248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,233,248,
570 1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,3,15,182,204,
571 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,124,253,194,
572 4,239,15,133,244,57,139,60,194,255,139,175,233,131,252,253,0,15,133,244,255,
573 248,3,255,248,58,137,213,232,251,1,21,255,252,242,15,42,192,255,137,252,234,
574 15,182,75,252,253,252,233,244,1,255,248,9,252,246,133,233,235,15,133,244,
575 3,252,233,244,57,255,15,182,252,236,15,182,192,255,129,124,253,252,234,4,
576 239,15,133,244,51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,65,
577 3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,65,129,
578 124,253,199,4,239,15,133,244,53,65,139,4,199,3,4,252,234,15,128,244,52,255,
579 129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239,15,133,244,
580 56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,237,255,129,124,
581 253,252,234,4,239,15,131,244,51,255,65,129,124,253,199,4,239,15,131,244,51,
582 255,252,242,15,16,4,252,234,252,242,65,15,88,4,199,255,221,4,252,234,65,220,
583 4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,65,129,124,253,199,
584 4,239,15,131,244,53,255,252,242,65,15,16,4,199,252,242,15,88,4,252,234,255,
585 65,221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,
586 124,253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,
587 4,194,255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,
588 51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,65,43,44,199,15,
589 128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,65,129,124,253,199,
590 4,239,15,133,244,53,65,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,
591 252,234,4,239,15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,
592 234,43,44,194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,65,15,92,
593 4,199,255,221,4,252,234,65,220,36,199,255,252,242,65,15,16,4,199,252,242,
594 15,92,4,252,234,255,65,221,4,199,220,36,252,234,255,252,242,15,16,4,252,234,
595 252,242,15,92,4,194,255,221,4,252,234,220,36,194,255,129,124,253,252,234,
596 4,239,15,133,244,51,65,129,124,253,199,4,239,15,133,244,51,139,44,252,234,
597 65,15,175,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,133,244,53,
598 65,129,124,253,199,4,239,15,133,244,53,65,139,4,199,15,175,4,252,234,15,128,
599 244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239,
600 15,133,244,56,139,44,252,234,15,175,44,194,15,128,244,55,255,252,242,15,16,
601 4,252,234,252,242,65,15,89,4,199,255,221,4,252,234,65,220,12,199,255,252,
602 242,65,15,16,4,199,252,242,15,89,4,252,234,255,65,221,4,199,220,12,252,234,
603 255,252,242,15,16,4,252,234,252,242,15,89,4,194,255,221,4,252,234,220,12,
604 194,255,252,242,15,16,4,252,234,252,242,65,15,94,4,199,255,221,4,252,234,
605 65,220,52,199,255,252,242,65,15,16,4,199,252,242,15,94,4,252,234,255,65,221,
606 4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,15,94,4,194,255,
607 221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,242,65,15,16,12,
608 199,255,221,4,252,234,65,221,4,199,255,252,242,65,15,16,4,199,252,242,15,
609 16,12,252,234,255,65,221,4,199,221,4,252,234,255,252,242,15,16,4,252,234,
610 252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,157,
611 255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,139,124,
612 36,24,137,151,233,141,52,194,137,194,41,252,234,248,36,137,252,253,137,92,
613 36,28,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,107,252,255,15,
614 182,75,252,253,72,139,4,252,234,72,137,4,202,139,3,15,182,204,15,182,232,
615 131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,208,65,139,4,135,
616 199,68,202,4,237,137,4,202,139,3,15,182,204,15,182,232,131,195,4,193,232,
617 16,65,252,255,36,252,238,255,15,191,192,199,68,202,4,237,137,4,202,255,15,
618 191,192,252,242,15,42,192,252,242,15,17,4,202,255,223,67,252,254,221,28,202,
619 255,252,242,65,15,16,4,199,252,242,15,17,4,202,255,65,221,4,199,221,28,202,
620 255,72,252,247,208,137,68,202,4,139,3,15,182,204,15,182,232,131,195,4,193,
621 232,16,65,252,255,36,252,238,255,141,76,202,12,141,68,194,4,189,237,137,105,
622 252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,3,15,182,204,15,182,
623 232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,
624 253,133,233,139,173,233,72,139,69,0,72,137,4,202,139,3,15,182,204,15,182,
625 232,131,195,4,193,232,16,65,252,255,36,252,238,255,139,106,252,248,139,172,
626 253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,
627 69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,
628 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,129,232,239,
629 129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,137,252,238,
630 137,213,65,141,190,233,255,232,251,1,30,137,252,234,252,233,244,1,255,72,
631 252,247,208,139,106,252,248,139,172,253,141,233,65,139,12,135,139,133,233,
632 137,8,199,64,4,237,252,246,133,233,235,15,133,244,248,248,1,139,3,15,182,
633 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,252,246,129,
634 233,235,15,132,244,1,128,189,233,0,15,132,244,1,137,213,137,198,65,141,190,
635 233,232,251,1,30,137,252,234,252,233,244,1,255,139,106,252,248,255,252,242,
636 65,15,16,4,199,255,139,172,253,141,233,139,141,233,255,252,242,15,17,1,255,
637 221,25,255,72,252,247,208,139,106,252,248,139,172,253,141,233,139,141,233,
638 137,65,4,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
639 238,255,141,156,253,131,233,139,108,36,24,131,189,233,0,15,132,244,247,137,
640 149,233,141,52,202,137,252,239,232,251,1,31,139,149,233,248,1,139,3,15,182,
641 204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,255,72,252,247,
642 208,139,108,36,24,137,149,233,139,82,252,248,65,139,52,135,137,252,239,137,
643 92,36,28,232,251,1,32,139,149,233,15,182,75,252,253,137,4,202,199,68,202,
644 4,237,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
645 238,255,139,108,36,24,137,149,233,65,139,142,233,65,59,142,233,137,92,36,
646 28,15,131,244,251,248,1,137,194,37,252,255,7,0,0,193,252,234,11,61,252,255,
647 7,0,0,15,132,244,249,248,2,137,252,239,137,198,232,251,1,33,139,149,233,15,
648 182,75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,
649 195,4,193,232,16,65,252,255,36,252,238,248,3,184,1,8,0,0,252,233,244,2,248,
650 5,137,252,239,232,251,1,34,15,183,67,252,254,252,233,244,1,255,72,252,247,
651 208,139,108,36,24,65,139,142,233,137,92,36,28,65,59,142,233,137,149,233,15,
652 131,244,249,248,2,65,139,52,135,137,252,239,232,251,1,35,139,149,233,15,182,
653 75,252,253,137,4,202,199,68,202,4,237,139,3,15,182,204,15,182,232,131,195,
654 4,193,232,16,65,252,255,36,252,238,248,3,137,252,239,232,251,1,34,15,183,
655 67,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,252,248,
656 139,173,233,65,139,4,135,252,233,244,169,255,72,252,247,208,139,106,252,248,
657 139,173,233,65,139,4,135,252,233,244,170,255,15,182,252,236,15,182,192,129,
658 124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,129,124,253,194,4,
659 239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
660 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
661 15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,
662 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,
663 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
664 244,249,139,141,233,252,246,129,233,235,15,132,244,39,15,182,75,252,253,248,
665 3,199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
666 39,139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,72,252,247,208,
667 65,139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,
668 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
669 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
670 67,252,253,72,139,41,72,137,44,194,248,2,255,139,3,15,182,204,15,182,232,
671 131,195,4,193,232,16,65,252,255,36,252,238,248,3,15,182,67,252,253,199,68,
672 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
673 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
674 37,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,
675 139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,
676 239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,3,15,182,204,15,182,
677 232,131,195,4,193,232,16,65,252,255,36,252,238,248,2,131,189,233,0,15,132,
678 244,249,139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,75,252,253,
679 248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,
680 253,252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,42,255,59,133,
681 233,15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,
682 1,252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,3,
683 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,3,131,
684 189,233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,42,
685 15,182,75,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,42,
686 139,4,194,252,233,244,170,248,7,128,165,233,235,65,139,142,233,65,137,174,
687 233,137,141,233,15,182,75,252,253,252,233,244,2,255,15,182,252,236,15,182,
688 192,72,252,247,208,65,139,4,135,129,124,253,252,234,4,239,15,133,244,40,139,
689 44,252,234,248,170,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,
690 233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,
691 253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,
692 3,15,182,67,252,253,72,139,44,194,72,137,41,139,3,15,182,204,15,182,232,131,
693 195,4,193,232,16,65,252,255,36,252,238,248,4,131,189,233,0,15,132,244,2,137,
694 12,36,139,141,233,252,246,129,233,235,15,132,244,40,139,12,36,252,233,244,
695 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
696 252,252,246,129,233,235,15,132,244,40,248,6,137,4,36,199,68,36,4,237,137,
697 108,36,8,139,124,36,24,137,151,233,72,141,20,36,137,252,238,137,252,253,137,
698 92,36,28,232,251,1,36,139,149,233,139,108,36,8,137,193,252,233,244,2,248,
699 7,128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,3,
700 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,
701 44,252,234,59,133,233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,
702 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
703 72,137,8,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
704 238,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
705 15,132,244,41,15,182,75,252,253,252,233,244,1,248,7,128,165,233,235,65,139,
706 142,233,65,137,174,233,137,141,233,15,182,75,252,253,252,233,244,2,255,68,
707 137,60,36,69,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,
708 235,15,133,244,253,248,2,139,68,36,4,131,232,1,15,132,244,250,68,1,252,248,
709 59,133,233,15,135,244,251,68,41,252,248,65,193,231,3,68,3,189,233,248,3,72,
710 139,41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,3,248,4,68,139,
711 60,36,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,
712 238,248,5,139,124,36,24,137,151,233,137,252,238,137,194,137,252,253,137,92,
713 36,28,232,251,1,37,139,149,233,15,182,75,252,253,252,233,244,1,248,7,255,
714 128,165,233,235,65,139,134,233,65,137,174,233,137,133,233,252,233,244,2,255,
715 3,68,36,4,255,129,124,253,202,4,239,139,44,202,15,133,244,59,141,84,202,8,
716 137,90,252,252,139,157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,
717 252,255,36,252,238,255,141,76,202,8,65,137,215,139,105,252,248,129,121,253,
718 252,252,239,15,133,244,29,248,60,139,90,252,252,252,247,195,237,15,133,244,
719 253,248,1,137,106,252,248,137,68,36,4,131,232,1,15,132,244,249,248,2,72,139,
720 41,131,193,8,73,137,47,65,131,199,8,131,232,1,15,133,244,2,139,106,252,248,
721 248,3,139,68,36,4,128,189,233,1,15,135,244,251,248,4,139,157,233,139,11,15,
722 182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,248,5,255,252,247,
723 195,237,15,133,244,4,15,182,75,252,253,72,252,247,209,141,12,202,68,139,121,
724 252,248,69,139,191,233,69,139,191,233,252,233,244,4,248,7,129,252,235,239,
725 252,247,195,237,15,133,244,254,41,218,65,137,215,139,90,252,252,252,233,244,
726 1,248,8,129,195,239,252,233,244,1,255,141,76,202,8,72,139,105,232,72,139,
727 65,252,240,72,137,41,72,137,65,8,139,105,224,139,65,228,137,105,252,248,137,
728 65,252,252,129,252,248,239,184,237,15,133,244,29,137,202,137,90,252,252,139,
729 157,233,139,11,15,182,252,233,15,182,205,131,195,4,65,252,255,36,252,238,
730 255,68,137,60,36,68,137,116,36,4,139,108,202,252,240,139,68,202,252,248,68,
731 139,181,233,131,195,4,68,139,189,233,248,1,68,57,252,240,15,131,244,251,65,
732 129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,255,73,139,44,
733 199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,67,252,
734 254,141,156,253,131,233,248,3,68,139,116,36,4,68,139,60,36,139,3,15,182,204,
735 15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,4,131,192,1,255,
736 137,68,202,252,248,255,252,233,244,1,248,5,68,41,252,240,248,6,59,133,233,
737 15,135,244,3,68,105,252,248,239,68,3,189,233,65,129,191,233,239,15,132,244,
738 253,70,141,116,48,1,73,139,175,233,73,139,135,233,72,137,44,202,72,137,68,
739 202,8,68,137,116,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,
740 255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,
741 202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,
742 128,189,233,235,15,133,244,251,141,156,253,131,233,199,68,202,252,248,0,0,
743 0,0,248,1,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
744 252,238,248,5,198,67,252,252,235,141,156,253,131,233,198,3,235,252,233,244,
745 1,255,15,182,252,236,15,182,192,68,137,60,36,68,141,188,253,194,233,141,12,
746 202,68,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,
747 65,57,215,15,131,244,248,248,1,73,139,71,252,248,65,131,199,8,72,137,1,131,
748 193,8,57,252,233,15,131,244,249,65,57,215,15,130,244,1,248,2,199,65,4,237,
749 131,193,8,57,252,233,15,130,244,2,248,3,68,139,60,36,139,3,15,182,204,15,
750 182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,5,199,68,36,4,1,0,
751 0,0,137,208,68,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,
752 108,36,4,139,108,36,24,1,200,59,133,233,15,135,244,253,248,6,255,73,139,71,
753 252,248,65,131,199,8,72,137,1,131,193,8,65,57,215,15,130,244,6,252,233,244,
754 3,248,7,137,149,233,137,141,233,137,92,36,28,65,41,215,139,116,36,4,131,252,
755 238,1,137,252,239,232,251,1,0,139,149,233,139,141,233,65,1,215,252,233,244,
756 6,255,193,225,3,255,248,1,139,90,252,252,137,68,36,4,252,247,195,237,15,133,
757 244,253,255,248,13,65,137,215,131,232,1,15,132,244,249,248,2,73,139,44,15,
758 73,137,111,252,248,65,131,199,8,131,232,1,15,133,244,2,248,3,139,68,36,4,
759 15,182,107,252,255,248,5,57,197,15,135,244,252,255,72,139,44,10,72,137,106,
760 252,248,255,248,5,56,67,252,255,15,135,244,252,255,15,182,75,252,253,72,252,
761 247,209,141,20,202,68,139,122,252,248,69,139,191,233,69,139,191,233,139,3,
762 15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,252,238,248,6,255,
763 65,199,71,252,252,237,65,131,199,8,255,199,68,194,252,244,237,255,131,192,
764 1,252,233,244,5,248,7,141,171,233,252,247,197,237,15,133,244,14,41,252,234,
765 255,1,252,233,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,
766 238,15,130,244,149,255,141,12,202,255,129,121,253,4,239,15,133,244,255,255,
767 129,121,253,12,239,15,133,244,61,129,121,253,20,239,15,133,244,61,139,41,
768 131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,244,165,129,121,
769 253,20,239,15,133,244,165,255,139,105,16,133,252,237,15,136,244,251,3,41,
770 15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,255,15,142,244,
771 253,248,1,248,6,141,156,253,131,233,255,141,156,253,131,233,15,183,67,252,
772 254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,156,253,131,233,248,
773 1,255,248,7,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
774 252,238,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,255,141,156,253,
775 131,233,15,183,67,252,254,15,141,245,255,15,140,244,7,255,252,233,244,6,248,
776 9,255,129,121,253,4,239,255,15,131,244,61,129,121,253,12,239,15,131,244,61,
777 255,129,121,253,12,239,15,131,244,165,129,121,253,20,239,15,131,244,165,255,
778 139,105,20,255,129,252,253,239,15,131,244,61,255,252,242,15,16,1,252,242,
779 15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,237,15,136,244,
780 249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,17,65,24,255,221,
781 65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,136,244,247,255,
782 221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,67,252,254,255,15,131,
783 244,7,255,15,131,244,248,141,156,253,131,233,255,141,156,253,131,233,15,183,
784 67,252,254,15,131,245,255,15,130,244,7,255,15,130,244,248,141,156,253,131,
785 233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,202,139,105,4,129,252,
786 253,239,15,132,244,247,255,137,105,252,252,139,41,137,105,252,248,252,233,
787 245,255,141,156,253,131,233,139,1,137,105,252,252,137,65,252,248,255,65,139,
788 142,233,139,4,129,72,139,128,233,139,108,36,24,65,137,150,233,65,137,174,
789 233,76,137,36,36,76,137,108,36,8,72,131,252,236,16,252,255,224,255,141,156,
790 253,131,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,36,
791 252,238,255,137,221,209,252,237,129,229,239,102,65,129,172,253,46,233,238,
792 15,130,244,151,255,68,139,187,233,139,108,36,24,141,12,202,59,141,233,15,
793 135,244,24,15,182,139,233,57,200,15,134,244,249,248,2,255,15,183,67,252,254,
794 252,233,245,255,248,3,199,68,194,252,252,237,131,192,1,57,200,15,134,244,
795 3,252,233,244,2,255,141,44,197,237,141,4,194,68,139,122,252,248,137,104,252,
796 252,68,137,120,252,248,139,108,36,24,141,12,200,59,141,233,15,135,244,23,
797 137,209,137,194,15,182,171,233,133,252,237,15,132,244,248,248,1,131,193,8,
798 57,209,15,131,244,249,68,139,121,252,248,68,137,56,68,139,121,252,252,68,
799 137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,244,1,248,2,255,
800 68,139,187,233,139,3,15,182,204,15,182,232,131,195,4,193,232,16,65,252,255,
801 36,252,238,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,3,252,
802 233,244,2,255,139,106,252,248,76,139,189,233,139,108,36,24,141,68,194,252,
803 248,137,149,233,141,136,233,59,141,233,137,133,233,255,76,137,252,254,137,
804 252,239,255,15,135,244,22,65,199,134,233,237,255,65,252,255,215,255,65,252,
805 255,150,233,255,65,199,134,233,237,139,149,233,141,12,194,252,247,217,3,141,
806 233,139,90,252,252,252,233,244,12,255,254,0
807};
808
809enum {
810 GLOB_vm_returnp,
811 GLOB_cont_dispatch,
812 GLOB_vm_returnc,
813 GLOB_BC_RET_Z,
814 GLOB_vm_return,
815 GLOB_vm_leave_cp,
816 GLOB_vm_leave_unw,
817 GLOB_vm_unwind_c,
818 GLOB_vm_unwind_c_eh,
819 GLOB_vm_unwind_rethrow,
820 GLOB_vm_unwind_ff,
821 GLOB_vm_unwind_ff_eh,
822 GLOB_vm_growstack_c,
823 GLOB_vm_growstack_v,
824 GLOB_vm_growstack_f,
825 GLOB_vm_resume,
826 GLOB_vm_pcall,
827 GLOB_vm_call,
828 GLOB_vm_call_dispatch,
829 GLOB_vmeta_call,
830 GLOB_vm_call_dispatch_f,
831 GLOB_vm_cpcall,
832 GLOB_cont_ffi_callback,
833 GLOB_vm_call_tail,
834 GLOB_cont_cat,
835 GLOB_cont_ra,
836 GLOB_BC_CAT_Z,
837 GLOB_vmeta_tgets,
838 GLOB_vmeta_tgetb,
839 GLOB_vmeta_tgetv,
840 GLOB_vmeta_tsets,
841 GLOB_vmeta_tsetb,
842 GLOB_vmeta_tsetv,
843 GLOB_cont_nop,
844 GLOB_vmeta_comp,
845 GLOB_vmeta_binop,
846 GLOB_cont_condt,
847 GLOB_cont_condf,
848 GLOB_vmeta_equal,
849 GLOB_vmeta_equal_cd,
850 GLOB_vmeta_arith_vno,
851 GLOB_vmeta_arith_vn,
852 GLOB_vmeta_arith_nvo,
853 GLOB_vmeta_arith_nv,
854 GLOB_vmeta_unm,
855 GLOB_vmeta_arith_vvo,
856 GLOB_vmeta_arith_vv,
857 GLOB_vmeta_len,
858 GLOB_BC_LEN_Z,
859 GLOB_vmeta_call_ra,
860 GLOB_BC_CALLT_Z,
861 GLOB_vmeta_for,
862 GLOB_ff_assert,
863 GLOB_fff_fallback,
864 GLOB_fff_res_,
865 GLOB_ff_type,
866 GLOB_fff_res1,
867 GLOB_ff_getmetatable,
868 GLOB_ff_setmetatable,
869 GLOB_ff_rawget,
870 GLOB_ff_tonumber,
871 GLOB_fff_resi,
872 GLOB_fff_resxmm0,
873 GLOB_fff_resn,
874 GLOB_ff_tostring,
875 GLOB_fff_gcstep,
876 GLOB_ff_next,
877 GLOB_fff_res2,
878 GLOB_fff_res,
879 GLOB_ff_pairs,
880 GLOB_ff_ipairs_aux,
881 GLOB_fff_res0,
882 GLOB_ff_ipairs,
883 GLOB_ff_pcall,
884 GLOB_ff_xpcall,
885 GLOB_ff_coroutine_resume,
886 GLOB_ff_coroutine_wrap_aux,
887 GLOB_ff_coroutine_yield,
888 GLOB_ff_math_abs,
889 GLOB_fff_resbit,
890 GLOB_ff_math_floor,
891 GLOB_vm_floor,
892 GLOB_ff_math_ceil,
893 GLOB_vm_ceil,
894 GLOB_ff_math_sqrt,
895 GLOB_ff_math_log,
896 GLOB_ff_math_log10,
897 GLOB_ff_math_exp,
898 GLOB_vm_exp_x87,
899 GLOB_ff_math_sin,
900 GLOB_ff_math_cos,
901 GLOB_ff_math_tan,
902 GLOB_ff_math_asin,
903 GLOB_ff_math_acos,
904 GLOB_ff_math_atan,
905 GLOB_ff_math_sinh,
906 GLOB_ff_math_cosh,
907 GLOB_ff_math_tanh,
908 GLOB_ff_math_deg,
909 GLOB_ff_math_rad,
910 GLOB_ff_math_atan2,
911 GLOB_ff_math_ldexp,
912 GLOB_ff_math_frexp,
913 GLOB_ff_math_modf,
914 GLOB_vm_trunc,
915 GLOB_ff_math_fmod,
916 GLOB_ff_math_pow,
917 GLOB_vm_pow,
918 GLOB_ff_math_min,
919 GLOB_ff_math_max,
920 GLOB_ff_string_len,
921 GLOB_ff_string_byte,
922 GLOB_ff_string_char,
923 GLOB_fff_newstr,
924 GLOB_ff_string_sub,
925 GLOB_fff_emptystr,
926 GLOB_ff_string_rep,
927 GLOB_fff_fallback_2,
928 GLOB_ff_string_reverse,
929 GLOB_fff_fallback_1,
930 GLOB_ff_string_lower,
931 GLOB_ff_string_upper,
932 GLOB_ff_table_getn,
933 GLOB_ff_bit_tobit,
934 GLOB_ff_bit_band,
935 GLOB_fff_fallback_bit_op,
936 GLOB_ff_bit_bor,
937 GLOB_ff_bit_bxor,
938 GLOB_ff_bit_bswap,
939 GLOB_ff_bit_bnot,
940 GLOB_ff_bit_lshift,
941 GLOB_ff_bit_rshift,
942 GLOB_ff_bit_arshift,
943 GLOB_ff_bit_rol,
944 GLOB_ff_bit_ror,
945 GLOB_vm_record,
946 GLOB_vm_rethook,
947 GLOB_vm_inshook,
948 GLOB_cont_hook,
949 GLOB_vm_hotloop,
950 GLOB_vm_callhook,
951 GLOB_vm_hotcall,
952 GLOB_vm_exit_handler,
953 GLOB_vm_exit_interp,
954 GLOB_vm_floor_sse,
955 GLOB_vm_ceil_sse,
956 GLOB_vm_trunc_sse,
957 GLOB_vm_mod,
958 GLOB_vm_exp2_x87,
959 GLOB_vm_exp2raw,
960 GLOB_vm_pow_sse,
961 GLOB_vm_powi_sse,
962 GLOB_vm_foldfpm,
963 GLOB_vm_foldarith,
964 GLOB_vm_cpuid,
965 GLOB_assert_bad_for_arg_type,
966 GLOB_vm_ffi_callback,
967 GLOB_vm_ffi_call,
968 GLOB_BC_MODVN_Z,
969 GLOB_BC_TGETS_Z,
970 GLOB_BC_TSETS_Z,
971 GLOB__MAX
972};
973static const char *const globnames[] = {
974 "vm_returnp",
975 "cont_dispatch",
976 "vm_returnc",
977 "BC_RET_Z",
978 "vm_return",
979 "vm_leave_cp",
980 "vm_leave_unw",
981 "vm_unwind_c@8",
982 "vm_unwind_c_eh",
983 "vm_unwind_rethrow",
984 "vm_unwind_ff@4",
985 "vm_unwind_ff_eh",
986 "vm_growstack_c",
987 "vm_growstack_v",
988 "vm_growstack_f",
989 "vm_resume",
990 "vm_pcall",
991 "vm_call",
992 "vm_call_dispatch",
993 "vmeta_call",
994 "vm_call_dispatch_f",
995 "vm_cpcall",
996 "cont_ffi_callback",
997 "vm_call_tail",
998 "cont_cat",
999 "cont_ra",
1000 "BC_CAT_Z",
1001 "vmeta_tgets",
1002 "vmeta_tgetb",
1003 "vmeta_tgetv",
1004 "vmeta_tsets",
1005 "vmeta_tsetb",
1006 "vmeta_tsetv",
1007 "cont_nop",
1008 "vmeta_comp",
1009 "vmeta_binop",
1010 "cont_condt",
1011 "cont_condf",
1012 "vmeta_equal",
1013 "vmeta_equal_cd",
1014 "vmeta_arith_vno",
1015 "vmeta_arith_vn",
1016 "vmeta_arith_nvo",
1017 "vmeta_arith_nv",
1018 "vmeta_unm",
1019 "vmeta_arith_vvo",
1020 "vmeta_arith_vv",
1021 "vmeta_len",
1022 "BC_LEN_Z",
1023 "vmeta_call_ra",
1024 "BC_CALLT_Z",
1025 "vmeta_for",
1026 "ff_assert",
1027 "fff_fallback",
1028 "fff_res_",
1029 "ff_type",
1030 "fff_res1",
1031 "ff_getmetatable",
1032 "ff_setmetatable",
1033 "ff_rawget",
1034 "ff_tonumber",
1035 "fff_resi",
1036 "fff_resxmm0",
1037 "fff_resn",
1038 "ff_tostring",
1039 "fff_gcstep",
1040 "ff_next",
1041 "fff_res2",
1042 "fff_res",
1043 "ff_pairs",
1044 "ff_ipairs_aux",
1045 "fff_res0",
1046 "ff_ipairs",
1047 "ff_pcall",
1048 "ff_xpcall",
1049 "ff_coroutine_resume",
1050 "ff_coroutine_wrap_aux",
1051 "ff_coroutine_yield",
1052 "ff_math_abs",
1053 "fff_resbit",
1054 "ff_math_floor",
1055 "vm_floor",
1056 "ff_math_ceil",
1057 "vm_ceil",
1058 "ff_math_sqrt",
1059 "ff_math_log",
1060 "ff_math_log10",
1061 "ff_math_exp",
1062 "vm_exp_x87",
1063 "ff_math_sin",
1064 "ff_math_cos",
1065 "ff_math_tan",
1066 "ff_math_asin",
1067 "ff_math_acos",
1068 "ff_math_atan",
1069 "ff_math_sinh",
1070 "ff_math_cosh",
1071 "ff_math_tanh",
1072 "ff_math_deg",
1073 "ff_math_rad",
1074 "ff_math_atan2",
1075 "ff_math_ldexp",
1076 "ff_math_frexp",
1077 "ff_math_modf",
1078 "vm_trunc",
1079 "ff_math_fmod",
1080 "ff_math_pow",
1081 "vm_pow",
1082 "ff_math_min",
1083 "ff_math_max",
1084 "ff_string_len",
1085 "ff_string_byte",
1086 "ff_string_char",
1087 "fff_newstr",
1088 "ff_string_sub",
1089 "fff_emptystr",
1090 "ff_string_rep",
1091 "fff_fallback_2",
1092 "ff_string_reverse",
1093 "fff_fallback_1",
1094 "ff_string_lower",
1095 "ff_string_upper",
1096 "ff_table_getn",
1097 "ff_bit_tobit",
1098 "ff_bit_band",
1099 "fff_fallback_bit_op",
1100 "ff_bit_bor",
1101 "ff_bit_bxor",
1102 "ff_bit_bswap",
1103 "ff_bit_bnot",
1104 "ff_bit_lshift",
1105 "ff_bit_rshift",
1106 "ff_bit_arshift",
1107 "ff_bit_rol",
1108 "ff_bit_ror",
1109 "vm_record",
1110 "vm_rethook",
1111 "vm_inshook",
1112 "cont_hook",
1113 "vm_hotloop",
1114 "vm_callhook",
1115 "vm_hotcall",
1116 "vm_exit_handler",
1117 "vm_exit_interp",
1118 "vm_floor_sse",
1119 "vm_ceil_sse",
1120 "vm_trunc_sse",
1121 "vm_mod",
1122 "vm_exp2_x87",
1123 "vm_exp2raw",
1124 "vm_pow_sse",
1125 "vm_powi_sse",
1126 "vm_foldfpm",
1127 "vm_foldarith",
1128 "vm_cpuid",
1129 "assert_bad_for_arg_type",
1130 "vm_ffi_callback",
1131 "vm_ffi_call@4",
1132 "BC_MODVN_Z",
1133 "BC_TGETS_Z",
1134 "BC_TSETS_Z",
1135 (const char *)0
1136};
1137static const char *const extnames[] = {
1138 "lj_state_growstack@8",
1139 "lj_err_throw@8",
1140 "lj_meta_tget",
1141 "lj_meta_tset",
1142 "lj_meta_comp",
1143 "lj_meta_equal",
1144 "lj_meta_equal_cd@8",
1145 "lj_meta_arith",
1146 "lj_meta_len@8",
1147 "lj_meta_call",
1148 "lj_meta_for@8",
1149 "lj_tab_get",
1150 "lj_str_fromnumber@8",
1151 "lj_str_fromnum@8",
1152 "lj_tab_next",
1153 "lj_tab_getinth@8",
1154 "lj_ffh_coroutine_wrap_err@8",
1155 "lj_vm_sinh",
1156 "lj_vm_cosh",
1157 "lj_vm_tanh",
1158 "lj_str_new",
1159 "lj_tab_len@4",
1160 "lj_gc_step@4",
1161 "lj_dispatch_ins@8",
1162 "lj_trace_hot@8",
1163 "lj_dispatch_call@8",
1164 "lj_trace_exit@8",
1165 "lj_ccallback_enter@8",
1166 "lj_ccallback_leave@8",
1167 "lj_meta_cat",
1168 "lj_gc_barrieruv@8",
1169 "lj_func_closeuv@8",
1170 "lj_func_newL_gc",
1171 "lj_tab_new",
1172 "lj_gc_step_fixtop@4",
1173 "lj_tab_dup@8",
1174 "lj_tab_newkey",
1175 "lj_tab_reasize",
1176 (const char *)0
1177};
1178#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
1179#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
1180#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
1181#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
1182#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
1183#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
1184#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
1185#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
1186#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
1187#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
1188#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
1189#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
1190#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
1191#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
1192#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
1193#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
1194
1195/* Generate subroutines used by opcodes and other parts of the VM. */
1196/* The .code_sub section should be last to help static branch prediction. */
1197static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1198{
1199 dasm_put(Dst, 0);
1200 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1201 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1202 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
1203 dasm_put(Dst, 302, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1204 dasm_put(Dst, 385, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1205 dasm_put(Dst, 548, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1206 dasm_put(Dst, 648, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1207#if LJ_HASFFI
1208 dasm_put(Dst, 813);
1209#endif
1210 dasm_put(Dst, 822, 0);
1211#if LJ_HASFFI
1212#endif
1213 dasm_put(Dst, 831, Dt7(->pc), PC2PROTO(k));
1214#if LJ_HASFFI
1215 dasm_put(Dst, 848);
1216#endif
1217 dasm_put(Dst, 869, Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1218 if (LJ_DUALNUM) {
1219 dasm_put(Dst, 967, LJ_TISNUM);
1220 } else if (sse) {
1221 dasm_put(Dst, 976);
1222 } else {
1223 }
1224 dasm_put(Dst, 988, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1225 dasm_put(Dst, 1134, DISPATCH_GL(tmptv), LJ_TTAB);
1226 if (LJ_DUALNUM) {
1227 dasm_put(Dst, 967, LJ_TISNUM);
1228 } else if (sse) {
1229 dasm_put(Dst, 976);
1230 } else {
1231 }
1232 dasm_put(Dst, 1158, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1233 dasm_put(Dst, 1330, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1234 dasm_put(Dst, 1429);
1235#if LJ_HASFFI
1236 dasm_put(Dst, 1449, Dt1(->base));
1237#endif
1238 dasm_put(Dst, 1480);
1239#if LJ_DUALNUM
1240 dasm_put(Dst, 1483);
1241#endif
1242 dasm_put(Dst, 1489);
1243#if LJ_DUALNUM
1244 dasm_put(Dst, 961);
1245#endif
1246 dasm_put(Dst, 1502);
1247#if LJ_DUALNUM
1248 dasm_put(Dst, 1483);
1249#endif
1250 dasm_put(Dst, 1531, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
1251#ifdef LUAJIT_ENABLE_LUA52COMPAT
1252 dasm_put(Dst, 1633);
1253#else
1254 dasm_put(Dst, 1652);
1255#endif
1256 dasm_put(Dst, 1657, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1257 dasm_put(Dst, 1843, 1+1, ~LJ_TNUMX);
1258 if (cmov) {
1259 dasm_put(Dst, 1912);
1260 } else {
1261 dasm_put(Dst, 1916);
1262 }
1263 dasm_put(Dst, 1925, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1264 dasm_put(Dst, 2004, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1265 dasm_put(Dst, 2062, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1266 dasm_put(Dst, 2128, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1267 dasm_put(Dst, 2199, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB);
1268 dasm_put(Dst, 2289, 1+1, LJ_TISNUM);
1269 if (LJ_DUALNUM) {
1270 dasm_put(Dst, 2303);
1271 } else {
1272 dasm_put(Dst, 2320);
1273 }
1274 if (sse) {
1275 dasm_put(Dst, 2325);
1276 } else {
1277 dasm_put(Dst, 2335);
1278 }
1279 dasm_put(Dst, 2342, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1280 dasm_put(Dst, 2411, Dt1(->base));
1281 if (LJ_DUALNUM) {
1282 dasm_put(Dst, 2437);
1283 } else {
1284 dasm_put(Dst, 2442);
1285 }
1286 dasm_put(Dst, 2447, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1287 dasm_put(Dst, 2539, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1288#ifdef LUAJIT_ENABLE_LUA52COMPAT
1289 dasm_put(Dst, 2586, Dt6(->metatable));
1290#endif
1291 dasm_put(Dst, 2595, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1292 if (LJ_DUALNUM) {
1293 dasm_put(Dst, 2581);
1294 } else {
1295 dasm_put(Dst, 2320);
1296 }
1297 dasm_put(Dst, 2650);
1298 if (LJ_DUALNUM) {
1299 dasm_put(Dst, 2655, LJ_TISNUM);
1300 } else if (sse) {
1301 dasm_put(Dst, 2671, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1302 } else {
1303 }
1304 dasm_put(Dst, 2704, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1305 dasm_put(Dst, 2566, 1+1, LJ_TTAB);
1306#ifdef LUAJIT_ENABLE_LUA52COMPAT
1307 dasm_put(Dst, 2586, Dt6(->metatable));
1308#endif
1309 dasm_put(Dst, 2781, Dt8(->upvalue[0]), LJ_TFUNC);
1310 if (LJ_DUALNUM) {
1311 dasm_put(Dst, 2802, LJ_TISNUM);
1312 } else if (sse) {
1313 dasm_put(Dst, 2814);
1314 } else {
1315 dasm_put(Dst, 2824);
1316 }
1317 dasm_put(Dst, 2831, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1318 dasm_put(Dst, 2896, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1319 dasm_put(Dst, 2985, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1320 dasm_put(Dst, 3072, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1321 dasm_put(Dst, 3187, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1322 dasm_put(Dst, 3282, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1323 dasm_put(Dst, 3348, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1324 dasm_put(Dst, 3437, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1325 dasm_put(Dst, 3547, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1326 if (!LJ_DUALNUM) {
1327 dasm_put(Dst, 3574);
1328 }
1329 if (sse) {
1330 dasm_put(Dst, 3577);
1331 }
1332 dasm_put(Dst, 3592, 1+1);
1333 if (LJ_DUALNUM) {
1334 dasm_put(Dst, 3603, LJ_TISNUM, LJ_TISNUM);
1335 } else {
1336 dasm_put(Dst, 3683, LJ_TISNUM);
1337 }
1338 if (sse) {
1339 dasm_put(Dst, 3693, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1340 } else {
1341 dasm_put(Dst, 3724);
1342 }
1343 dasm_put(Dst, 3741, 1+1, FRAME_TYPE, LJ_TNIL);
1344 if (LJ_DUALNUM) {
1345 dasm_put(Dst, 3838, LJ_TISNUM);
1346 } else {
1347 dasm_put(Dst, 3683, LJ_TISNUM);
1348 }
1349 if (sse) {
1350 dasm_put(Dst, 3860);
1351 if (LJ_DUALNUM) {
1352 dasm_put(Dst, 3869);
1353 }
1354 dasm_put(Dst, 2330);
1355 } else {
1356 dasm_put(Dst, 3903);
1357 if (LJ_DUALNUM) {
1358 } else {
1359 dasm_put(Dst, 2337);
1360 }
1361 }
1362 dasm_put(Dst, 3909);
1363 if (LJ_DUALNUM) {
1364 dasm_put(Dst, 3838, LJ_TISNUM);
1365 } else {
1366 dasm_put(Dst, 3683, LJ_TISNUM);
1367 }
1368 if (sse) {
1369 dasm_put(Dst, 3912);
1370 if (LJ_DUALNUM) {
1371 dasm_put(Dst, 3869);
1372 }
1373 dasm_put(Dst, 2330);
1374 } else {
1375 dasm_put(Dst, 3921);
1376 if (LJ_DUALNUM) {
1377 } else {
1378 dasm_put(Dst, 2337);
1379 }
1380 }
1381 if (sse) {
1382 dasm_put(Dst, 3927, 1+1, LJ_TISNUM);
1383 } else {
1384 dasm_put(Dst, 3956, 1+1, LJ_TISNUM);
1385 }
1386 dasm_put(Dst, 3985, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1387 dasm_put(Dst, 4054, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1388 dasm_put(Dst, 4111, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1389 dasm_put(Dst, 4174, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1390 dasm_put(Dst, 4264);
1391 if (sse) {
1392 dasm_put(Dst, 4276, 1+1, LJ_TISNUM);
1393 } else {
1394 }
1395 dasm_put(Dst, 4301);
1396 if (sse) {
1397 dasm_put(Dst, 4315, 1+1, LJ_TISNUM);
1398 } else {
1399 }
1400 dasm_put(Dst, 4340);
1401 if (sse) {
1402 dasm_put(Dst, 4354, 1+1, LJ_TISNUM);
1403 } else {
1404 }
1405 dasm_put(Dst, 4379);
1406 if (sse) {
1407 dasm_put(Dst, 4395, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1408 } else {
1409 dasm_put(Dst, 4434, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1410 }
1411 dasm_put(Dst, 4467, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1412 dasm_put(Dst, 4532, 1+1, LJ_TISNUM);
1413 if (sse) {
1414 dasm_put(Dst, 4631);
1415 } else {
1416 dasm_put(Dst, 4637);
1417 }
1418 dasm_put(Dst, 4644);
1419 if (sse) {
1420 dasm_put(Dst, 4669);
1421 } else {
1422 dasm_put(Dst, 4675);
1423 }
1424 dasm_put(Dst, 4678, 1+2);
1425 if (sse) {
1426 dasm_put(Dst, 4687);
1427 } else {
1428 dasm_put(Dst, 4695);
1429 }
1430 dasm_put(Dst, 4703);
1431 if (sse) {
1432 dasm_put(Dst, 4706, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1433 } else {
1434 dasm_put(Dst, 4733);
1435 }
1436 dasm_put(Dst, 4750);
1437 if (sse) {
1438 dasm_put(Dst, 4766, 1+1, LJ_TISNUM);
1439 } else {
1440 dasm_put(Dst, 4791, 1+1, LJ_TISNUM);
1441 }
1442 dasm_put(Dst, 4813);
1443 if (sse) {
1444 dasm_put(Dst, 4835);
1445 } else {
1446 dasm_put(Dst, 4861);
1447 }
1448 dasm_put(Dst, 4878, 1+2);
1449 if (sse) {
1450 dasm_put(Dst, 4918);
1451 } else {
1452 dasm_put(Dst, 4926);
1453 }
1454 dasm_put(Dst, 4936, 2+1, LJ_TISNUM, LJ_TISNUM);
1455 if (sse) {
1456 dasm_put(Dst, 4988, 2+1, LJ_TISNUM, LJ_TISNUM);
1457 } else {
1458 dasm_put(Dst, 5035, 2+1, LJ_TISNUM, LJ_TISNUM);
1459 }
1460 dasm_put(Dst, 5076, LJ_TISNUM);
1461 if (LJ_DUALNUM) {
1462 dasm_put(Dst, 5089, LJ_TISNUM);
1463 if (sse) {
1464 dasm_put(Dst, 4631);
1465 } else {
1466 }
1467 dasm_put(Dst, 5139);
1468 } else {
1469 dasm_put(Dst, 2320);
1470 }
1471 if (sse) {
1472 dasm_put(Dst, 5150, LJ_TISNUM);
1473 if (LJ_DUALNUM) {
1474 dasm_put(Dst, 5171);
1475 } else {
1476 dasm_put(Dst, 2320);
1477 }
1478 dasm_put(Dst, 5192);
1479 } else {
1480 }
1481 dasm_put(Dst, 5217, LJ_TISNUM);
1482 if (LJ_DUALNUM) {
1483 dasm_put(Dst, 5230, LJ_TISNUM);
1484 if (sse) {
1485 dasm_put(Dst, 4631);
1486 } else {
1487 }
1488 dasm_put(Dst, 5139);
1489 } else {
1490 dasm_put(Dst, 2320);
1491 }
1492 if (sse) {
1493 dasm_put(Dst, 5150, LJ_TISNUM);
1494 if (LJ_DUALNUM) {
1495 dasm_put(Dst, 5171);
1496 } else {
1497 dasm_put(Dst, 2320);
1498 }
1499 dasm_put(Dst, 5280);
1500 } else {
1501 }
1502 if (!sse) {
1503 dasm_put(Dst, 5305);
1504 }
1505 dasm_put(Dst, 5314, 1+1, LJ_TSTR);
1506 if (LJ_DUALNUM) {
1507 dasm_put(Dst, 5336, Dt5(->len));
1508 } else if (sse) {
1509 dasm_put(Dst, 5344, Dt5(->len));
1510 } else {
1511 dasm_put(Dst, 5355, Dt5(->len));
1512 }
1513 dasm_put(Dst, 5363, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1514 if (LJ_DUALNUM) {
1515 dasm_put(Dst, 5339);
1516 } else if (sse) {
1517 dasm_put(Dst, 5401);
1518 } else {
1519 dasm_put(Dst, 5411);
1520 }
1521 dasm_put(Dst, 5422, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1522 if (LJ_DUALNUM) {
1523 dasm_put(Dst, 5455);
1524 } else if (sse) {
1525 dasm_put(Dst, 5478);
1526 } else {
1527 dasm_put(Dst, 5504);
1528 }
1529 dasm_put(Dst, 5528, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1530 if (LJ_DUALNUM) {
1531 dasm_put(Dst, 5637);
1532 } else if (sse) {
1533 dasm_put(Dst, 5649);
1534 } else {
1535 dasm_put(Dst, 5664);
1536 }
1537 dasm_put(Dst, 5676, LJ_TSTR, LJ_TISNUM);
1538 if (LJ_DUALNUM) {
1539 dasm_put(Dst, 2581);
1540 } else {
1541 dasm_put(Dst, 2320);
1542 }
1543 dasm_put(Dst, 5693, Dt5(->len));
1544 if (LJ_DUALNUM) {
1545 dasm_put(Dst, 5703);
1546 } else if (sse) {
1547 dasm_put(Dst, 5707);
1548 } else {
1549 }
1550 dasm_put(Dst, 5714, sizeof(GCstr)-1);
1551 dasm_put(Dst, 5789, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1552 dasm_put(Dst, 5850, LJ_TSTR, LJ_TISNUM);
1553 if (LJ_DUALNUM) {
1554 dasm_put(Dst, 5867);
1555 } else if (sse) {
1556 dasm_put(Dst, 5875);
1557 } else {
1558 dasm_put(Dst, 5886);
1559 }
1560 dasm_put(Dst, 5902, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1561 dasm_put(Dst, 5970, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1562 dasm_put(Dst, 6037, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1563 dasm_put(Dst, 6110, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1564 dasm_put(Dst, 6195, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1565 dasm_put(Dst, 6269, 1+1, LJ_TTAB);
1566 if (LJ_DUALNUM) {
1567 dasm_put(Dst, 6336);
1568 } else if (sse) {
1569 dasm_put(Dst, 6343);
1570 } else {
1571 }
1572 dasm_put(Dst, 6353, 1+1, LJ_TISNUM);
1573 if (LJ_DUALNUM) {
1574 dasm_put(Dst, 6369);
1575 } else {
1576 dasm_put(Dst, 2320);
1577 }
1578 if (sse) {
1579 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1580 } else {
1581 }
1582 dasm_put(Dst, 106);
1583 if (LJ_DUALNUM || sse) {
1584 if (!sse) {
1585 }
1586 dasm_put(Dst, 6410);
1587 } else {
1588 }
1589 dasm_put(Dst, 6415, 1+1);
1590 if (sse) {
1591 dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1592 } else {
1593 dasm_put(Dst, 6436);
1594 }
1595 dasm_put(Dst, 2297, LJ_TISNUM);
1596 if (LJ_DUALNUM) {
1597 dasm_put(Dst, 6444);
1598 } else {
1599 dasm_put(Dst, 2320);
1600 }
1601 if (sse) {
1602 dasm_put(Dst, 6461);
1603 } else {
1604 }
1605 dasm_put(Dst, 6476, LJ_TISNUM);
1606 if (LJ_DUALNUM) {
1607 dasm_put(Dst, 6501);
1608 } else {
1609 dasm_put(Dst, 6521);
1610 }
1611 if (sse) {
1612 dasm_put(Dst, 6526);
1613 } else {
1614 }
1615 dasm_put(Dst, 6543, 1+1);
1616 if (sse) {
1617 dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1618 } else {
1619 dasm_put(Dst, 6436);
1620 }
1621 dasm_put(Dst, 2297, LJ_TISNUM);
1622 if (LJ_DUALNUM) {
1623 dasm_put(Dst, 6444);
1624 } else {
1625 dasm_put(Dst, 2320);
1626 }
1627 if (sse) {
1628 dasm_put(Dst, 6461);
1629 } else {
1630 }
1631 dasm_put(Dst, 6476, LJ_TISNUM);
1632 if (LJ_DUALNUM) {
1633 dasm_put(Dst, 6561);
1634 } else {
1635 dasm_put(Dst, 6521);
1636 }
1637 if (sse) {
1638 dasm_put(Dst, 6581);
1639 } else {
1640 }
1641 dasm_put(Dst, 6598, 1+1);
1642 if (sse) {
1643 dasm_put(Dst, 6426, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1644 } else {
1645 dasm_put(Dst, 6436);
1646 }
1647 dasm_put(Dst, 2297, LJ_TISNUM);
1648 if (LJ_DUALNUM) {
1649 dasm_put(Dst, 6444);
1650 } else {
1651 dasm_put(Dst, 2320);
1652 }
1653 if (sse) {
1654 dasm_put(Dst, 6461);
1655 } else {
1656 }
1657 dasm_put(Dst, 6476, LJ_TISNUM);
1658 if (LJ_DUALNUM) {
1659 dasm_put(Dst, 6616);
1660 } else {
1661 dasm_put(Dst, 6521);
1662 }
1663 if (sse) {
1664 dasm_put(Dst, 6636);
1665 } else {
1666 }
1667 dasm_put(Dst, 6653, 1+1, LJ_TISNUM);
1668 if (LJ_DUALNUM) {
1669 dasm_put(Dst, 6444);
1670 } else {
1671 dasm_put(Dst, 2320);
1672 }
1673 if (sse) {
1674 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1675 } else {
1676 }
1677 dasm_put(Dst, 6676, 1+1, LJ_TISNUM);
1678 if (LJ_DUALNUM) {
1679 dasm_put(Dst, 6444);
1680 } else {
1681 dasm_put(Dst, 2320);
1682 }
1683 if (sse) {
1684 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1685 } else {
1686 }
1687 dasm_put(Dst, 6700);
1688 if (LJ_DUALNUM) {
1689 dasm_put(Dst, 6410);
1690 } else if (sse) {
1691 dasm_put(Dst, 6706);
1692 } else {
1693 }
1694 dasm_put(Dst, 6718);
1695 if (LJ_DUALNUM) {
1696 dasm_put(Dst, 6729, 1+1, LJ_TISNUM);
1697 if (LJ_DUALNUM) {
1698 dasm_put(Dst, 6444);
1699 } else {
1700 dasm_put(Dst, 2320);
1701 }
1702 if (sse) {
1703 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1704 } else {
1705 }
1706 dasm_put(Dst, 6745, LJ_TISNUM);
1707 } else if (sse) {
1708 dasm_put(Dst, 6760, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1709 } else {
1710 }
1711 dasm_put(Dst, 6827);
1712 if (LJ_DUALNUM) {
1713 dasm_put(Dst, 6834, 1+1, LJ_TISNUM);
1714 if (LJ_DUALNUM) {
1715 dasm_put(Dst, 6444);
1716 } else {
1717 dasm_put(Dst, 2320);
1718 }
1719 if (sse) {
1720 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1721 } else {
1722 }
1723 dasm_put(Dst, 6745, LJ_TISNUM);
1724 } else if (sse) {
1725 dasm_put(Dst, 6850, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1726 } else {
1727 }
1728 dasm_put(Dst, 6917);
1729 if (LJ_DUALNUM) {
1730 dasm_put(Dst, 6925, 1+1, LJ_TISNUM);
1731 if (LJ_DUALNUM) {
1732 dasm_put(Dst, 6444);
1733 } else {
1734 dasm_put(Dst, 2320);
1735 }
1736 if (sse) {
1737 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1738 } else {
1739 }
1740 dasm_put(Dst, 6745, LJ_TISNUM);
1741 } else if (sse) {
1742 dasm_put(Dst, 6941, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1743 } else {
1744 }
1745 dasm_put(Dst, 7008);
1746 if (LJ_DUALNUM) {
1747 dasm_put(Dst, 7016, 1+1, LJ_TISNUM);
1748 if (LJ_DUALNUM) {
1749 dasm_put(Dst, 6444);
1750 } else {
1751 dasm_put(Dst, 2320);
1752 }
1753 if (sse) {
1754 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1755 } else {
1756 }
1757 dasm_put(Dst, 6745, LJ_TISNUM);
1758 } else if (sse) {
1759 dasm_put(Dst, 7032, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1760 } else {
1761 }
1762 dasm_put(Dst, 7099);
1763 if (LJ_DUALNUM) {
1764 dasm_put(Dst, 7106, 1+1, LJ_TISNUM);
1765 if (LJ_DUALNUM) {
1766 dasm_put(Dst, 6444);
1767 } else {
1768 dasm_put(Dst, 2320);
1769 }
1770 if (sse) {
1771 dasm_put(Dst, 6386, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1772 } else {
1773 }
1774 dasm_put(Dst, 6745, LJ_TISNUM);
1775 } else if (sse) {
1776 dasm_put(Dst, 7122, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1777 } else {
1778 }
1779 dasm_put(Dst, 7189, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1780 dasm_put(Dst, 7265, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1781 dasm_put(Dst, 7392, Dt1(->top), Dt1(->base), Dt1(->top));
1782#if LJ_HASJIT
1783 dasm_put(Dst, 7431, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1784#endif
1785 dasm_put(Dst, 7464, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1786 dasm_put(Dst, 7518, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1787#if LJ_HASJIT
1788 dasm_put(Dst, 7585, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1789#endif
1790 dasm_put(Dst, 7632);
1791#if LJ_HASJIT
1792 dasm_put(Dst, 7459);
1793#endif
1794 dasm_put(Dst, 7639);
1795#if LJ_HASJIT
1796 dasm_put(Dst, 7642);
1797#endif
1798 dasm_put(Dst, 7652, Dt1(->base), Dt1(->top));
1799#if LJ_HASJIT
1800 dasm_put(Dst, 7685);
1801#endif
1802 dasm_put(Dst, 7690, Dt1(->base), Dt1(->top));
1803#if LJ_HASJIT
1804 dasm_put(Dst, 7721, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1805#endif
1806 dasm_put(Dst, 7960);
1807#if LJ_HASJIT
1808 dasm_put(Dst, 7963, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1809#endif
1810 dasm_put(Dst, 8063);
1811 if (!sse) {
1812 dasm_put(Dst, 8066);
1813 }
1814 dasm_put(Dst, 8111, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1815 if (!sse) {
1816 dasm_put(Dst, 8197);
1817 }
1818 dasm_put(Dst, 8242, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1819 if (!sse) {
1820 dasm_put(Dst, 8328);
1821 }
1822 dasm_put(Dst, 8367, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1823 if (sse) {
1824 dasm_put(Dst, 8456, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1825 } else {
1826 dasm_put(Dst, 8570);
1827 }
1828 dasm_put(Dst, 8617);
1829 if (!sse) {
1830 } else {
1831 dasm_put(Dst, 8694);
1832 }
1833 dasm_put(Dst, 8697);
1834 dasm_put(Dst, 8782, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1835 dasm_put(Dst, 8885, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1836 dasm_put(Dst, 9047);
1837#if LJ_HASJIT
1838 if (sse) {
1839 dasm_put(Dst, 9088);
1840 dasm_put(Dst, 9158);
1841 dasm_put(Dst, 9230);
1842 } else {
1843 dasm_put(Dst, 9282);
1844 dasm_put(Dst, 9374);
1845 }
1846 dasm_put(Dst, 9420);
1847#endif
1848 dasm_put(Dst, 9424);
1849 if (sse) {
1850 dasm_put(Dst, 9427, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1851 dasm_put(Dst, 9512, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1852 } else {
1853 dasm_put(Dst, 9640);
1854 dasm_put(Dst, 9723);
1855 if (cmov) {
1856 dasm_put(Dst, 9778);
1857 } else {
1858 dasm_put(Dst, 9797);
1859 }
1860 dasm_put(Dst, 9420);
1861 }
1862 dasm_put(Dst, 9838);
1863#ifdef LUA_USE_ASSERT
1864 dasm_put(Dst, 9422);
1865#endif
1866 dasm_put(Dst, 9862);
1867#if LJ_HASFFI
1868#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
1869 dasm_put(Dst, 9866, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[0]), DtE(->cb.fpr[1]), DtE(->cb.fpr[2]), DtE(->cb.fpr[3]), CFRAME_SIZE, DtE(->cb.gpr[4]), DtE(->cb.gpr[5]), DtE(->cb.fpr[4]), DtE(->cb.fpr[5]), DtE(->cb.fpr[6]), DtE(->cb.fpr[7]), DtE(->cb.stack), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1870 dasm_put(Dst, 9990, Dt1(->base), Dt1(->top), Dt7(->pc));
1871#endif
1872 dasm_put(Dst, 10030);
1873#if LJ_HASFFI
1874 dasm_put(Dst, 10033, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]));
1875#endif
1876 dasm_put(Dst, 10074);
1877#if LJ_HASFFI
1878#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1879 dasm_put(Dst, 10077, DtF(->spadj));
1880#if LJ_TARGET_WINDOWS
1881#endif
1882 dasm_put(Dst, 10093, DtF(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtF(->nfpr), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->gpr[4]), DtF(->gpr[5]), DtF(->fpr[0]), DtF(->fpr[1]));
1883 dasm_put(Dst, 10172, DtF(->fpr[2]), DtF(->fpr[3]), DtF(->fpr[4]), DtF(->fpr[5]), DtF(->fpr[6]), DtF(->fpr[7]), DtF(->func), DtF(->gpr[0]), DtF(->fpr[0]), DtF(->gpr[1]), DtF(->fpr[1]));
1884#if LJ_TARGET_WINDOWS
1885#endif
1886 dasm_put(Dst, 10227);
1887#endif
1888}
1889
1890/* Generate the code for a single instruction. */
1891static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1892{
1893 int vk = 0;
1894 dasm_put(Dst, 829, defop);
1895
1896 switch (op) {
1897
1898 /* -- Comparison ops ---------------------------------------------------- */
1899
1900 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1901
1902
1903 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1904 if (LJ_DUALNUM) {
1905 dasm_put(Dst, 10235, LJ_TISNUM, LJ_TISNUM);
1906 switch (op) {
1907 case BC_ISLT:
1908 dasm_put(Dst, 10265);
1909 break;
1910 case BC_ISGE:
1911 dasm_put(Dst, 10270);
1912 break;
1913 case BC_ISLE:
1914 dasm_put(Dst, 10275);
1915 break;
1916 case BC_ISGT:
1917 dasm_put(Dst, 10280);
1918 break;
1919 default: break; /* Shut up GCC. */
1920 }
1921 dasm_put(Dst, 10285, -BCBIAS_J*4, LJ_TISNUM);
1922 if (sse) {
1923 dasm_put(Dst, 10340);
1924 } else {
1925 dasm_put(Dst, 10351);
1926 }
1927 dasm_put(Dst, 10362);
1928 if (sse) {
1929 dasm_put(Dst, 10369);
1930 switch (op) {
1931 case BC_ISLT:
1932 dasm_put(Dst, 10389);
1933 break;
1934 case BC_ISGE:
1935 dasm_put(Dst, 10394);
1936 break;
1937 case BC_ISLE:
1938 dasm_put(Dst, 10399);
1939 break;
1940 case BC_ISGT:
1941 dasm_put(Dst, 10404);
1942 break;
1943 default: break; /* Shut up GCC. */
1944 }
1945 dasm_put(Dst, 10409);
1946 } else {
1947 dasm_put(Dst, 10414);
1948 }
1949 } else {
1950 dasm_put(Dst, 10422, LJ_TISNUM, LJ_TISNUM);
1951 }
1952 if (sse) {
1953 dasm_put(Dst, 10443);
1954 } else {
1955 dasm_put(Dst, 10464);
1956 if (cmov) {
1957 dasm_put(Dst, 10480);
1958 } else {
1959 dasm_put(Dst, 10486);
1960 }
1961 }
1962 if (LJ_DUALNUM) {
1963 switch (op) {
1964 case BC_ISLT:
1965 dasm_put(Dst, 10389);
1966 break;
1967 case BC_ISGE:
1968 dasm_put(Dst, 10394);
1969 break;
1970 case BC_ISLE:
1971 dasm_put(Dst, 10399);
1972 break;
1973 case BC_ISGT:
1974 dasm_put(Dst, 10404);
1975 break;
1976 default: break; /* Shut up GCC. */
1977 }
1978 dasm_put(Dst, 10409);
1979 } else {
1980 switch (op) {
1981 case BC_ISLT:
1982 dasm_put(Dst, 817);
1983 break;
1984 case BC_ISGE:
1985 dasm_put(Dst, 10493);
1986 break;
1987 case BC_ISLE:
1988 dasm_put(Dst, 10498);
1989 break;
1990 case BC_ISGT:
1991 dasm_put(Dst, 10503);
1992 break;
1993 default: break; /* Shut up GCC. */
1994 }
1995 dasm_put(Dst, 10508, -BCBIAS_J*4);
1996 }
1997 break;
1998
1999 case BC_ISEQV: case BC_ISNEV:
2000 vk = op == BC_ISEQV;
2001 dasm_put(Dst, 10541);
2002 if (LJ_DUALNUM) {
2003 dasm_put(Dst, 10549, LJ_TISNUM, LJ_TISNUM);
2004 if (vk) {
2005 dasm_put(Dst, 10574);
2006 } else {
2007 dasm_put(Dst, 10579);
2008 }
2009 dasm_put(Dst, 10584, -BCBIAS_J*4, LJ_TISNUM);
2010 if (sse) {
2011 dasm_put(Dst, 10637);
2012 } else {
2013 dasm_put(Dst, 10644);
2014 }
2015 dasm_put(Dst, 10648);
2016 if (sse) {
2017 dasm_put(Dst, 10659);
2018 } else {
2019 dasm_put(Dst, 10671);
2020 }
2021 dasm_put(Dst, 10678);
2022 } else {
2023 dasm_put(Dst, 10683, LJ_TISNUM, LJ_TISNUM);
2024 }
2025 if (sse) {
2026 dasm_put(Dst, 10702);
2027 } else {
2028 dasm_put(Dst, 10720);
2029 if (cmov) {
2030 dasm_put(Dst, 10480);
2031 } else {
2032 dasm_put(Dst, 10486);
2033 }
2034 }
2035 iseqne_fp:
2036 if (vk) {
2037 dasm_put(Dst, 10733);
2038 } else {
2039 dasm_put(Dst, 10742);
2040 }
2041 iseqne_end:
2042 if (vk) {
2043 dasm_put(Dst, 10751, -BCBIAS_J*4);
2044 if (!LJ_HASFFI) {
2045 dasm_put(Dst, 4684);
2046 }
2047 } else {
2048 if (!LJ_HASFFI) {
2049 dasm_put(Dst, 4684);
2050 }
2051 dasm_put(Dst, 10766, -BCBIAS_J*4);
2052 }
2053 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2054 op == BC_ISEQN || op == BC_ISNEN)) {
2055 dasm_put(Dst, 10781);
2056 } else {
2057 dasm_put(Dst, 10520);
2058 }
2059 if (op == BC_ISEQV || op == BC_ISNEV) {
2060 dasm_put(Dst, 10786);
2061 if (LJ_HASFFI) {
2062 dasm_put(Dst, 10789, LJ_TCDATA, LJ_TCDATA);
2063 }
2064 dasm_put(Dst, 10808, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2065 if (vk) {
2066 dasm_put(Dst, 10872);
2067 } else {
2068 dasm_put(Dst, 10876);
2069 }
2070 dasm_put(Dst, 10882);
2071 } else if (LJ_HASFFI) {
2072 dasm_put(Dst, 10887, LJ_TCDATA);
2073 if (LJ_DUALNUM && vk) {
2074 dasm_put(Dst, 10894);
2075 } else {
2076 dasm_put(Dst, 10867);
2077 }
2078 dasm_put(Dst, 10899);
2079 }
2080 break;
2081 case BC_ISEQS: case BC_ISNES:
2082 vk = op == BC_ISEQS;
2083 dasm_put(Dst, 10904, LJ_TSTR);
2084 iseqne_test:
2085 if (vk) {
2086 dasm_put(Dst, 10737);
2087 } else {
2088 dasm_put(Dst, 2980);
2089 }
2090 goto iseqne_end;
2091 case BC_ISEQN: case BC_ISNEN:
2092 vk = op == BC_ISEQN;
2093 dasm_put(Dst, 10931);
2094 if (LJ_DUALNUM) {
2095 dasm_put(Dst, 10939, LJ_TISNUM, LJ_TISNUM);
2096 if (vk) {
2097 dasm_put(Dst, 10574);
2098 } else {
2099 dasm_put(Dst, 10579);
2100 }
2101 dasm_put(Dst, 10966, -BCBIAS_J*4, LJ_TISNUM);
2102 if (sse) {
2103 dasm_put(Dst, 11016);
2104 } else {
2105 dasm_put(Dst, 11024);
2106 }
2107 dasm_put(Dst, 11029);
2108 if (sse) {
2109 dasm_put(Dst, 11036);
2110 } else {
2111 dasm_put(Dst, 11049);
2112 }
2113 dasm_put(Dst, 10678);
2114 } else {
2115 dasm_put(Dst, 11057, LJ_TISNUM);
2116 }
2117 if (sse) {
2118 dasm_put(Dst, 11066);
2119 } else {
2120 dasm_put(Dst, 11085);
2121 if (cmov) {
2122 dasm_put(Dst, 10480);
2123 } else {
2124 dasm_put(Dst, 10486);
2125 }
2126 }
2127 goto iseqne_fp;
2128 case BC_ISEQP: case BC_ISNEP:
2129 vk = op == BC_ISEQP;
2130 dasm_put(Dst, 11099);
2131 if (!LJ_HASFFI) goto iseqne_test;
2132 if (vk) {
2133 dasm_put(Dst, 11113, -BCBIAS_J*4, LJ_TCDATA);
2134 } else {
2135 dasm_put(Dst, 11164, LJ_TCDATA, -BCBIAS_J*4);
2136 }
2137 break;
2138
2139 /* -- Unary test and copy ops ------------------------------------------- */
2140
2141 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2142 dasm_put(Dst, 11209, LJ_TISTRUECOND);
2143 if (op == BC_IST || op == BC_ISTC) {
2144 dasm_put(Dst, 10503);
2145 } else {
2146 dasm_put(Dst, 10498);
2147 }
2148 if (op == BC_ISTC || op == BC_ISFC) {
2149 dasm_put(Dst, 11221);
2150 }
2151 dasm_put(Dst, 10508, -BCBIAS_J*4);
2152 break;
2153
2154 /* -- Unary ops --------------------------------------------------------- */
2155
2156 case BC_MOV:
2157 dasm_put(Dst, 11232);
2158 break;
2159 case BC_NOT:
2160 dasm_put(Dst, 11261, LJ_TISTRUECOND, LJ_TTRUE);
2161 break;
2162 case BC_UNM:
2163 if (LJ_DUALNUM) {
2164 dasm_put(Dst, 11298, LJ_TISNUM, LJ_TISNUM);
2165 } else {
2166 dasm_put(Dst, 11376, LJ_TISNUM);
2167 }
2168 if (sse) {
2169 dasm_put(Dst, 11387, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2170 } else {
2171 dasm_put(Dst, 11412);
2172 }
2173 if (LJ_DUALNUM) {
2174 dasm_put(Dst, 10781);
2175 } else {
2176 dasm_put(Dst, 10520);
2177 }
2178 break;
2179 case BC_LEN:
2180 dasm_put(Dst, 11421, LJ_TSTR);
2181 if (LJ_DUALNUM) {
2182 dasm_put(Dst, 11435, Dt5(->len), LJ_TISNUM);
2183 } else if (sse) {
2184 dasm_put(Dst, 11449, Dt5(->len));
2185 } else {
2186 dasm_put(Dst, 11467, Dt5(->len));
2187 }
2188 dasm_put(Dst, 11476, LJ_TTAB);
2189#ifdef LUAJIT_ENABLE_LUA52COMPAT
2190 dasm_put(Dst, 11512, Dt6(->metatable));
2191#endif
2192 dasm_put(Dst, 11526);
2193 if (LJ_DUALNUM) {
2194 } else if (sse) {
2195 dasm_put(Dst, 11535);
2196 } else {
2197 }
2198 dasm_put(Dst, 11541);
2199#ifdef LUAJIT_ENABLE_LUA52COMPAT
2200 dasm_put(Dst, 11554, Dt6(->nomm), 1<<MM_len);
2201#endif
2202 break;
2203
2204 /* -- Binary ops -------------------------------------------------------- */
2205
2206
2207 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2208 if (LJ_DUALNUM) {
2209 dasm_put(Dst, 11570);
2210 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2211 switch (vk) {
2212 case 0:
2213 dasm_put(Dst, 11578, LJ_TISNUM, LJ_TISNUM);
2214 break;
2215 case 1:
2216 dasm_put(Dst, 11613, LJ_TISNUM, LJ_TISNUM);
2217 break;
2218 default:
2219 dasm_put(Dst, 11648, LJ_TISNUM, LJ_TISNUM);
2220 break;
2221 }
2222 dasm_put(Dst, 11681, LJ_TISNUM);
2223 if (vk == 1) {
2224 dasm_put(Dst, 11445);
2225 } else {
2226 dasm_put(Dst, 11228);
2227 }
2228 dasm_put(Dst, 10520);
2229 } else {
2230 dasm_put(Dst, 11570);
2231 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2232 switch (vk) {
2233 case 0:
2234 dasm_put(Dst, 11687, LJ_TISNUM);
2235 if (LJ_DUALNUM) {
2236 dasm_put(Dst, 11699, LJ_TISNUM);
2237 }
2238 if (sse) {
2239 dasm_put(Dst, 11711);
2240 } else {
2241 dasm_put(Dst, 11726);
2242 }
2243 break;
2244 case 1:
2245 dasm_put(Dst, 11735, LJ_TISNUM);
2246 if (LJ_DUALNUM) {
2247 dasm_put(Dst, 11747, LJ_TISNUM);
2248 }
2249 if (sse) {
2250 dasm_put(Dst, 11759);
2251 } else {
2252 dasm_put(Dst, 11774);
2253 }
2254 break;
2255 default:
2256 dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
2257 if (sse) {
2258 dasm_put(Dst, 11805);
2259 } else {
2260 dasm_put(Dst, 11819);
2261 }
2262 break;
2263 }
2264 if (sse) {
2265 dasm_put(Dst, 11405);
2266 } else {
2267 dasm_put(Dst, 11417);
2268 }
2269 dasm_put(Dst, 10520);
2270 }
2271 break;
2272 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2273 if (LJ_DUALNUM) {
2274 dasm_put(Dst, 11570);
2275 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2276 switch (vk) {
2277 case 0:
2278 dasm_put(Dst, 11827, LJ_TISNUM, LJ_TISNUM);
2279 break;
2280 case 1:
2281 dasm_put(Dst, 11862, LJ_TISNUM, LJ_TISNUM);
2282 break;
2283 default:
2284 dasm_put(Dst, 11897, LJ_TISNUM, LJ_TISNUM);
2285 break;
2286 }
2287 dasm_put(Dst, 11681, LJ_TISNUM);
2288 if (vk == 1) {
2289 dasm_put(Dst, 11445);
2290 } else {
2291 dasm_put(Dst, 11228);
2292 }
2293 dasm_put(Dst, 10520);
2294 } else {
2295 dasm_put(Dst, 11570);
2296 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2297 switch (vk) {
2298 case 0:
2299 dasm_put(Dst, 11687, LJ_TISNUM);
2300 if (LJ_DUALNUM) {
2301 dasm_put(Dst, 11699, LJ_TISNUM);
2302 }
2303 if (sse) {
2304 dasm_put(Dst, 11930);
2305 } else {
2306 dasm_put(Dst, 11945);
2307 }
2308 break;
2309 case 1:
2310 dasm_put(Dst, 11735, LJ_TISNUM);
2311 if (LJ_DUALNUM) {
2312 dasm_put(Dst, 11747, LJ_TISNUM);
2313 }
2314 if (sse) {
2315 dasm_put(Dst, 11954);
2316 } else {
2317 dasm_put(Dst, 11969);
2318 }
2319 break;
2320 default:
2321 dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
2322 if (sse) {
2323 dasm_put(Dst, 11978);
2324 } else {
2325 dasm_put(Dst, 11992);
2326 }
2327 break;
2328 }
2329 if (sse) {
2330 dasm_put(Dst, 11405);
2331 } else {
2332 dasm_put(Dst, 11417);
2333 }
2334 dasm_put(Dst, 10520);
2335 }
2336 break;
2337 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2338 if (LJ_DUALNUM) {
2339 dasm_put(Dst, 11570);
2340 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2341 switch (vk) {
2342 case 0:
2343 dasm_put(Dst, 12000, LJ_TISNUM, LJ_TISNUM);
2344 break;
2345 case 1:
2346 dasm_put(Dst, 12036, LJ_TISNUM, LJ_TISNUM);
2347 break;
2348 default:
2349 dasm_put(Dst, 12072, LJ_TISNUM, LJ_TISNUM);
2350 break;
2351 }
2352 dasm_put(Dst, 11681, LJ_TISNUM);
2353 if (vk == 1) {
2354 dasm_put(Dst, 11445);
2355 } else {
2356 dasm_put(Dst, 11228);
2357 }
2358 dasm_put(Dst, 10520);
2359 } else {
2360 dasm_put(Dst, 11570);
2361 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2362 switch (vk) {
2363 case 0:
2364 dasm_put(Dst, 11687, LJ_TISNUM);
2365 if (LJ_DUALNUM) {
2366 dasm_put(Dst, 11699, LJ_TISNUM);
2367 }
2368 if (sse) {
2369 dasm_put(Dst, 12106);
2370 } else {
2371 dasm_put(Dst, 12121);
2372 }
2373 break;
2374 case 1:
2375 dasm_put(Dst, 11735, LJ_TISNUM);
2376 if (LJ_DUALNUM) {
2377 dasm_put(Dst, 11747, LJ_TISNUM);
2378 }
2379 if (sse) {
2380 dasm_put(Dst, 12130);
2381 } else {
2382 dasm_put(Dst, 12145);
2383 }
2384 break;
2385 default:
2386 dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
2387 if (sse) {
2388 dasm_put(Dst, 12154);
2389 } else {
2390 dasm_put(Dst, 12168);
2391 }
2392 break;
2393 }
2394 if (sse) {
2395 dasm_put(Dst, 11405);
2396 } else {
2397 dasm_put(Dst, 11417);
2398 }
2399 dasm_put(Dst, 10520);
2400 }
2401 break;
2402 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2403 dasm_put(Dst, 11570);
2404 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2405 switch (vk) {
2406 case 0:
2407 dasm_put(Dst, 11687, LJ_TISNUM);
2408 if (LJ_DUALNUM) {
2409 dasm_put(Dst, 11699, LJ_TISNUM);
2410 }
2411 if (sse) {
2412 dasm_put(Dst, 12176);
2413 } else {
2414 dasm_put(Dst, 12191);
2415 }
2416 break;
2417 case 1:
2418 dasm_put(Dst, 11735, LJ_TISNUM);
2419 if (LJ_DUALNUM) {
2420 dasm_put(Dst, 11747, LJ_TISNUM);
2421 }
2422 if (sse) {
2423 dasm_put(Dst, 12200);
2424 } else {
2425 dasm_put(Dst, 12215);
2426 }
2427 break;
2428 default:
2429 dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
2430 if (sse) {
2431 dasm_put(Dst, 12224);
2432 } else {
2433 dasm_put(Dst, 12238);
2434 }
2435 break;
2436 }
2437 if (sse) {
2438 dasm_put(Dst, 11405);
2439 } else {
2440 dasm_put(Dst, 11417);
2441 }
2442 dasm_put(Dst, 10520);
2443 break;
2444 case BC_MODVN:
2445 dasm_put(Dst, 11570);
2446 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2447 switch (vk) {
2448 case 0:
2449 dasm_put(Dst, 11687, LJ_TISNUM);
2450 if (LJ_DUALNUM) {
2451 dasm_put(Dst, 11699, LJ_TISNUM);
2452 }
2453 if (sse) {
2454 dasm_put(Dst, 12246);
2455 } else {
2456 dasm_put(Dst, 12261);
2457 }
2458 break;
2459 case 1:
2460 dasm_put(Dst, 11735, LJ_TISNUM);
2461 if (LJ_DUALNUM) {
2462 dasm_put(Dst, 11747, LJ_TISNUM);
2463 }
2464 if (sse) {
2465 dasm_put(Dst, 12270);
2466 } else {
2467 dasm_put(Dst, 12285);
2468 }
2469 break;
2470 default:
2471 dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
2472 if (sse) {
2473 dasm_put(Dst, 12294);
2474 } else {
2475 dasm_put(Dst, 12308);
2476 }
2477 break;
2478 }
2479 dasm_put(Dst, 12316);
2480 if (sse) {
2481 dasm_put(Dst, 11405);
2482 } else {
2483 dasm_put(Dst, 11417);
2484 }
2485 dasm_put(Dst, 10520);
2486 break;
2487 case BC_MODNV: case BC_MODVV:
2488 dasm_put(Dst, 11570);
2489 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2490 switch (vk) {
2491 case 0:
2492 dasm_put(Dst, 11687, LJ_TISNUM);
2493 if (LJ_DUALNUM) {
2494 dasm_put(Dst, 11699, LJ_TISNUM);
2495 }
2496 if (sse) {
2497 dasm_put(Dst, 12246);
2498 } else {
2499 dasm_put(Dst, 12261);
2500 }
2501 break;
2502 case 1:
2503 dasm_put(Dst, 11735, LJ_TISNUM);
2504 if (LJ_DUALNUM) {
2505 dasm_put(Dst, 11747, LJ_TISNUM);
2506 }
2507 if (sse) {
2508 dasm_put(Dst, 12270);
2509 } else {
2510 dasm_put(Dst, 12285);
2511 }
2512 break;
2513 default:
2514 dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
2515 if (sse) {
2516 dasm_put(Dst, 12294);
2517 } else {
2518 dasm_put(Dst, 12308);
2519 }
2520 break;
2521 }
2522 dasm_put(Dst, 12322);
2523 break;
2524 case BC_POW:
2525 dasm_put(Dst, 11570);
2526 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2527 switch (vk) {
2528 case 0:
2529 dasm_put(Dst, 11687, LJ_TISNUM);
2530 if (LJ_DUALNUM) {
2531 dasm_put(Dst, 11699, LJ_TISNUM);
2532 }
2533 if (sse) {
2534 dasm_put(Dst, 12246);
2535 } else {
2536 dasm_put(Dst, 12261);
2537 }
2538 break;
2539 case 1:
2540 dasm_put(Dst, 11735, LJ_TISNUM);
2541 if (LJ_DUALNUM) {
2542 dasm_put(Dst, 11747, LJ_TISNUM);
2543 }
2544 if (sse) {
2545 dasm_put(Dst, 12270);
2546 } else {
2547 dasm_put(Dst, 12285);
2548 }
2549 break;
2550 default:
2551 dasm_put(Dst, 11783, LJ_TISNUM, LJ_TISNUM);
2552 if (sse) {
2553 dasm_put(Dst, 12294);
2554 } else {
2555 dasm_put(Dst, 12308);
2556 }
2557 break;
2558 }
2559 dasm_put(Dst, 12327);
2560 if (sse) {
2561 dasm_put(Dst, 11405);
2562 } else {
2563 dasm_put(Dst, 11417);
2564 }
2565 dasm_put(Dst, 10520);
2566 break;
2567
2568 case BC_CAT:
2569 dasm_put(Dst, 12331, Dt1(->base), Dt1(->base));
2570 break;
2571
2572 /* -- Constant ops ------------------------------------------------------ */
2573
2574 case BC_KSTR:
2575 dasm_put(Dst, 12415, LJ_TSTR);
2576 break;
2577 case BC_KCDATA:
2578#if LJ_HASFFI
2579 dasm_put(Dst, 12415, LJ_TCDATA);
2580#endif
2581 break;
2582 case BC_KSHORT:
2583 if (LJ_DUALNUM) {
2584 dasm_put(Dst, 12452, LJ_TISNUM);
2585 } else if (sse) {
2586 dasm_put(Dst, 12464);
2587 } else {
2588 dasm_put(Dst, 12479);
2589 }
2590 dasm_put(Dst, 10520);
2591 break;
2592 case BC_KNUM:
2593 if (sse) {
2594 dasm_put(Dst, 12487);
2595 } else {
2596 dasm_put(Dst, 12501);
2597 }
2598 dasm_put(Dst, 10520);
2599 break;
2600 case BC_KPRI:
2601 dasm_put(Dst, 12509);
2602 break;
2603 case BC_KNIL:
2604 dasm_put(Dst, 12538, LJ_TNIL);
2605 break;
2606
2607 /* -- Upvalue and function ops ------------------------------------------ */
2608
2609 case BC_UGET:
2610 dasm_put(Dst, 12586, offsetof(GCfuncL, uvptr), DtA(->v));
2611 break;
2612 case BC_USETV:
2613#define TV2MARKOFS \
2614 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2615 dasm_put(Dst, 12627, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
2616 dasm_put(Dst, 12723);
2617 break;
2618#undef TV2MARKOFS
2619 case BC_USETS:
2620 dasm_put(Dst, 12735, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2621 break;
2622 case BC_USETN:
2623 dasm_put(Dst, 12831);
2624 if (sse) {
2625 dasm_put(Dst, 12836);
2626 } else {
2627 dasm_put(Dst, 11052);
2628 }
2629 dasm_put(Dst, 12844, offsetof(GCfuncL, uvptr), DtA(->v));
2630 if (sse) {
2631 dasm_put(Dst, 12853);
2632 } else {
2633 dasm_put(Dst, 12859);
2634 }
2635 dasm_put(Dst, 10520);
2636 break;
2637 case BC_USETP:
2638 dasm_put(Dst, 12862, offsetof(GCfuncL, uvptr), DtA(->v));
2639 break;
2640 case BC_UCLO:
2641 dasm_put(Dst, 12902, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2642 break;
2643
2644 case BC_FNEW:
2645 dasm_put(Dst, 12958, Dt1(->base), Dt1(->base), LJ_TFUNC);
2646 break;
2647
2648 /* -- Table ops --------------------------------------------------------- */
2649
2650 case BC_TNEW:
2651 dasm_put(Dst, 13025, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2652 break;
2653 case BC_TDUP:
2654 dasm_put(Dst, 13149, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2655 break;
2656
2657 case BC_GGET:
2658 dasm_put(Dst, 13248, Dt7(->env));
2659 break;
2660 case BC_GSET:
2661 dasm_put(Dst, 13268, Dt7(->env));
2662 break;
2663
2664 case BC_TGETV:
2665 dasm_put(Dst, 13288, LJ_TTAB);
2666 if (LJ_DUALNUM) {
2667 dasm_put(Dst, 13311, LJ_TISNUM);
2668 } else {
2669 dasm_put(Dst, 13325, LJ_TISNUM);
2670 if (sse) {
2671 dasm_put(Dst, 13336);
2672 } else {
2673 }
2674 dasm_put(Dst, 13357);
2675 }
2676 dasm_put(Dst, 13362, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2677 dasm_put(Dst, 13454, LJ_TSTR);
2678 break;
2679 case BC_TGETS:
2680 dasm_put(Dst, 13472, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2681 dasm_put(Dst, 13557, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2682 break;
2683 case BC_TGETB:
2684 dasm_put(Dst, 13629, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2685 dasm_put(Dst, 13725, LJ_TNIL);
2686 break;
2687
2688 case BC_TSETV:
2689 dasm_put(Dst, 13742, LJ_TTAB);
2690 if (LJ_DUALNUM) {
2691 dasm_put(Dst, 13311, LJ_TISNUM);
2692 } else {
2693 dasm_put(Dst, 13325, LJ_TISNUM);
2694 if (sse) {
2695 dasm_put(Dst, 13336);
2696 } else {
2697 }
2698 dasm_put(Dst, 13765);
2699 }
2700 dasm_put(Dst, 13770, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2701 dasm_put(Dst, 13851, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2702 break;
2703 case BC_TSETS:
2704 dasm_put(Dst, 13910, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2705 dasm_put(Dst, 13987, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2706 dasm_put(Dst, 14074, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2707 break;
2708 case BC_TSETB:
2709 dasm_put(Dst, 14166, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2710 dasm_put(Dst, 14261, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2711 break;
2712
2713 case BC_TSETM:
2714 dasm_put(Dst, 14309, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2715 dasm_put(Dst, 14459, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2716 break;
2717
2718 /* -- Calls and vararg handling ----------------------------------------- */
2719
2720 case BC_CALL: case BC_CALLM:
2721 dasm_put(Dst, 11574);
2722 if (op == BC_CALLM) {
2723 dasm_put(Dst, 14479);
2724 }
2725 dasm_put(Dst, 14484, LJ_TFUNC, Dt7(->pc));
2726 break;
2727
2728 case BC_CALLMT:
2729 dasm_put(Dst, 14479);
2730 break;
2731 case BC_CALLT:
2732 dasm_put(Dst, 14527, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2733 dasm_put(Dst, 14645, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2734 break;
2735
2736 case BC_ITERC:
2737 dasm_put(Dst, 14719, LJ_TFUNC, 2+1, Dt7(->pc));
2738 break;
2739
2740 case BC_ITERN:
2741#if LJ_HASJIT
2742#endif
2743 dasm_put(Dst, 14791, Dt6(->asize), Dt6(->array), LJ_TNIL);
2744 if (LJ_DUALNUM) {
2745 dasm_put(Dst, 11440, LJ_TISNUM);
2746 } else if (sse) {
2747 dasm_put(Dst, 11535);
2748 } else {
2749 dasm_put(Dst, 14843);
2750 }
2751 dasm_put(Dst, 14849);
2752 if (LJ_DUALNUM) {
2753 } else if (sse) {
2754 dasm_put(Dst, 11405);
2755 } else {
2756 dasm_put(Dst, 11417);
2757 }
2758 dasm_put(Dst, 14862, -BCBIAS_J*4);
2759 if (!LJ_DUALNUM && !sse) {
2760 dasm_put(Dst, 14916);
2761 }
2762 dasm_put(Dst, 14922, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2763 break;
2764
2765 case BC_ISNEXT:
2766 dasm_put(Dst, 15001, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2767 break;
2768
2769 case BC_VARG:
2770 dasm_put(Dst, 15102, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2771 dasm_put(Dst, 15269, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2772 break;
2773
2774 /* -- Returns ----------------------------------------------------------- */
2775
2776 case BC_RETM:
2777 dasm_put(Dst, 14479);
2778 break;
2779
2780 case BC_RET: case BC_RET0: case BC_RET1:
2781 if (op != BC_RET0) {
2782 dasm_put(Dst, 15339);
2783 }
2784 dasm_put(Dst, 15343, FRAME_TYPE);
2785 switch (op) {
2786 case BC_RET:
2787 dasm_put(Dst, 15362);
2788 break;
2789 case BC_RET1:
2790 dasm_put(Dst, 15416);
2791 /* fallthrough */
2792 case BC_RET0:
2793 dasm_put(Dst, 15426);
2794 default:
2795 break;
2796 }
2797 dasm_put(Dst, 15437, Dt7(->pc), PC2PROTO(k));
2798 if (op == BC_RET) {
2799 dasm_put(Dst, 15485, LJ_TNIL);
2800 } else {
2801 dasm_put(Dst, 15496, LJ_TNIL);
2802 }
2803 dasm_put(Dst, 15503, -FRAME_VARG, FRAME_TYPEP);
2804 if (op != BC_RET0) {
2805 dasm_put(Dst, 15527);
2806 }
2807 dasm_put(Dst, 4761);
2808 break;
2809
2810 /* -- Loops and branches ------------------------------------------------ */
2811
2812
2813 case BC_FORL:
2814#if LJ_HASJIT
2815 dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2816#endif
2817 break;
2818
2819 case BC_JFORI:
2820 case BC_JFORL:
2821#if !LJ_HASJIT
2822 break;
2823#endif
2824 case BC_FORI:
2825 case BC_IFORL:
2826 vk = (op == BC_IFORL || op == BC_JFORL);
2827 dasm_put(Dst, 15552);
2828 if (LJ_DUALNUM) {
2829 dasm_put(Dst, 15556, LJ_TISNUM);
2830 if (!vk) {
2831 dasm_put(Dst, 15566, LJ_TISNUM, LJ_TISNUM);
2832 } else {
2833#ifdef LUA_USE_ASSERT
2834 dasm_put(Dst, 15595, LJ_TISNUM, LJ_TISNUM);
2835#endif
2836 dasm_put(Dst, 15614);
2837 }
2838 dasm_put(Dst, 15633, LJ_TISNUM);
2839 if (op == BC_FORI) {
2840 dasm_put(Dst, 15644, -BCBIAS_J*4);
2841 } else if (op == BC_JFORI) {
2842 dasm_put(Dst, 15658, -BCBIAS_J*4, BC_JLOOP);
2843 } else if (op == BC_IFORL) {
2844 dasm_put(Dst, 15676, -BCBIAS_J*4);
2845 } else {
2846 dasm_put(Dst, 15668, BC_JLOOP);
2847 }
2848 dasm_put(Dst, 15690);
2849 if (vk) {
2850 dasm_put(Dst, 15715);
2851 }
2852 dasm_put(Dst, 15633, LJ_TISNUM);
2853 if (op == BC_FORI) {
2854 dasm_put(Dst, 15724);
2855 } else if (op == BC_JFORI) {
2856 dasm_put(Dst, 15729, -BCBIAS_J*4, BC_JLOOP);
2857 } else if (op == BC_IFORL) {
2858 dasm_put(Dst, 15743);
2859 } else {
2860 dasm_put(Dst, 15739, BC_JLOOP);
2861 }
2862 dasm_put(Dst, 15748);
2863 } else if (!vk) {
2864 dasm_put(Dst, 15755, LJ_TISNUM);
2865 }
2866 if (!vk) {
2867 dasm_put(Dst, 15761, LJ_TISNUM);
2868 } else {
2869#ifdef LUA_USE_ASSERT
2870 dasm_put(Dst, 15775, LJ_TISNUM, LJ_TISNUM);
2871#endif
2872 }
2873 dasm_put(Dst, 15794);
2874 if (!vk) {
2875 dasm_put(Dst, 15798, LJ_TISNUM);
2876 }
2877 if (sse) {
2878 dasm_put(Dst, 15807);
2879 if (vk) {
2880 dasm_put(Dst, 15819);
2881 } else {
2882 dasm_put(Dst, 15838);
2883 }
2884 dasm_put(Dst, 15843);
2885 } else {
2886 dasm_put(Dst, 15856);
2887 if (vk) {
2888 dasm_put(Dst, 15862);
2889 } else {
2890 dasm_put(Dst, 15878);
2891 }
2892 dasm_put(Dst, 15886);
2893 if (cmov) {
2894 dasm_put(Dst, 10480);
2895 } else {
2896 dasm_put(Dst, 10486);
2897 }
2898 if (!cmov) {
2899 dasm_put(Dst, 15891);
2900 }
2901 }
2902 if (op == BC_FORI) {
2903 if (LJ_DUALNUM) {
2904 dasm_put(Dst, 15897);
2905 } else {
2906 dasm_put(Dst, 15902, -BCBIAS_J*4);
2907 }
2908 } else if (op == BC_JFORI) {
2909 dasm_put(Dst, 15912, -BCBIAS_J*4, BC_JLOOP);
2910 } else if (op == BC_IFORL) {
2911 if (LJ_DUALNUM) {
2912 dasm_put(Dst, 15926);
2913 } else {
2914 dasm_put(Dst, 15931, -BCBIAS_J*4);
2915 }
2916 } else {
2917 dasm_put(Dst, 15922, BC_JLOOP);
2918 }
2919 if (LJ_DUALNUM) {
2920 dasm_put(Dst, 10409);
2921 } else {
2922 dasm_put(Dst, 11186);
2923 }
2924 if (sse) {
2925 dasm_put(Dst, 15941);
2926 }
2927 break;
2928
2929 case BC_ITERL:
2930#if LJ_HASJIT
2931 dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2932#endif
2933 break;
2934
2935 case BC_JITERL:
2936#if !LJ_HASJIT
2937 break;
2938#endif
2939 case BC_IITERL:
2940 dasm_put(Dst, 15952, LJ_TNIL);
2941 if (op == BC_JITERL) {
2942 dasm_put(Dst, 15967, BC_JLOOP);
2943 } else {
2944 dasm_put(Dst, 15981, -BCBIAS_J*4);
2945 }
2946 dasm_put(Dst, 10518);
2947 break;
2948
2949 case BC_LOOP:
2950#if LJ_HASJIT
2951 dasm_put(Dst, 15531, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2952#endif
2953 break;
2954
2955 case BC_ILOOP:
2956 dasm_put(Dst, 10520);
2957 break;
2958
2959 case BC_JLOOP:
2960#if LJ_HASJIT
2961 dasm_put(Dst, 15997, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
2962#endif
2963 break;
2964
2965 case BC_JMP:
2966 dasm_put(Dst, 16038, -BCBIAS_J*4);
2967 break;
2968
2969 /* -- Function headers -------------------------------------------------- */
2970
2971 /*
2972 ** Reminder: A function may be called with func/args above L->maxstack,
2973 ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
2974 ** too. This means all FUNC* ops (including fast functions) must check
2975 ** for stack overflow _before_ adding more slots!
2976 */
2977
2978 case BC_FUNCF:
2979#if LJ_HASJIT
2980 dasm_put(Dst, 16064, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL);
2981#endif
2982 case BC_FUNCV: /* NYI: compiled vararg functions. */
2983 break;
2984
2985 case BC_JFUNCF:
2986#if !LJ_HASJIT
2987 break;
2988#endif
2989 case BC_IFUNCF:
2990 dasm_put(Dst, 16085, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2991 if (op == BC_JFUNCF) {
2992 dasm_put(Dst, 16116, BC_JLOOP);
2993 } else {
2994 dasm_put(Dst, 10520);
2995 }
2996 dasm_put(Dst, 16125, LJ_TNIL);
2997 break;
2998
2999 case BC_JFUNCV:
3000#if !LJ_HASJIT
3001 break;
3002#endif
3003 dasm_put(Dst, 9422);
3004 break; /* NYI: compiled vararg functions. */
3005
3006 case BC_IFUNCV:
3007 dasm_put(Dst, 16147, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3008 if (op == BC_JFUNCV) {
3009 dasm_put(Dst, 16116, BC_JLOOP);
3010 } else {
3011 dasm_put(Dst, 16244, -4+PC2PROTO(k));
3012 }
3013 dasm_put(Dst, 16269, LJ_TNIL);
3014 break;
3015
3016 case BC_FUNCC:
3017 case BC_FUNCCW:
3018 dasm_put(Dst, 16291, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3019 if (op == BC_FUNCC) {
3020 dasm_put(Dst, 2433);
3021 } else {
3022 dasm_put(Dst, 16321);
3023 }
3024 dasm_put(Dst, 16329, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3025 if (op == BC_FUNCC) {
3026 dasm_put(Dst, 16339);
3027 } else {
3028 dasm_put(Dst, 16344, DISPATCH_GL(wrapf));
3029 }
3030 dasm_put(Dst, 16350, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3031 break;
3032
3033 /* ---------------------------------------------------------------------- */
3034
3035 default:
3036 fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
3037 exit(2);
3038 break;
3039 }
3040}
3041
3042static int build_backend(BuildCtx *ctx)
3043{
3044 int op;
3045 int cmov = 1;
3046 int sse = 0;
3047#ifdef LUAJIT_CPU_NOCMOV
3048 cmov = 0;
3049#endif
3050#if defined(LUAJIT_CPU_SSE2) || defined(LJ_TARGET_X64)
3051 sse = 1;
3052#endif
3053
3054 dasm_growpc(Dst, BC__MAX);
3055
3056 build_subroutines(ctx, cmov, sse);
3057
3058 dasm_put(Dst, 16376);
3059 for (op = 0; op < BC__MAX; op++)
3060 build_ins(ctx, (BCOp)op, op, cmov, sse);
3061
3062 return BC__MAX;
3063}
3064
3065/* Emit pseudo frame-info for all assembler functions. */
3066static void emit_asm_debug(BuildCtx *ctx)
3067{
3068 int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
3069#if LJ_64
3070#define SZPTR "8"
3071#define BSZPTR "3"
3072#define REG_SP "0x7"
3073#define REG_RA "0x10"
3074#else
3075#define SZPTR "4"
3076#define BSZPTR "2"
3077#define REG_SP "0x4"
3078#define REG_RA "0x8"
3079#endif
3080 switch (ctx->mode) {
3081 case BUILD_elfasm:
3082 fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
3083 fprintf(ctx->fp,
3084 ".Lframe0:\n"
3085 "\t.long .LECIE0-.LSCIE0\n"
3086 ".LSCIE0:\n"
3087 "\t.long 0xffffffff\n"
3088 "\t.byte 0x1\n"
3089 "\t.string \"\"\n"
3090 "\t.uleb128 0x1\n"
3091 "\t.sleb128 -" SZPTR "\n"
3092 "\t.byte " REG_RA "\n"
3093 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3094 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3095 "\t.align " SZPTR "\n"
3096 ".LECIE0:\n\n");
3097 fprintf(ctx->fp,
3098 ".LSFDE0:\n"
3099 "\t.long .LEFDE0-.LASFDE0\n"
3100 ".LASFDE0:\n"
3101 "\t.long .Lframe0\n"
3102#if LJ_64
3103 "\t.quad .Lbegin\n"
3104 "\t.quad %d\n"
3105 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3106 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3107 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3108 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3109 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3110#else
3111 "\t.long .Lbegin\n"
3112 "\t.long %d\n"
3113 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3114 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3115 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3116 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3117 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3118#endif
3119 "\t.align " SZPTR "\n"
3120 ".LEFDE0:\n\n", fcofs, CFRAME_SIZE);
3121#if LJ_HASFFI
3122 fprintf(ctx->fp,
3123 ".LSFDE1:\n"
3124 "\t.long .LEFDE1-.LASFDE1\n"
3125 ".LASFDE1:\n"
3126 "\t.long .Lframe0\n"
3127#if LJ_64
3128 "\t.quad lj_vm_ffi_call\n"
3129 "\t.quad %d\n"
3130 "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
3131 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3132 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3133 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3134#else
3135 "\t.long lj_vm_ffi_call\n"
3136 "\t.long %d\n"
3137 "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
3138 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3139 "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
3140 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
3141#endif
3142 "\t.align " SZPTR "\n"
3143 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
3144#endif
3145#if (defined(__sun__) && defined(__svr4__)) || defined(__solaris_)
3146 fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
3147#else
3148 fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
3149#endif
3150 fprintf(ctx->fp,
3151 ".Lframe1:\n"
3152 "\t.long .LECIE1-.LSCIE1\n"
3153 ".LSCIE1:\n"
3154 "\t.long 0\n"
3155 "\t.byte 0x1\n"
3156 "\t.string \"zPR\"\n"
3157 "\t.uleb128 0x1\n"
3158 "\t.sleb128 -" SZPTR "\n"
3159 "\t.byte " REG_RA "\n"
3160 "\t.uleb128 6\n" /* augmentation length */
3161 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3162 "\t.long lj_err_unwind_dwarf-.\n"
3163 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3164 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3165 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3166 "\t.align " SZPTR "\n"
3167 ".LECIE1:\n\n");
3168 fprintf(ctx->fp,
3169 ".LSFDE2:\n"
3170 "\t.long .LEFDE2-.LASFDE2\n"
3171 ".LASFDE2:\n"
3172 "\t.long .LASFDE2-.Lframe1\n"
3173 "\t.long .Lbegin-.\n"
3174 "\t.long %d\n"
3175 "\t.uleb128 0\n" /* augmentation length */
3176 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3177#if LJ_64
3178 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3179 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3180 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3181 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3182#else
3183 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3184 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3185 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3186 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3187#endif
3188 "\t.align " SZPTR "\n"
3189 ".LEFDE2:\n\n", fcofs, CFRAME_SIZE);
3190#if LJ_HASFFI
3191 fprintf(ctx->fp,
3192 ".Lframe2:\n"
3193 "\t.long .LECIE2-.LSCIE2\n"
3194 ".LSCIE2:\n"
3195 "\t.long 0\n"
3196 "\t.byte 0x1\n"
3197 "\t.string \"zR\"\n"
3198 "\t.uleb128 0x1\n"
3199 "\t.sleb128 -" SZPTR "\n"
3200 "\t.byte " REG_RA "\n"
3201 "\t.uleb128 1\n" /* augmentation length */
3202 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3203 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3204 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3205 "\t.align " SZPTR "\n"
3206 ".LECIE2:\n\n");
3207 fprintf(ctx->fp,
3208 ".LSFDE3:\n"
3209 "\t.long .LEFDE3-.LASFDE3\n"
3210 ".LASFDE3:\n"
3211 "\t.long .LASFDE3-.Lframe2\n"
3212 "\t.long lj_vm_ffi_call-.\n"
3213 "\t.long %d\n"
3214 "\t.uleb128 0\n" /* augmentation length */
3215#if LJ_64
3216 "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
3217 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3218 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3219 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3220#else
3221 "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
3222 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3223 "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
3224 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
3225#endif
3226 "\t.align " SZPTR "\n"
3227 ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
3228#endif
3229 break;
3230 case BUILD_coffasm:
3231 fprintf(ctx->fp, "\t.section .eh_frame,\"dr\"\n");
3232 fprintf(ctx->fp,
3233 "\t.def %slj_err_unwind_dwarf; .scl 2; .type 32; .endef\n",
3234 LJ_32 ? "_" : "");
3235 fprintf(ctx->fp,
3236 "Lframe1:\n"
3237 "\t.long LECIE1-LSCIE1\n"
3238 "LSCIE1:\n"
3239 "\t.long 0\n"
3240 "\t.byte 0x1\n"
3241 "\t.string \"zP\"\n"
3242 "\t.uleb128 0x1\n"
3243 "\t.sleb128 -" SZPTR "\n"
3244 "\t.byte " REG_RA "\n"
3245 "\t.uleb128 5\n" /* augmentation length */
3246 "\t.byte 0x00\n" /* absptr */
3247 "\t.long %slj_err_unwind_dwarf\n"
3248 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3249 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3250 "\t.align " SZPTR "\n"
3251 "LECIE1:\n\n", LJ_32 ? "_" : "");
3252 fprintf(ctx->fp,
3253 "LSFDE1:\n"
3254 "\t.long LEFDE1-LASFDE1\n"
3255 "LASFDE1:\n"
3256 "\t.long LASFDE1-Lframe1\n"
3257 "\t.long %slj_vm_asm_begin\n"
3258 "\t.long %d\n"
3259 "\t.uleb128 0\n" /* augmentation length */
3260 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3261#if LJ_64
3262 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3263 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3264 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3265 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3266#else
3267 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3268 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3269 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3270 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3271#endif
3272 "\t.align " SZPTR "\n"
3273 "LEFDE1:\n\n", LJ_32 ? "_" : "", (int)ctx->codesz, CFRAME_SIZE);
3274 break;
3275 /* Mental note: never let Apple design an assembler.
3276 ** Or a linker. Or a plastic case. But I digress.
3277 */
3278 case BUILD_machasm: {
3279#if LJ_HASFFI
3280 int fcsize = 0;
3281#endif
3282 int i;
3283 fprintf(ctx->fp, "\t.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support\n");
3284 fprintf(ctx->fp,
3285 "EH_frame1:\n"
3286 "\t.set L$set$x,LECIEX-LSCIEX\n"
3287 "\t.long L$set$x\n"
3288 "LSCIEX:\n"
3289 "\t.long 0\n"
3290 "\t.byte 0x1\n"
3291 "\t.ascii \"zPR\\0\"\n"
3292 "\t.byte 0x1\n"
3293 "\t.byte 128-" SZPTR "\n"
3294 "\t.byte " REG_RA "\n"
3295 "\t.byte 6\n" /* augmentation length */
3296 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
3297#if LJ_64
3298 "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
3299 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3300 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
3301#else
3302 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
3303 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3304 "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH-O. */
3305#endif
3306 "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
3307 "\t.align " BSZPTR "\n"
3308 "LECIEX:\n\n");
3309 for (i = 0; i < ctx->nsym; i++) {
3310 const char *name = ctx->sym[i].name;
3311 int32_t size = ctx->sym[i+1].ofs - ctx->sym[i].ofs;
3312 if (size == 0) continue;
3313#if LJ_HASFFI
3314 if (!strcmp(name, "_lj_vm_ffi_call")) { fcsize = size; continue; }
3315#endif
3316 fprintf(ctx->fp,
3317 "%s.eh:\n"
3318 "LSFDE%d:\n"
3319 "\t.set L$set$%d,LEFDE%d-LASFDE%d\n"
3320 "\t.long L$set$%d\n"
3321 "LASFDE%d:\n"
3322 "\t.long LASFDE%d-EH_frame1\n"
3323 "\t.long %s-.\n"
3324 "\t.long %d\n"
3325 "\t.byte 0\n" /* augmentation length */
3326 "\t.byte 0xe\n\t.byte %d\n" /* def_cfa_offset */
3327#if LJ_64
3328 "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
3329 "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
3330 "\t.byte 0x8f\n\t.byte 0x4\n" /* offset r15 */
3331 "\t.byte 0x8e\n\t.byte 0x5\n" /* offset r14 */
3332#else
3333 "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
3334 "\t.byte 0x87\n\t.byte 0x3\n" /* offset edi */
3335 "\t.byte 0x86\n\t.byte 0x4\n" /* offset esi */
3336 "\t.byte 0x83\n\t.byte 0x5\n" /* offset ebx */
3337#endif
3338 "\t.align " BSZPTR "\n"
3339 "LEFDE%d:\n\n",
3340 name, i, i, i, i, i, i, i, name, size, CFRAME_SIZE, i);
3341 }
3342#if LJ_HASFFI
3343 if (fcsize) {
3344 fprintf(ctx->fp,
3345 "EH_frame2:\n"
3346 "\t.set L$set$y,LECIEY-LSCIEY\n"
3347 "\t.long L$set$y\n"
3348 "LSCIEY:\n"
3349 "\t.long 0\n"
3350 "\t.byte 0x1\n"
3351 "\t.ascii \"zR\\0\"\n"
3352 "\t.byte 0x1\n"
3353 "\t.byte 128-" SZPTR "\n"
3354 "\t.byte " REG_RA "\n"
3355 "\t.byte 1\n" /* augmentation length */
3356#if LJ_64
3357 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3358 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
3359#else
3360 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3361 "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH. */
3362#endif
3363 "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
3364 "\t.align " BSZPTR "\n"
3365 "LECIEY:\n\n");
3366 fprintf(ctx->fp,
3367 "_lj_vm_ffi_call.eh:\n"
3368 "LSFDEY:\n"
3369 "\t.set L$set$yy,LEFDEY-LASFDEY\n"
3370 "\t.long L$set$yy\n"
3371 "LASFDEY:\n"
3372 "\t.long LASFDEY-EH_frame2\n"
3373 "\t.long _lj_vm_ffi_call-.\n"
3374 "\t.long %d\n"
3375 "\t.byte 0\n" /* augmentation length */
3376#if LJ_64
3377 "\t.byte 0xe\n\t.byte 16\n" /* def_cfa_offset */
3378 "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
3379 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3380 "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
3381#else
3382 "\t.byte 0xe\n\t.byte 8\n" /* def_cfa_offset */
3383 "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
3384 "\t.byte 0xd\n\t.uleb128 0x4\n" /* def_cfa_register ebp */
3385 "\t.byte 0x83\n\t.byte 0x3\n" /* offset ebx */
3386#endif
3387 "\t.align " BSZPTR "\n"
3388 "LEFDEY:\n\n", fcsize);
3389 }
3390#endif
3391#if LJ_64
3392 fprintf(ctx->fp, "\t.subsections_via_symbols\n");
3393#else
3394 fprintf(ctx->fp,
3395 "\t.non_lazy_symbol_pointer\n"
3396 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
3397 ".indirect_symbol _lj_err_unwind_dwarf\n"
3398 ".long 0\n");
3399#endif
3400 }
3401 break;
3402 default: /* Difficult for other modes. */
3403 break;
3404 }
3405}
3406
diff --git a/src/buildvm_x64win.h b/src/buildvm_x64win.h
deleted file mode 100644
index 533d5b00..00000000
--- a/src/buildvm_x64win.h
+++ /dev/null
@@ -1,3401 +0,0 @@
1/*
2** This file has been pre-processed with DynASM.
3** http://luajit.org/dynasm.html
4** DynASM version 1.3.0, DynASM x64 version 1.3.0
5** DO NOT EDIT! The original file is in "buildvm_x86.dasc".
6*/
7
8#if DASM_VERSION != 10300
9#error "Version mismatch between DynASM and included encoding engine"
10#endif
11
12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[16196] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,72,
17 141,76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,
18 36,84,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,
19 15,133,244,10,199,131,233,237,131,230,252,248,41,214,252,247,222,131,232,
20 1,15,132,244,248,248,1,72,139,44,10,72,137,106,252,248,131,194,8,131,232,
21 1,15,133,244,1,248,2,255,139,108,36,96,137,181,233,248,3,139,68,36,84,139,
22 76,36,88,248,4,57,193,15,133,244,252,248,5,131,252,234,8,137,149,233,248,
23 15,72,139,76,36,104,72,137,141,233,49,192,248,16,72,131,196,40,91,94,95,93,
24 195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,237,131,
25 194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,141,20,
26 202,252,233,244,5,248,8,137,149,233,137,68,36,84,137,202,137,252,233,232,
27 251,1,0,139,149,233,252,233,244,3,248,17,137,208,72,137,204,248,18,139,108,
28 36,96,139,173,233,199,133,233,237,252,233,244,16,248,19,248,20,72,129,225,
29 239,72,137,204,248,21,255,139,108,36,96,72,199,193,252,248,252,255,252,255,
30 252,255,184,237,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,
31 252,252,237,199,131,233,237,252,233,244,12,248,22,186,237,252,233,244,248,
32 248,23,131,232,8,252,233,244,247,248,24,141,68,194,252,248,248,1,15,182,142,
33 233,131,198,4,137,149,233,255,137,133,233,137,116,36,100,137,202,248,2,137,
34 252,233,232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,
35 3,131,192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,
36 36,252,235,248,25,85,87,86,83,72,131,252,236,40,137,205,137,76,36,96,137,
37 209,190,237,49,192,72,141,188,253,36,233,139,157,233,129,195,239,72,137,189,
38 233,137,68,36,100,72,137,68,36,104,137,68,36,88,137,68,36,92,56,133,233,15,
39 132,244,249,199,131,233,237,136,133,233,139,149,233,139,133,233,41,200,193,
40 232,3,131,192,1,41,209,139,114,252,252,137,68,36,84,252,247,198,237,255,15,
41 132,244,13,252,233,244,14,248,26,85,87,86,83,72,131,252,236,40,190,237,68,
42 137,76,36,92,252,233,244,247,248,27,85,87,86,83,72,131,252,236,40,190,237,
43 248,1,68,137,68,36,88,137,205,137,76,36,96,137,209,72,139,189,233,72,137,
44 124,36,104,137,108,36,100,72,137,165,233,248,2,139,157,233,129,195,239,248,
45 3,199,131,233,237,139,149,233,255,1,206,41,214,139,133,233,41,200,193,232,
46 3,131,192,1,248,28,139,105,252,248,129,121,253,252,252,239,15,133,244,29,
47 248,30,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,
48 131,198,4,252,255,36,252,235,248,31,85,87,86,83,72,131,252,236,40,137,205,
49 137,76,36,96,137,108,36,100,139,189,233,43,189,233,199,68,36,92,0,0,0,0,137,
50 124,36,88,72,139,189,233,72,137,124,36,104,72,137,165,233,65,252,255,209,
51 133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,209,131,230,
52 252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,117,252,244,
53 72,99,77,252,240,255,131,252,249,1,15,134,244,247,255,72,141,61,245,72,1,
54 252,249,255,139,122,252,248,139,191,233,139,191,233,252,255,225,255,248,1,
55 15,132,244,32,41,213,193,252,237,3,141,69,252,255,252,233,244,33,255,248,
56 34,15,182,78,252,255,131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,
57 247,217,193,252,233,3,65,137,200,139,76,36,96,137,145,233,72,139,0,72,137,
58 69,0,137,252,234,252,233,244,36,248,37,137,68,36,80,199,68,36,84,237,72,141,
59 68,36,80,128,126,252,252,235,15,133,244,247,141,139,233,137,41,199,65,4,237,
60 137,205,252,233,244,248,248,38,15,182,70,252,254,255,199,68,36,84,237,137,
61 68,36,80,255,252,242,15,42,192,252,242,15,17,68,36,80,255,72,141,68,36,80,
62 252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,110,252,255,
63 141,44,252,234,248,2,139,76,36,96,137,145,233,137,252,234,73,137,192,137,
64 205,137,116,36,100,232,251,1,1,139,149,233,133,192,15,132,244,249,248,35,
65 15,182,78,252,253,72,139,40,72,137,44,202,139,6,15,182,204,15,182,232,131,
66 198,4,193,232,16,252,255,36,252,235,248,3,139,141,233,137,113,252,244,141,
67 177,233,41,214,139,105,252,248,184,237,252,233,244,30,248,40,137,68,36,80,
68 199,68,36,84,237,72,141,68,36,80,128,126,252,252,235,15,133,244,247,255,141,
69 139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,41,15,182,70,252,
70 254,255,72,141,68,36,80,252,233,244,247,248,42,15,182,70,252,254,141,4,194,
71 248,1,15,182,110,252,255,141,44,252,234,248,2,139,76,36,96,137,145,233,137,
72 252,234,73,137,192,137,205,137,116,36,100,232,251,1,2,139,149,233,133,192,
73 15,132,244,249,15,182,78,252,253,72,139,44,202,72,137,40,248,43,139,6,15,
74 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,139,141,
75 233,137,113,252,244,15,182,70,252,253,72,139,44,194,72,137,105,16,141,177,
76 233,41,214,139,105,252,248,184,237,252,233,244,30,248,44,139,108,36,96,137,
77 149,233,68,141,4,194,141,20,202,137,252,233,68,15,182,78,252,252,137,116,
78 36,100,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,45,248,
79 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248,
80 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,
81 46,131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,47,129,120,
82 253,4,239,252,233,244,4,248,48,131,252,238,4,65,137,192,65,137,252,233,139,
83 108,36,96,137,149,233,255,137,202,137,252,233,137,116,36,100,232,251,1,4,
84 252,233,244,3,248,49,255,131,252,238,4,139,108,36,96,137,149,233,137,252,
85 233,139,86,252,252,137,116,36,100,232,251,1,5,252,233,244,3,255,248,50,255,
86 15,182,110,252,255,255,248,51,141,4,199,252,233,244,247,248,52,255,248,53,
87 141,4,199,141,44,252,234,149,252,233,244,248,248,54,141,4,194,137,197,252,
88 233,244,248,248,55,255,248,56,141,4,194,248,1,141,44,252,234,248,2,141,12,
89 202,65,137,232,65,137,193,15,182,70,252,252,137,68,36,32,139,108,36,96,137,
90 149,233,137,202,137,252,233,137,116,36,100,232,251,1,6,139,149,233,133,192,
91 15,132,244,43,248,45,137,193,41,208,137,113,252,244,141,176,233,184,237,252,
92 233,244,28,248,57,139,108,36,96,137,149,233,141,20,194,137,252,233,137,116,
93 36,100,232,251,1,7,139,149,233,255,133,192,15,133,244,45,15,183,70,252,254,
94 139,12,194,252,233,244,58,255,252,233,244,45,255,248,59,141,76,202,8,248,
95 29,137,76,36,84,137,68,36,80,131,252,233,8,139,108,36,96,137,149,233,137,
96 202,68,141,4,193,137,252,233,137,116,36,100,232,251,1,8,139,149,233,139,76,
97 36,84,139,68,36,80,139,105,252,248,131,192,1,57,215,15,132,244,60,137,202,
98 137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,
99 255,36,252,235,248,61,139,108,36,96,137,149,233,137,202,137,252,233,137,116,
100 36,100,232,251,1,9,139,149,233,139,70,252,252,15,182,204,15,182,232,193,232,
101 16,252,255,164,253,252,235,233,248,62,129,252,248,239,15,130,244,63,139,106,
102 4,129,252,253,239,15,131,244,63,139,114,252,252,137,68,36,84,137,106,252,
103 252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,137,209,248,1,131,
104 193,8,72,139,41,72,137,105,252,248,131,232,1,15,133,244,1,248,2,139,68,36,
105 84,252,233,244,64,248,65,129,252,248,239,15,130,244,63,139,106,4,137,252,
106 233,193,252,249,15,131,252,249,252,254,15,132,244,249,184,237,252,247,213,
107 57,232,255,15,71,197,255,15,134,244,247,137,232,248,1,255,248,2,139,106,252,
108 248,139,132,253,197,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
109 252,233,244,66,248,3,184,237,252,233,244,2,248,67,129,252,248,239,15,130,
110 244,63,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,139,
111 42,139,173,233,248,2,133,252,237,199,66,252,252,237,255,15,132,244,66,139,
112 131,233,199,66,252,252,237,137,106,252,248,139,141,233,35,136,233,105,201,
113 239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,244,
114 251,248,4,139,137,233,133,201,15,133,244,3,255,252,233,244,66,248,5,139,105,
115 4,129,252,253,239,15,132,244,66,139,1,137,106,252,252,137,66,252,248,252,
116 233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,244,
117 254,129,252,253,239,15,134,244,253,189,237,252,233,244,254,248,7,255,189,
118 237,248,8,252,247,213,139,172,253,171,233,252,233,244,2,248,68,129,252,248,
119 239,15,130,244,63,129,122,253,4,239,15,133,244,63,139,42,131,189,233,0,15,
120 133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,133,233,139,114,
121 252,252,199,66,252,252,237,255,137,106,252,248,252,246,133,233,235,15,132,
122 244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,1,252,233,
123 244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244,
124 63,137,213,68,141,66,8,139,18,139,76,36,96,232,251,1,10,137,252,234,72,139,
125 40,139,114,252,252,72,137,106,252,248,252,233,244,66,248,70,255,129,252,248,
126 239,15,133,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,
127 71,248,1,15,135,244,63,255,15,131,244,63,255,252,242,15,16,2,252,233,244,
128 72,255,221,2,252,233,244,73,255,248,74,129,252,248,239,15,130,244,63,139,
129 114,252,252,129,122,253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,
130 137,66,252,248,252,233,244,66,248,3,129,122,253,4,239,15,135,244,63,131,187,
131 233,0,15,133,244,63,139,171,233,59,171,233,255,15,130,244,247,232,244,75,
132 248,1,139,108,36,96,137,149,233,137,116,36,100,137,252,233,255,232,251,1,
133 11,255,232,251,1,12,255,139,149,233,252,233,244,2,248,76,129,252,248,239,
134 15,130,244,63,15,132,244,248,248,1,129,122,253,4,239,15,133,244,63,139,108,
135 36,96,137,149,233,137,149,233,139,114,252,252,68,141,66,8,139,18,137,252,
136 233,137,116,36,100,232,251,1,13,139,149,233,133,192,15,132,244,249,72,139,
137 106,8,72,139,66,16,72,137,106,252,248,72,137,2,248,77,184,237,255,252,233,
138 244,78,248,2,199,66,12,237,252,233,244,1,248,3,199,66,252,252,237,252,233,
139 244,66,248,79,129,252,248,239,15,130,244,63,139,42,129,122,253,4,239,15,133,
140 244,63,255,131,189,233,0,15,133,244,63,255,139,106,252,248,139,133,233,139,
141 114,252,252,199,66,252,252,237,137,66,252,248,199,66,12,237,184,237,252,233,
142 244,78,248,80,129,252,248,239,15,130,244,63,129,122,253,4,239,15,133,244,
143 63,129,122,253,12,239,255,139,114,252,252,255,139,66,8,131,192,1,199,66,252,
144 252,237,137,66,252,248,255,252,242,15,16,66,8,72,189,237,237,102,72,15,110,
145 205,252,242,15,88,193,252,242,15,45,192,252,242,15,17,66,252,248,255,139,
146 42,59,133,233,15,131,244,248,193,224,3,3,133,233,248,1,129,120,253,4,239,
147 15,132,244,81,72,139,40,72,137,42,252,233,244,77,248,2,131,189,233,0,15,132,
148 244,81,137,252,233,137,213,137,194,232,251,1,14,137,252,234,133,192,15,133,
149 244,1,248,81,184,237,252,233,244,78,248,82,255,139,106,252,248,139,133,233,
150 139,114,252,252,199,66,252,252,237,137,66,252,248,255,199,66,12,237,199,66,
151 8,0,0,0,0,255,15,87,192,252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,
152 237,252,233,244,78,248,83,129,252,248,239,15,130,244,63,141,74,8,131,232,
153 1,190,237,248,1,15,182,171,233,193,252,237,235,131,229,1,1,252,238,252,233,
154 244,28,248,84,129,252,248,239,15,130,244,63,129,122,253,12,239,15,133,244,
155 63,255,139,106,4,137,106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50,
156 141,74,16,131,232,2,190,237,252,233,244,1,248,85,129,252,248,239,15,130,244,
157 63,139,42,139,114,252,252,137,116,36,100,137,108,36,80,129,122,253,4,239,
158 15,133,244,63,72,131,189,233,0,15,133,244,63,128,189,233,235,15,135,244,63,
159 139,141,233,15,132,244,247,255,59,141,233,15,132,244,63,248,1,141,116,193,
160 252,240,59,181,233,15,135,244,63,137,181,233,139,108,36,96,137,149,233,131,
161 194,8,137,149,233,141,108,194,232,72,41,252,245,57,206,15,132,244,249,248,
162 2,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,
163 202,139,76,36,80,232,244,25,199,131,233,237,255,139,108,36,96,139,116,36,
164 80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,
165 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,
166 233,15,135,244,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,8,
167 57,252,249,15,133,244,5,248,6,141,70,2,199,66,252,252,237,248,7,139,116,36,
168 100,137,68,36,84,72,199,193,252,248,252,255,252,255,252,255,252,247,198,237,
169 255,15,132,244,13,252,233,244,14,248,8,199,66,252,252,237,139,142,233,131,
170 252,233,8,137,142,233,72,139,1,72,137,2,184,237,252,233,244,7,248,9,139,76,
171 36,80,137,185,233,137,252,242,137,252,233,232,251,1,0,139,116,36,80,139,149,
172 233,252,233,244,4,248,86,139,106,252,248,139,173,233,139,114,252,252,137,
173 116,36,100,137,108,36,80,72,131,189,233,0,15,133,244,63,255,128,189,233,235,
174 15,135,244,63,139,141,233,15,132,244,247,59,141,233,15,132,244,63,248,1,141,
175 116,193,252,248,59,181,233,15,135,244,63,137,181,233,139,108,36,96,137,149,
176 233,137,149,233,141,108,194,252,240,72,41,252,245,57,206,15,132,244,249,248,
177 2,255,72,139,4,46,72,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,
178 3,137,202,139,76,36,80,232,244,25,199,131,233,237,139,108,36,96,139,116,36,
179 80,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,
180 137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,
181 233,15,135,244,255,255,137,213,72,41,205,248,5,72,139,1,72,137,4,41,131,193,
182 8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,100,137,68,36,84,
183 49,201,252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,242,137,
184 252,233,232,251,1,15,248,9,139,76,36,80,137,185,233,137,252,242,137,252,233,
185 232,251,1,0,139,116,36,80,139,149,233,252,233,244,4,248,87,139,108,36,96,
186 72,252,247,133,233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,
187 133,233,49,192,72,137,133,233,176,235,136,133,233,252,233,244,16,255,248,
188 71,255,248,73,139,114,252,252,221,90,252,248,252,233,244,66,255,248,88,129,
189 252,248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,
190 252,253,0,15,137,244,71,252,247,221,15,136,244,247,248,89,248,71,139,114,
191 252,252,199,66,252,252,237,137,106,252,248,252,233,244,66,248,1,139,114,252,
192 252,199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,
193 15,135,244,63,255,129,122,253,4,239,15,131,244,63,255,252,242,15,16,2,72,
194 184,237,237,102,72,15,110,200,15,84,193,248,72,139,114,252,252,252,242,15,
195 17,66,252,248,255,221,2,217,225,248,72,248,73,139,114,252,252,221,90,252,
196 248,255,248,66,184,237,248,78,137,68,36,84,248,64,252,247,198,237,15,133,
197 244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,72,252,247,209,
198 141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
199 235,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,72,199,193,
200 252,248,252,255,252,255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,
201 15,133,244,247,139,42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,
202 2,232,244,91,255,252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,
203 242,15,42,205,102,15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,
204 91,255,248,92,255,252,242,15,16,2,232,244,93,255,221,2,232,244,93,255,248,
205 94,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,
206 15,81,2,252,233,244,72,255,248,94,129,252,248,239,15,130,244,63,129,122,253,
207 4,239,15,131,244,63,221,2,217,252,250,252,233,244,73,255,248,95,129,252,248,
208 239,15,130,244,63,129,122,253,4,239,15,131,244,63,217,252,237,221,2,217,252,
209 241,252,233,244,73,248,96,129,252,248,239,15,130,244,63,129,122,253,4,239,
210 15,131,244,63,217,252,236,221,2,217,252,241,252,233,244,73,248,97,129,252,
211 248,239,255,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,232,244,98,
212 252,233,244,73,248,99,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
213 131,244,63,221,2,217,252,254,252,233,244,73,248,100,129,252,248,239,255,15,
214 130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,255,252,233,244,
215 73,248,101,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
216 221,2,217,252,242,221,216,252,233,244,73,248,102,129,252,248,239,15,130,244,
217 63,255,129,122,253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,
218 225,217,252,250,217,252,243,252,233,244,73,248,103,129,252,248,239,15,130,
219 244,63,129,122,253,4,239,15,131,244,63,221,2,217,192,216,200,217,232,222,
220 225,217,252,250,217,201,217,252,243,252,233,244,73,248,104,129,252,248,239,
221 15,130,244,63,129,122,253,4,239,15,131,244,63,255,221,2,217,232,217,252,243,
222 252,233,244,73,255,248,105,129,252,248,239,15,130,244,63,129,122,253,4,239,
223 15,131,244,63,252,242,15,16,2,255,137,213,232,251,1,16,137,252,234,252,233,
224 244,72,255,248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
225 244,63,252,242,15,16,2,255,137,213,232,251,1,17,137,252,234,252,233,244,72,
226 255,248,107,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
227 252,242,15,16,2,255,137,213,232,251,1,18,137,252,234,252,233,244,72,248,108,
228 255,248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,
229 252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,
230 248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,
231 2,139,106,252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,
232 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
233 63,221,2,221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,
234 244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,
235 63,221,66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,
236 239,15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,114,252,252,
237 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,
238 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,
239 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,
240 108,36,80,219,68,36,80,255,139,106,252,252,129,229,252,255,252,255,15,128,
241 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,
242 184,237,252,233,244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,
243 252,233,244,2,255,248,4,255,252,242,15,16,2,72,189,237,237,102,72,15,110,
244 205,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,68,36,80,0,0,
245 128,90,216,76,36,80,221,90,252,248,255,139,106,252,252,184,52,4,0,0,209,229,
246 252,233,244,1,255,248,113,129,252,248,239,15,130,244,63,129,122,253,4,239,
247 15,131,244,63,252,242,15,16,2,255,248,113,129,252,248,239,15,130,244,63,129,
248 122,253,4,239,15,131,244,63,221,2,255,139,106,4,139,114,252,252,209,229,129,
249 252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,244,114,252,242,
250 15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,255,217,192,232,
251 244,114,220,252,233,248,1,221,90,252,248,221,26,255,139,66,252,252,139,106,
252 4,49,232,15,136,244,249,248,2,184,237,252,233,244,78,248,3,129,252,245,0,
253 0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,244,1,255,217,
254 252,238,217,201,252,233,244,1,255,248,115,129,252,248,239,15,130,244,63,129,
255 122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,66,8,221,
256 2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,233,244,73,255,248,
257 116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,
258 253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,232,244,117,252,
259 233,244,72,255,248,116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
260 131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,232,244,117,252,
261 233,244,73,255,248,118,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,
262 42,248,1,57,193,15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,
263 59,108,202,252,248,15,79,108,202,252,248,131,193,1,252,233,244,1,248,3,15,
264 135,244,63,255,252,233,244,252,248,4,15,135,244,63,255,252,242,15,16,2,248,
265 5,57,193,15,131,244,72,129,124,253,202,252,252,239,255,15,130,244,252,15,
266 135,244,63,252,242,15,42,76,202,252,248,252,233,244,253,255,248,6,252,242,
267 15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,1,252,233,244,5,255,
268 248,119,185,2,0,0,0,129,122,253,4,239,255,15,133,244,250,139,42,248,1,57,
269 193,15,131,244,71,129,124,253,202,252,252,239,15,133,244,249,59,108,202,252,
270 248,15,76,108,202,252,248,131,193,1,252,233,244,1,248,3,15,135,244,63,255,
271 248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,95,193,131,193,1,252,
272 233,244,5,255,248,9,221,216,252,233,244,63,255,248,120,129,252,248,239,15,
273 130,244,63,129,122,253,4,239,15,133,244,63,139,42,255,139,173,233,252,233,
274 244,71,255,252,242,15,42,133,233,252,233,244,72,255,219,133,233,252,233,244,
275 73,255,248,121,129,252,248,239,15,133,244,63,129,122,253,4,239,15,133,244,
276 63,139,42,139,114,252,252,131,189,233,1,15,130,244,81,15,182,173,233,255,
277 252,242,15,42,197,252,233,244,72,255,137,108,36,80,219,68,36,80,252,233,244,
278 73,255,248,122,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,
279 252,248,239,15,133,244,63,129,122,253,4,239,255,15,133,244,63,139,42,129,
280 252,253,252,255,0,0,0,15,135,244,63,137,108,36,84,255,15,131,244,63,252,242,
281 15,44,42,129,252,253,252,255,0,0,0,15,135,244,63,137,108,36,84,255,15,131,
282 244,63,221,2,219,92,36,84,129,124,36,84,252,255,0,0,0,15,135,244,63,255,199,
283 68,36,32,1,0,0,0,72,141,68,36,84,248,123,139,108,36,96,137,149,233,68,139,
284 68,36,32,72,137,194,137,252,233,137,116,36,100,232,251,1,19,139,149,233,139,
285 114,252,252,199,66,252,252,237,137,66,252,248,252,233,244,66,248,124,139,
286 171,233,59,171,233,15,130,244,247,232,244,75,248,1,199,68,36,84,252,255,252,
287 255,252,255,252,255,129,252,248,239,15,130,244,63,15,134,244,247,129,122,
288 253,20,239,255,15,133,244,63,139,106,16,137,108,36,84,255,15,131,244,63,252,
289 242,15,44,106,16,137,108,36,84,255,15,131,244,63,221,66,16,219,92,36,84,255,
290 248,1,129,122,253,4,239,15,133,244,63,129,122,253,12,239,255,139,42,137,108,
291 36,32,139,173,233,255,139,74,8,255,252,242,15,44,74,8,255,139,68,36,84,57,
292 197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,36,32,41,200,
293 15,140,244,125,141,172,253,13,233,131,192,1,248,4,137,68,36,32,137,232,252,
294 233,244,123,248,5,15,140,244,252,141,68,40,1,252,233,244,2,248,6,137,232,
295 252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,15,143,244,3,248,
296 8,185,1,0,0,0,252,233,244,3,248,125,49,192,252,233,244,4,248,126,129,252,
297 248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,232,244,75,248,
298 1,255,129,122,253,4,239,15,133,244,63,129,122,253,12,239,139,42,255,15,133,
299 244,63,139,66,8,255,15,131,244,63,252,242,15,44,66,8,255,15,131,244,63,221,
300 66,8,219,92,36,84,139,68,36,84,255,133,192,15,142,244,125,131,189,233,1,15,
301 130,244,125,15,133,244,127,57,131,233,15,130,244,127,15,182,141,233,139,171,
302 233,137,68,36,32,248,1,136,77,0,131,197,1,131,232,1,15,133,244,1,139,131,
303 233,252,233,244,123,248,128,129,252,248,239,255,15,130,244,63,139,171,233,
304 59,171,233,15,130,244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,
305 139,42,139,133,233,133,192,15,132,244,125,57,131,233,15,130,244,129,129,197,
306 239,137,116,36,84,137,68,36,32,139,179,233,248,1,255,15,182,77,0,131,197,
307 1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,36,84,252,233,244,123,
308 248,130,129,252,248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,
309 232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,
310 233,255,15,130,244,129,129,197,239,137,116,36,84,137,68,36,32,139,179,233,
311 252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,130,244,248,131,252,
312 249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,
313 244,1,137,252,240,139,116,36,84,252,233,244,123,248,131,129,252,248,239,15,
314 130,244,63,255,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,
315 122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,233,15,130,244,129,
316 129,197,239,137,116,36,84,137,68,36,32,139,179,233,252,233,244,249,248,1,
317 15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,122,15,135,244,
318 248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,1,137,252,240,
319 139,116,36,84,252,233,244,123,248,132,129,252,248,239,15,130,244,63,129,122,
320 253,4,239,15,133,244,63,137,213,139,10,232,251,1,20,137,252,234,255,137,197,
321 252,233,244,71,255,252,242,15,42,192,252,233,244,72,255,248,133,129,252,248,
322 239,15,130,244,63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,
323 89,248,1,15,135,244,63,255,252,242,15,16,2,72,189,237,237,102,72,15,110,205,
324 252,242,15,88,193,102,15,126,197,255,252,233,244,89,255,248,134,129,252,248,
325 239,15,130,244,63,255,72,189,237,237,102,72,15,110,205,255,199,68,36,80,0,
326 0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,255,
327 252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,248,2,137,68,36,84,141,
328 68,194,252,240,248,1,57,208,15,134,244,89,129,120,253,4,239,255,15,133,244,
329 248,35,40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,15,131,244,135,
330 255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,33,205,255,131,232,8,
331 252,233,244,1,248,136,129,252,248,239,15,130,244,63,255,15,133,244,248,11,
332 40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,252,242,15,16,0,252,242,
333 15,88,193,102,15,126,193,9,205,255,131,232,8,252,233,244,1,248,137,129,252,
334 248,239,15,130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,
335 2,15,135,244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,
336 205,255,131,232,8,252,233,244,1,248,138,129,252,248,239,15,130,244,63,129,
337 122,253,4,239,255,248,2,15,205,252,233,244,89,248,139,129,252,248,239,15,
338 130,244,63,129,122,253,4,239,255,248,2,252,247,213,255,248,89,252,242,15,
339 42,197,252,233,244,72,255,248,135,139,68,36,84,252,233,244,63,255,248,140,
340 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,
341 239,15,133,244,63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,
342 122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,
343 2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,
344 242,15,88,202,102,15,126,197,102,15,126,201,255,211,229,252,233,244,89,255,
345 248,141,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,
346 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,
347 15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,
348 110,213,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,
349 255,211,252,237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,
350 129,122,253,4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,
351 239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,
352 15,16,74,8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,
353 88,202,102,15,126,197,102,15,126,201,255,211,252,253,252,233,244,89,255,248,
354 143,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,248,
355 239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,
356 244,63,252,242,15,16,2,252,242,15,16,74,8,72,189,237,237,102,72,15,110,213,
357 252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,201,255,211,
358 197,252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,129,122,253,
359 4,239,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
360 244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,74,
361 8,72,189,237,237,102,72,15,110,213,252,242,15,88,194,252,242,15,88,202,102,
362 15,126,197,102,15,126,201,255,211,205,252,233,244,89,248,127,184,237,252,
363 233,244,63,248,129,184,237,248,63,139,108,36,96,139,114,252,252,137,116,36,
364 100,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,66,252,248,
365 59,141,233,15,135,244,251,137,252,233,252,255,144,233,139,149,233,133,192,
366 15,143,244,78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,141,65,1,
367 139,106,252,248,15,133,244,33,139,181,233,139,14,15,182,252,233,15,182,205,
368 131,198,4,252,255,36,252,235,248,33,137,209,252,247,198,237,15,133,244,249,
369 15,182,110,252,253,72,252,247,213,141,20,252,234,252,233,244,28,248,3,137,
370 252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,252,233,
371 232,251,1,0,139,149,233,49,192,252,233,244,1,248,75,93,72,137,108,36,32,139,
372 108,36,96,137,116,36,100,137,149,233,255,141,68,194,252,248,137,252,233,137,
373 133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,192,1,72,
374 139,108,36,32,85,195,248,145,255,15,182,131,233,168,235,15,133,244,251,168,
375 235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,244,247,
376 255,248,146,15,182,131,233,168,235,15,133,244,251,252,233,244,247,248,147,
377 15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,255,139,
378 233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,96,137,149,
379 233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,15,182,78,
380 252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,253,252,235,
381 233,248,148,131,198,4,139,77,232,137,76,36,84,252,233,244,4,248,149,255,139,
382 106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,96,137,149,233,
383 137,133,233,137,252,242,141,139,233,72,137,171,233,137,116,36,100,232,251,
384 1,23,252,233,244,3,255,248,150,137,116,36,100,255,248,151,255,137,116,36,
385 100,131,206,1,248,1,255,141,68,194,252,248,139,108,36,96,137,149,233,137,
386 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,100,0,0,0,0,255,131,
387 230,252,254,255,139,149,233,72,137,193,139,133,233,41,208,72,137,205,15,182,
388 78,252,253,193,232,3,131,192,1,252,255,229,248,152,255,65,85,65,84,65,83,
389 65,82,65,81,65,80,87,86,85,72,141,108,36,88,85,83,82,81,80,15,182,69,252,
390 248,138,101,252,240,76,137,125,252,248,76,137,117,252,240,139,93,0,139,139,
391 233,199,131,233,237,137,131,233,137,139,233,72,129,252,236,239,72,131,197,
392 128,252,242,68,15,17,125,252,248,252,242,68,15,17,117,252,240,252,242,68,
393 15,17,109,232,252,242,68,15,17,101,224,252,242,68,15,17,93,216,252,242,68,
394 15,17,85,208,252,242,68,15,17,77,200,252,242,68,15,17,69,192,252,242,15,17,
395 125,184,252,242,15,17,117,176,252,242,15,17,109,168,252,242,15,17,101,160,
396 252,242,15,17,93,152,252,242,15,17,85,144,252,242,15,17,77,136,252,242,15,
397 17,69,128,139,171,233,139,147,233,72,137,171,233,199,131,233,0,0,0,0,137,
398 149,233,72,141,148,253,36,233,141,139,233,232,251,1,25,72,139,141,233,72,
399 129,225,239,137,169,233,139,149,233,139,177,233,252,233,244,247,255,248,153,
400 255,72,141,140,253,36,233,248,1,102,68,15,111,185,233,102,68,15,111,177,233,
401 102,68,15,111,169,233,102,68,15,111,161,233,102,68,15,111,153,233,102,68,
402 15,111,145,233,102,68,15,111,137,233,102,68,15,111,129,233,102,15,111,185,
403 233,72,137,204,102,15,111,49,76,139,124,36,16,76,139,116,36,24,76,139,108,
404 36,32,76,139,100,36,80,133,192,15,136,244,249,137,68,36,84,139,122,252,248,
405 139,191,233,139,191,233,199,131,233,0,0,0,0,199,131,233,237,139,6,15,182,
406 204,15,182,232,131,198,4,193,232,16,129,252,253,239,15,130,244,248,255,139,
407 68,36,84,248,2,252,255,36,252,235,248,3,252,247,216,137,252,233,137,194,232,
408 251,1,26,255,248,91,255,217,124,36,4,137,68,36,8,102,184,0,4,102,11,68,36,
409 4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,
410 36,4,139,68,36,8,195,255,248,154,72,184,237,237,102,72,15,110,208,72,184,
411 237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,
412 247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,72,184,
413 237,237,102,72,15,110,208,252,242,15,194,193,1,102,15,84,194,252,242,15,92,
414 200,15,40,193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,184,0,8,102,
415 11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,6,217,252,252,
416 217,108,36,4,139,68,36,8,195,255,248,155,72,184,237,237,102,72,15,110,208,
417 72,184,237,237,102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,
418 134,244,247,102,15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,
419 72,184,237,237,102,72,15,110,208,252,242,15,194,193,6,102,15,84,194,252,242,
420 15,92,200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,
421 0,12,102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,
422 139,68,36,8,195,255,248,156,72,184,237,237,102,72,15,110,208,72,184,237,237,
423 102,72,15,110,216,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
424 15,85,208,15,40,193,252,242,15,88,203,252,242,15,92,203,72,184,237,237,102,
425 72,15,110,216,252,242,15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,
426 86,202,15,40,193,248,1,195,248,157,255,15,40,232,252,242,15,94,193,72,184,
427 237,237,102,72,15,110,208,72,184,237,237,102,72,15,110,216,15,40,224,102,
428 15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,227,252,
429 242,15,92,227,102,15,86,226,72,184,237,237,102,72,15,110,208,252,242,15,194,
430 196,1,102,15,84,194,252,242,15,92,224,15,40,197,252,242,15,89,204,252,242,
431 15,92,193,195,248,1,252,242,15,89,200,15,40,197,252,242,15,92,193,195,255,
432 217,193,216,252,241,217,124,36,4,102,184,0,4,102,11,68,36,4,102,37,252,255,
433 252,247,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,222,201,222,
434 252,233,195,255,248,98,217,252,234,222,201,248,158,217,84,36,8,129,124,36,
435 8,0,0,128,127,15,132,244,247,129,124,36,8,0,0,128,252,255,15,132,244,248,
436 248,159,217,192,217,252,252,220,252,233,217,201,217,252,240,217,232,222,193,
437 217,252,253,221,217,248,1,195,248,2,221,216,217,252,238,195,255,248,117,255,
438 248,160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,
439 15,138,244,255,248,161,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,
440 133,244,248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,
441 244,251,15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,
442 3,255,252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,
443 6,15,132,244,5,15,130,244,253,252,247,216,232,244,1,72,184,237,237,102,72,
444 15,110,200,252,242,15,94,200,15,40,193,195,248,7,72,184,237,237,102,72,15,
445 110,192,195,248,8,102,72,15,126,200,72,209,224,72,193,192,12,72,61,252,254,
446 15,0,0,15,132,244,248,102,72,15,126,192,72,209,224,15,132,244,250,255,72,
447 193,192,12,72,61,252,254,15,0,0,15,132,244,251,252,242,15,17,76,36,16,252,
448 242,15,17,68,36,8,221,68,36,16,221,68,36,8,217,252,241,217,192,217,252,252,
449 220,252,233,217,201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,
450 36,8,252,242,15,16,68,36,8,195,248,9,72,184,237,237,102,72,15,110,208,102,
451 15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,72,184,237,237,102,72,
452 15,110,208,102,15,84,194,72,184,237,237,102,72,15,110,208,102,15,46,194,15,
453 132,244,1,102,15,80,193,15,87,192,136,196,15,146,208,48,224,15,133,244,1,
454 248,3,72,184,237,237,255,102,72,15,110,192,195,248,4,102,15,80,193,133,192,
455 15,133,244,3,15,87,192,195,248,5,102,15,80,193,133,192,15,132,244,3,15,87,
456 192,195,248,162,255,131,252,250,1,15,130,244,91,15,132,244,93,131,252,250,
457 3,15,130,244,114,15,135,244,248,252,242,15,81,192,195,248,2,252,242,15,17,
458 68,36,8,221,68,36,8,131,252,250,5,15,135,244,248,88,15,132,244,247,232,244,
459 98,80,252,233,244,253,248,1,232,244,158,255,80,252,233,244,253,248,2,131,
460 252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,252,
461 233,244,253,248,1,217,232,217,201,217,252,241,252,233,244,253,248,2,131,252,
462 250,9,15,132,244,247,15,135,244,248,217,252,236,217,201,217,252,241,252,233,
463 244,253,248,1,255,217,252,254,252,233,244,253,248,2,131,252,250,11,15,132,
464 244,247,15,135,244,255,217,252,255,252,233,244,253,248,1,217,252,242,221,
465 216,248,7,221,92,36,8,252,242,15,16,68,36,8,195,255,139,84,36,12,221,68,36,
466 4,131,252,250,1,15,130,244,91,15,132,244,93,131,252,250,3,15,130,244,114,
467 15,135,244,248,217,252,250,195,248,2,131,252,250,5,15,130,244,98,15,132,244,
468 158,131,252,250,7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,
469 241,195,248,1,217,232,217,201,217,252,241,195,248,2,131,252,250,9,15,132,
470 244,247,255,15,135,244,248,217,252,236,217,201,217,252,241,195,248,1,217,
471 252,254,195,248,2,131,252,250,11,15,132,244,247,15,135,244,255,217,252,255,
472 195,248,1,217,252,242,221,216,195,255,248,9,204,255,248,163,255,65,131,252,
473 248,1,15,132,244,247,15,135,244,248,252,242,15,88,193,195,248,1,252,242,15,
474 92,193,195,248,2,65,131,252,248,3,15,132,244,247,15,135,244,248,252,242,15,
475 89,193,195,248,1,252,242,15,94,193,195,248,2,65,131,252,248,5,15,130,244,
476 157,15,132,244,117,65,131,252,248,7,15,132,244,247,15,135,244,248,72,184,
477 237,237,255,102,72,15,110,200,15,87,193,195,248,1,72,184,237,237,102,72,15,
478 110,200,15,84,193,195,248,2,65,131,252,248,9,15,135,244,248,252,242,15,17,
479 68,36,8,252,242,15,17,76,36,16,221,68,36,8,221,68,36,16,15,132,244,247,217,
480 252,243,248,7,221,92,36,8,252,242,15,16,68,36,8,195,248,1,217,201,217,252,
481 253,221,217,252,233,244,7,248,2,65,131,252,248,11,15,132,244,247,15,135,244,
482 255,252,242,15,93,193,195,248,1,252,242,15,95,193,195,248,9,204,255,139,68,
483 36,20,221,68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,
484 222,193,195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,
485 244,248,222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,
486 157,15,132,244,117,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,
487 217,224,195,248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,
488 15,135,244,248,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
489 2,131,252,248,11,15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,
490 217,195,248,1,219,252,233,218,209,221,217,195,255,221,225,223,224,252,246,
491 196,1,15,132,244,248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,
492 246,196,1,15,133,244,248,217,201,248,2,221,216,195,255,248,164,137,200,86,
493 72,137,214,83,15,162,137,6,137,94,4,137,78,8,137,86,12,91,94,195,248,165,
494 255,204,248,166,255,87,86,83,72,131,252,236,40,141,157,233,139,181,233,15,
495 183,192,137,134,233,72,137,142,233,72,137,150,233,76,137,134,233,76,137,142,
496 233,252,242,15,17,134,233,252,242,15,17,142,233,252,242,15,17,150,233,252,
497 242,15,17,158,233,72,141,132,253,36,233,72,137,134,233,72,137,226,137,116,
498 36,100,137,252,241,232,251,1,27,199,131,233,237,139,144,233,139,128,233,41,
499 208,139,106,252,248,193,232,3,131,192,1,139,181,233,139,14,15,182,252,233,
500 15,182,205,131,198,4,252,255,36,252,235,255,248,32,255,139,76,36,96,139,179,
501 233,72,137,142,233,137,145,233,137,169,233,137,252,241,137,194,232,251,1,
502 28,72,139,134,233,252,242,15,16,134,233,252,233,244,16,255,248,167,255,85,
503 72,137,229,83,72,137,203,139,131,233,72,41,196,255,15,182,139,233,131,252,
504 233,1,15,136,244,248,248,1,72,139,132,253,203,233,72,137,132,253,204,233,
505 131,252,233,1,15,137,244,1,248,2,15,182,131,233,72,139,139,233,72,139,147,
506 233,76,139,131,233,76,139,139,233,133,192,15,132,244,251,15,40,131,233,15,
507 40,139,233,15,40,147,233,15,40,155,233,248,5,255,252,255,147,233,72,137,131,
508 233,15,41,131,233,255,72,139,93,252,248,201,195,255,129,124,253,202,4,239,
509 15,133,244,253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,
510 59,44,194,255,15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,
511 142,244,255,255,248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,
512 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,15,135,244,
513 44,129,124,253,194,4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,
514 194,252,233,244,248,255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,
515 135,244,44,255,252,242,15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,
516 46,193,255,15,134,244,9,255,15,135,244,9,255,15,130,244,9,255,15,131,244,
517 9,255,252,233,244,6,255,219,4,202,252,233,244,248,255,129,124,253,202,4,239,
518 15,131,244,44,129,124,253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,
519 4,194,248,2,131,198,4,102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,
520 4,194,248,3,131,198,4,255,223,252,233,221,216,255,218,252,233,223,224,158,
521 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,
522 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
523 16,252,255,36,252,235,255,139,108,194,4,131,198,4,255,129,252,253,239,15,
524 133,244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,
525 15,133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233,
526 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
527 248,7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,
528 255,252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,
529 251,255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,
530 233,244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,
531 244,251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,
532 1,221,4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,
533 138,244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,
534 248,2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,
535 9,255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,244,49,255,
536 57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,202,139,4,194,
537 57,193,15,132,244,1,129,252,253,239,15,135,244,2,129,252,253,239,15,130,244,
538 2,139,169,233,133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,
539 49,252,237,255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,
540 15,133,244,9,255,252,233,244,49,255,72,252,247,208,139,108,202,4,131,198,
541 4,129,252,253,239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,
542 198,4,255,129,252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,
543 254,139,44,199,59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,
544 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,7,
545 15,135,244,249,129,124,253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,
546 255,219,4,199,255,252,233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,
547 4,199,255,219,4,202,221,4,199,255,129,252,253,239,15,131,244,249,255,248,
548 1,252,242,15,16,4,199,248,2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,
549 2,221,4,202,248,4,255,72,252,247,208,139,108,202,4,131,198,4,57,197,255,15,
550 133,244,249,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,
551 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,129,252,253,239,
552 15,133,244,2,252,233,244,49,255,15,132,244,248,129,252,253,239,15,132,244,
553 49,15,183,70,252,254,141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,
554 131,198,4,193,232,16,252,255,36,252,235,255,139,108,194,4,131,198,4,129,252,
555 253,239,255,137,108,202,4,139,44,194,137,44,202,255,72,139,44,194,72,137,
556 44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
557 255,49,252,237,129,124,253,194,4,239,129,213,239,137,108,202,4,139,6,15,182,
558 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,129,124,253,194,
559 4,239,15,133,244,251,139,44,194,252,247,221,15,128,244,250,199,68,202,4,237,
560 137,44,202,248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
561 36,252,235,248,4,199,68,202,4,0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,
562 248,5,15,135,244,54,255,129,124,253,194,4,239,15,131,244,54,255,252,242,15,
563 16,4,194,72,184,237,237,102,72,15,110,200,15,87,193,252,242,15,17,4,202,255,
564 221,4,194,217,224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,
565 4,194,255,139,128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,
566 242,15,42,128,233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,
567 202,255,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,
568 248,2,129,124,253,194,4,239,15,133,244,57,139,12,194,255,139,169,233,131,
569 252,253,0,15,133,244,255,248,3,255,248,58,137,213,232,251,1,20,255,252,242,
570 15,42,192,255,137,252,234,15,182,78,252,253,252,233,244,1,255,248,9,252,246,
571 133,233,235,15,133,244,3,252,233,244,57,255,15,182,252,236,15,182,192,255,
572 129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,244,
573 51,139,44,252,234,3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,15,
574 133,244,53,129,124,253,199,4,239,15,133,244,53,139,4,199,3,4,252,234,15,128,
575 244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,239,
576 15,133,244,56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,237,
577 255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,15,
578 131,244,51,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,
579 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,129,124,253,
580 199,4,239,15,131,244,53,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,
581 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,124,
582 253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,4,194,
583 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,51,129,
584 124,253,199,4,239,15,133,244,51,139,44,252,234,43,44,199,15,128,244,50,255,
585 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
586 53,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,15,
587 133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,43,44,194,15,
588 128,244,55,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
589 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
590 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
591 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,51,129,124,
592 253,199,4,239,15,133,244,51,139,44,252,234,15,175,44,199,15,128,244,50,255,
593 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
594 53,139,4,199,15,175,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,
595 15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,15,175,44,
596 194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
597 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
598 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
599 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
600 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,
601 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
602 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
603 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
604 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
605 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,
606 157,255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,139,
607 76,36,96,137,145,233,141,20,194,65,137,192,65,41,232,248,36,137,205,137,116,
608 36,100,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,110,252,255,
609 15,182,78,252,253,72,139,4,252,234,72,137,4,202,139,6,15,182,204,15,182,232,
610 131,198,4,193,232,16,252,255,36,252,235,255,72,252,247,208,139,4,135,199,
611 68,202,4,237,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
612 255,36,252,235,255,15,191,192,199,68,202,4,237,137,4,202,255,15,191,192,252,
613 242,15,42,192,252,242,15,17,4,202,255,223,70,252,254,221,28,202,255,252,242,
614 15,16,4,199,252,242,15,17,4,202,255,221,4,199,221,28,202,255,72,252,247,208,
615 137,68,202,4,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
616 252,235,255,141,76,202,12,141,68,194,4,189,237,137,105,252,248,248,1,137,
617 41,131,193,8,57,193,15,134,244,1,139,6,15,182,204,15,182,232,131,198,4,193,
618 232,16,252,255,36,252,235,255,139,106,252,248,139,172,253,133,233,139,173,
619 233,72,139,69,0,72,137,4,202,139,6,15,182,204,15,182,232,131,198,4,193,232,
620 16,252,255,36,252,235,255,139,106,252,248,139,172,253,141,233,128,189,233,
621 0,139,173,233,139,12,194,139,68,194,4,137,77,0,137,69,4,15,132,244,247,252,
622 246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,
623 4,193,232,16,252,255,36,252,235,248,2,129,232,239,129,252,248,239,15,134,
624 244,1,252,246,129,233,235,15,132,244,1,135,213,141,139,233,255,232,251,1,
625 30,137,252,234,252,233,244,1,255,72,252,247,208,139,106,252,248,139,172,253,
626 141,233,139,12,135,139,133,233,137,8,199,64,4,237,252,246,133,233,235,15,
627 133,244,248,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
628 36,252,235,248,2,252,246,129,233,235,15,132,244,1,128,189,233,0,15,132,244,
629 1,137,213,137,194,141,139,233,232,251,1,30,137,252,234,252,233,244,1,255,
630 139,106,252,248,255,252,242,15,16,4,199,255,139,172,253,141,233,139,141,233,
631 255,252,242,15,17,1,255,221,25,255,72,252,247,208,139,106,252,248,139,172,
632 253,141,233,139,141,233,137,65,4,139,6,15,182,204,15,182,232,131,198,4,193,
633 232,16,252,255,36,252,235,255,141,180,253,134,233,139,108,36,96,131,189,233,
634 0,15,132,244,247,137,149,233,141,20,202,137,252,233,232,251,1,31,139,149,
635 233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
636 235,255,72,252,247,208,139,108,36,96,137,149,233,68,139,66,252,248,139,20,
637 135,137,252,233,137,116,36,100,232,251,1,32,139,149,233,15,182,78,252,253,
638 137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
639 16,252,255,36,252,235,255,139,108,36,96,137,149,233,139,139,233,59,139,233,
640 137,116,36,100,15,131,244,251,248,1,65,137,192,37,252,255,7,0,0,65,193,232,
641 11,61,252,255,7,0,0,15,132,244,249,248,2,137,252,233,137,194,232,251,1,33,
642 139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,
643 15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,184,1,8,0,0,252,
644 233,244,2,248,5,137,252,233,232,251,1,34,15,183,70,252,254,252,233,244,1,
645 255,72,252,247,208,139,108,36,96,139,139,233,137,116,36,100,59,139,233,137,
646 149,233,15,131,244,249,248,2,139,20,135,137,252,233,232,251,1,35,139,149,
647 233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,204,15,182,
648 232,131,198,4,193,232,16,252,255,36,252,235,248,3,137,252,233,232,251,1,34,
649 15,183,70,252,254,72,252,247,208,252,233,244,2,255,72,252,247,208,139,106,
650 252,248,139,173,233,139,4,135,252,233,244,169,255,72,252,247,208,139,106,
651 252,248,139,173,233,139,4,135,252,233,244,170,255,15,182,252,236,15,182,192,
652 129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,255,129,124,253,194,
653 4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,239,15,131,244,251,255,
654 252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,200,102,15,46,193,255,
655 15,133,244,39,255,59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,
656 4,239,15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,
657 232,131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,
658 249,139,141,233,252,246,129,233,235,15,132,244,39,15,182,78,252,253,248,3,
659 199,68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,
660 39,139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,72,252,247,208,
661 139,4,135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,
662 139,141,233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,
663 244,250,57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,
664 70,252,253,72,139,41,72,137,44,194,248,2,255,139,6,15,182,204,15,182,232,
665 131,198,4,193,232,16,252,255,36,252,235,248,3,15,182,70,252,253,199,68,194,
666 4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,141,
667 233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,37,
668 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,139,
669 44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,239,
670 15,132,244,248,72,139,40,72,137,44,202,248,1,139,6,15,182,204,15,182,232,
671 131,198,4,193,232,16,252,255,36,252,235,248,2,131,189,233,0,15,132,244,249,
672 139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,78,252,253,248,3,
673 199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,192,129,124,253,
674 252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,42,255,59,133,233,
675 15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,
676 252,246,133,233,235,15,133,244,253,248,2,72,139,44,202,72,137,40,139,6,15,
677 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,3,131,189,
678 233,0,15,132,244,1,139,141,233,252,246,129,233,235,255,15,132,244,42,15,182,
679 78,252,253,252,233,244,1,248,5,129,124,253,194,4,239,15,133,244,42,139,4,
680 194,252,233,244,170,248,7,128,165,233,235,139,139,233,137,171,233,137,141,
681 233,15,182,78,252,253,252,233,244,2,255,15,182,252,236,15,182,192,72,252,
682 247,208,139,4,135,129,124,253,252,234,4,239,15,133,244,40,139,44,252,234,
683 248,170,139,141,233,35,136,233,105,201,239,198,133,233,0,3,141,233,248,1,
684 129,185,233,239,15,133,244,251,57,129,233,15,133,244,251,129,121,253,4,239,
685 15,132,244,250,248,2,255,252,246,133,233,235,15,133,244,253,248,3,15,182,
686 70,252,253,72,139,44,194,72,137,41,139,6,15,182,204,15,182,232,131,198,4,
687 193,232,16,252,255,36,252,235,248,4,131,189,233,0,15,132,244,2,137,76,36,
688 80,139,141,233,252,246,129,233,235,15,132,244,40,139,76,36,80,252,233,244,
689 2,248,5,139,137,233,133,201,15,133,244,1,255,139,141,233,133,201,15,132,244,
690 252,252,246,129,233,235,15,132,244,40,248,6,137,68,36,80,199,68,36,84,237,
691 137,108,36,32,139,76,36,96,137,145,233,76,141,68,36,80,137,252,234,137,205,
692 137,116,36,100,232,251,1,36,139,149,233,139,108,36,32,137,193,252,233,244,
693 2,248,7,128,165,233,235,139,131,233,137,171,233,137,133,233,252,233,244,3,
694 255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,41,139,
695 44,252,234,59,133,233,15,131,244,41,193,224,3,3,133,233,129,120,253,4,239,
696 15,132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,72,139,12,202,
697 72,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,
698 235,248,3,131,189,233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,
699 15,132,244,41,15,182,78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,
700 233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,
701 80,139,60,199,248,1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,
702 244,253,248,2,139,68,36,84,131,232,1,15,132,244,250,1,252,248,59,133,233,
703 15,135,244,251,41,252,248,193,231,3,3,189,233,248,3,72,139,41,131,193,8,72,
704 137,47,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,80,139,6,15,182,
705 204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,139,76,36,96,
706 137,145,233,137,252,234,65,137,192,137,205,137,116,36,100,232,251,1,37,139,
707 149,233,15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,
708 233,137,171,233,137,133,233,252,233,244,2,255,3,68,36,84,255,129,124,253,
709 202,4,239,139,44,202,15,133,244,59,141,84,202,8,137,114,252,252,139,181,233,
710 139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,252,235,255,141,76,
711 202,8,137,215,139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,60,
712 139,114,252,252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,
713 68,36,84,131,232,1,15,132,244,249,248,2,72,139,41,131,193,8,72,137,47,131,
714 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,84,128,189,233,
715 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
716 4,252,255,36,252,235,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,
717 253,72,252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,
718 233,244,4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,
719 137,215,139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,
720 141,76,202,8,72,139,105,232,72,139,65,252,240,72,137,41,72,137,65,8,139,105,
721 224,139,65,228,137,105,252,248,137,65,252,252,129,252,248,239,184,237,15,
722 133,244,29,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,
723 205,131,198,4,252,255,36,252,235,255,137,124,36,80,137,92,36,84,139,108,202,
724 252,240,139,68,202,252,248,139,157,233,131,198,4,139,189,233,248,1,57,216,
725 15,131,244,251,129,124,253,199,4,239,15,132,244,250,255,219,68,202,252,248,
726 255,72,139,44,199,72,137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,
727 15,183,70,252,254,141,180,253,134,233,248,3,139,92,36,84,139,124,36,80,139,
728 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,4,131,
729 192,1,255,137,68,202,252,248,255,252,233,244,1,248,5,41,216,248,6,59,133,
730 233,15,135,244,3,105,252,248,239,3,189,233,129,191,233,239,15,132,244,253,
731 141,92,24,1,72,139,175,233,72,139,135,233,72,137,44,202,72,137,68,202,8,137,
732 92,202,252,248,252,233,244,2,248,7,131,192,1,252,233,244,6,255,129,124,253,
733 202,252,236,239,15,133,244,251,139,108,202,232,129,124,253,202,252,244,239,
734 15,133,244,251,129,124,253,202,252,252,239,15,133,244,251,128,189,233,235,
735 15,133,244,251,141,180,253,134,233,199,68,202,252,248,0,0,0,0,248,1,139,6,
736 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,248,5,198,70,
737 252,252,235,141,180,253,134,233,198,6,235,252,233,244,1,255,15,182,252,236,
738 15,182,192,137,124,36,80,141,188,253,194,233,141,12,202,43,122,252,252,133,
739 252,237,15,132,244,251,141,108,252,233,252,248,57,215,15,131,244,248,248,
740 1,72,139,71,252,248,131,199,8,72,137,1,131,193,8,57,252,233,15,131,244,249,
741 57,215,15,130,244,1,248,2,199,65,4,237,131,193,8,57,252,233,15,130,244,2,
742 248,3,139,124,36,80,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
743 255,36,252,235,248,5,199,68,36,84,1,0,0,0,137,208,41,252,248,15,134,244,3,
744 137,197,193,252,237,3,131,197,1,137,108,36,84,139,108,36,96,1,200,59,133,
745 233,15,135,244,253,248,6,255,72,139,71,252,248,131,199,8,72,137,1,131,193,
746 8,57,215,15,130,244,6,252,233,244,3,248,7,137,149,233,137,141,233,137,116,
747 36,100,41,215,139,84,36,84,131,252,234,1,137,252,233,232,251,1,0,139,149,
748 233,139,141,233,1,215,252,233,244,6,255,193,225,3,255,248,1,139,114,252,252,
749 137,68,36,84,252,247,198,237,15,133,244,253,255,248,13,137,215,131,232,1,
750 15,132,244,249,248,2,72,139,44,15,72,137,111,252,248,131,199,8,131,232,1,
751 15,133,244,2,248,3,139,68,36,84,15,182,110,252,255,248,5,57,197,15,135,244,
752 252,255,72,139,44,10,72,137,106,252,248,255,248,5,56,70,252,255,15,135,244,
753 252,255,15,182,78,252,253,72,252,247,209,141,20,202,139,122,252,248,139,191,
754 233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
755 36,252,235,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,252,244,
756 237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,15,133,
757 244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,239,102,
758 129,172,253,43,233,238,15,130,244,149,255,141,12,202,255,129,121,253,4,239,
759 15,133,244,255,255,129,121,253,12,239,15,133,244,61,129,121,253,20,239,15,
760 133,244,61,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,239,15,133,
761 244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252,237,15,136,
762 244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,137,105,24,
763 255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,253,134,233,
764 15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,6,141,180,
765 253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,4,193,232,
766 16,252,255,36,252,235,248,5,255,3,41,15,128,244,1,137,41,255,15,141,244,7,
767 255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,7,255,
768 252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,61,129,121,253,12,
769 239,15,131,244,61,255,129,121,253,12,239,15,131,244,165,129,121,253,20,239,
770 15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,61,255,252,242,
771 15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,1,133,252,
772 237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,242,15,
773 17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,237,15,
774 136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,183,70,
775 252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,141,180,
776 253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,130,244,
777 248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,141,12,
778 202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,41,137,
779 105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,252,137,
780 65,252,248,255,139,139,233,139,4,129,72,139,128,233,139,108,36,96,137,147,
781 233,137,171,233,76,137,100,36,80,76,137,108,36,32,76,137,116,36,24,76,137,
782 124,36,16,72,137,225,72,129,252,236,239,102,15,127,49,102,15,127,185,233,
783 102,68,15,127,129,233,102,68,15,127,137,233,102,68,15,127,145,233,102,68,
784 15,127,153,233,102,68,15,127,161,233,102,68,15,127,169,233,102,68,15,127,
785 177,233,102,68,15,127,185,233,252,255,224,255,141,180,253,134,233,139,6,15,
786 182,204,15,182,232,131,198,4,193,232,16,252,255,36,252,235,255,137,252,245,
787 209,252,237,129,229,239,102,129,172,253,43,233,238,15,130,244,151,255,139,
788 190,233,139,108,36,96,141,12,202,59,141,233,15,135,244,24,15,182,142,233,
789 57,200,15,134,244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,
790 68,194,252,252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,
791 197,237,141,4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,
792 36,96,141,12,200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,
793 133,252,237,15,132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,
794 252,248,137,56,139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,
795 252,237,1,15,133,244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,
796 131,198,4,193,232,16,252,255,36,252,235,255,248,3,199,64,4,237,131,192,8,
797 131,252,237,1,15,133,244,3,252,233,244,2,255,139,106,252,248,72,139,189,233,
798 139,108,36,96,141,68,194,252,248,137,149,233,141,136,233,59,141,233,137,133,
799 233,255,72,137,252,250,137,252,233,255,15,135,244,22,199,131,233,237,255,
800 252,255,215,255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,
801 252,247,217,3,141,233,139,114,252,252,252,233,244,12,255,254,0
802};
803
804enum {
805 GLOB_vm_returnp,
806 GLOB_cont_dispatch,
807 GLOB_vm_returnc,
808 GLOB_BC_RET_Z,
809 GLOB_vm_return,
810 GLOB_vm_leave_cp,
811 GLOB_vm_leave_unw,
812 GLOB_vm_unwind_c,
813 GLOB_vm_unwind_c_eh,
814 GLOB_vm_unwind_rethrow,
815 GLOB_vm_unwind_ff,
816 GLOB_vm_unwind_ff_eh,
817 GLOB_vm_growstack_c,
818 GLOB_vm_growstack_v,
819 GLOB_vm_growstack_f,
820 GLOB_vm_resume,
821 GLOB_vm_pcall,
822 GLOB_vm_call,
823 GLOB_vm_call_dispatch,
824 GLOB_vmeta_call,
825 GLOB_vm_call_dispatch_f,
826 GLOB_vm_cpcall,
827 GLOB_cont_ffi_callback,
828 GLOB_vm_call_tail,
829 GLOB_cont_cat,
830 GLOB_cont_ra,
831 GLOB_BC_CAT_Z,
832 GLOB_vmeta_tgets,
833 GLOB_vmeta_tgetb,
834 GLOB_vmeta_tgetv,
835 GLOB_vmeta_tsets,
836 GLOB_vmeta_tsetb,
837 GLOB_vmeta_tsetv,
838 GLOB_cont_nop,
839 GLOB_vmeta_comp,
840 GLOB_vmeta_binop,
841 GLOB_cont_condt,
842 GLOB_cont_condf,
843 GLOB_vmeta_equal,
844 GLOB_vmeta_equal_cd,
845 GLOB_vmeta_arith_vno,
846 GLOB_vmeta_arith_vn,
847 GLOB_vmeta_arith_nvo,
848 GLOB_vmeta_arith_nv,
849 GLOB_vmeta_unm,
850 GLOB_vmeta_arith_vvo,
851 GLOB_vmeta_arith_vv,
852 GLOB_vmeta_len,
853 GLOB_BC_LEN_Z,
854 GLOB_vmeta_call_ra,
855 GLOB_BC_CALLT_Z,
856 GLOB_vmeta_for,
857 GLOB_ff_assert,
858 GLOB_fff_fallback,
859 GLOB_fff_res_,
860 GLOB_ff_type,
861 GLOB_fff_res1,
862 GLOB_ff_getmetatable,
863 GLOB_ff_setmetatable,
864 GLOB_ff_rawget,
865 GLOB_ff_tonumber,
866 GLOB_fff_resi,
867 GLOB_fff_resxmm0,
868 GLOB_fff_resn,
869 GLOB_ff_tostring,
870 GLOB_fff_gcstep,
871 GLOB_ff_next,
872 GLOB_fff_res2,
873 GLOB_fff_res,
874 GLOB_ff_pairs,
875 GLOB_ff_ipairs_aux,
876 GLOB_fff_res0,
877 GLOB_ff_ipairs,
878 GLOB_ff_pcall,
879 GLOB_ff_xpcall,
880 GLOB_ff_coroutine_resume,
881 GLOB_ff_coroutine_wrap_aux,
882 GLOB_ff_coroutine_yield,
883 GLOB_ff_math_abs,
884 GLOB_fff_resbit,
885 GLOB_ff_math_floor,
886 GLOB_vm_floor,
887 GLOB_ff_math_ceil,
888 GLOB_vm_ceil,
889 GLOB_ff_math_sqrt,
890 GLOB_ff_math_log,
891 GLOB_ff_math_log10,
892 GLOB_ff_math_exp,
893 GLOB_vm_exp_x87,
894 GLOB_ff_math_sin,
895 GLOB_ff_math_cos,
896 GLOB_ff_math_tan,
897 GLOB_ff_math_asin,
898 GLOB_ff_math_acos,
899 GLOB_ff_math_atan,
900 GLOB_ff_math_sinh,
901 GLOB_ff_math_cosh,
902 GLOB_ff_math_tanh,
903 GLOB_ff_math_deg,
904 GLOB_ff_math_rad,
905 GLOB_ff_math_atan2,
906 GLOB_ff_math_ldexp,
907 GLOB_ff_math_frexp,
908 GLOB_ff_math_modf,
909 GLOB_vm_trunc,
910 GLOB_ff_math_fmod,
911 GLOB_ff_math_pow,
912 GLOB_vm_pow,
913 GLOB_ff_math_min,
914 GLOB_ff_math_max,
915 GLOB_ff_string_len,
916 GLOB_ff_string_byte,
917 GLOB_ff_string_char,
918 GLOB_fff_newstr,
919 GLOB_ff_string_sub,
920 GLOB_fff_emptystr,
921 GLOB_ff_string_rep,
922 GLOB_fff_fallback_2,
923 GLOB_ff_string_reverse,
924 GLOB_fff_fallback_1,
925 GLOB_ff_string_lower,
926 GLOB_ff_string_upper,
927 GLOB_ff_table_getn,
928 GLOB_ff_bit_tobit,
929 GLOB_ff_bit_band,
930 GLOB_fff_fallback_bit_op,
931 GLOB_ff_bit_bor,
932 GLOB_ff_bit_bxor,
933 GLOB_ff_bit_bswap,
934 GLOB_ff_bit_bnot,
935 GLOB_ff_bit_lshift,
936 GLOB_ff_bit_rshift,
937 GLOB_ff_bit_arshift,
938 GLOB_ff_bit_rol,
939 GLOB_ff_bit_ror,
940 GLOB_vm_record,
941 GLOB_vm_rethook,
942 GLOB_vm_inshook,
943 GLOB_cont_hook,
944 GLOB_vm_hotloop,
945 GLOB_vm_callhook,
946 GLOB_vm_hotcall,
947 GLOB_vm_exit_handler,
948 GLOB_vm_exit_interp,
949 GLOB_vm_floor_sse,
950 GLOB_vm_ceil_sse,
951 GLOB_vm_trunc_sse,
952 GLOB_vm_mod,
953 GLOB_vm_exp2_x87,
954 GLOB_vm_exp2raw,
955 GLOB_vm_pow_sse,
956 GLOB_vm_powi_sse,
957 GLOB_vm_foldfpm,
958 GLOB_vm_foldarith,
959 GLOB_vm_cpuid,
960 GLOB_assert_bad_for_arg_type,
961 GLOB_vm_ffi_callback,
962 GLOB_vm_ffi_call,
963 GLOB_BC_MODVN_Z,
964 GLOB_BC_TGETS_Z,
965 GLOB_BC_TSETS_Z,
966 GLOB__MAX
967};
968static const char *const globnames[] = {
969 "vm_returnp",
970 "cont_dispatch",
971 "vm_returnc",
972 "BC_RET_Z",
973 "vm_return",
974 "vm_leave_cp",
975 "vm_leave_unw",
976 "vm_unwind_c@8",
977 "vm_unwind_c_eh",
978 "vm_unwind_rethrow",
979 "vm_unwind_ff@4",
980 "vm_unwind_ff_eh",
981 "vm_growstack_c",
982 "vm_growstack_v",
983 "vm_growstack_f",
984 "vm_resume",
985 "vm_pcall",
986 "vm_call",
987 "vm_call_dispatch",
988 "vmeta_call",
989 "vm_call_dispatch_f",
990 "vm_cpcall",
991 "cont_ffi_callback",
992 "vm_call_tail",
993 "cont_cat",
994 "cont_ra",
995 "BC_CAT_Z",
996 "vmeta_tgets",
997 "vmeta_tgetb",
998 "vmeta_tgetv",
999 "vmeta_tsets",
1000 "vmeta_tsetb",
1001 "vmeta_tsetv",
1002 "cont_nop",
1003 "vmeta_comp",
1004 "vmeta_binop",
1005 "cont_condt",
1006 "cont_condf",
1007 "vmeta_equal",
1008 "vmeta_equal_cd",
1009 "vmeta_arith_vno",
1010 "vmeta_arith_vn",
1011 "vmeta_arith_nvo",
1012 "vmeta_arith_nv",
1013 "vmeta_unm",
1014 "vmeta_arith_vvo",
1015 "vmeta_arith_vv",
1016 "vmeta_len",
1017 "BC_LEN_Z",
1018 "vmeta_call_ra",
1019 "BC_CALLT_Z",
1020 "vmeta_for",
1021 "ff_assert",
1022 "fff_fallback",
1023 "fff_res_",
1024 "ff_type",
1025 "fff_res1",
1026 "ff_getmetatable",
1027 "ff_setmetatable",
1028 "ff_rawget",
1029 "ff_tonumber",
1030 "fff_resi",
1031 "fff_resxmm0",
1032 "fff_resn",
1033 "ff_tostring",
1034 "fff_gcstep",
1035 "ff_next",
1036 "fff_res2",
1037 "fff_res",
1038 "ff_pairs",
1039 "ff_ipairs_aux",
1040 "fff_res0",
1041 "ff_ipairs",
1042 "ff_pcall",
1043 "ff_xpcall",
1044 "ff_coroutine_resume",
1045 "ff_coroutine_wrap_aux",
1046 "ff_coroutine_yield",
1047 "ff_math_abs",
1048 "fff_resbit",
1049 "ff_math_floor",
1050 "vm_floor",
1051 "ff_math_ceil",
1052 "vm_ceil",
1053 "ff_math_sqrt",
1054 "ff_math_log",
1055 "ff_math_log10",
1056 "ff_math_exp",
1057 "vm_exp_x87",
1058 "ff_math_sin",
1059 "ff_math_cos",
1060 "ff_math_tan",
1061 "ff_math_asin",
1062 "ff_math_acos",
1063 "ff_math_atan",
1064 "ff_math_sinh",
1065 "ff_math_cosh",
1066 "ff_math_tanh",
1067 "ff_math_deg",
1068 "ff_math_rad",
1069 "ff_math_atan2",
1070 "ff_math_ldexp",
1071 "ff_math_frexp",
1072 "ff_math_modf",
1073 "vm_trunc",
1074 "ff_math_fmod",
1075 "ff_math_pow",
1076 "vm_pow",
1077 "ff_math_min",
1078 "ff_math_max",
1079 "ff_string_len",
1080 "ff_string_byte",
1081 "ff_string_char",
1082 "fff_newstr",
1083 "ff_string_sub",
1084 "fff_emptystr",
1085 "ff_string_rep",
1086 "fff_fallback_2",
1087 "ff_string_reverse",
1088 "fff_fallback_1",
1089 "ff_string_lower",
1090 "ff_string_upper",
1091 "ff_table_getn",
1092 "ff_bit_tobit",
1093 "ff_bit_band",
1094 "fff_fallback_bit_op",
1095 "ff_bit_bor",
1096 "ff_bit_bxor",
1097 "ff_bit_bswap",
1098 "ff_bit_bnot",
1099 "ff_bit_lshift",
1100 "ff_bit_rshift",
1101 "ff_bit_arshift",
1102 "ff_bit_rol",
1103 "ff_bit_ror",
1104 "vm_record",
1105 "vm_rethook",
1106 "vm_inshook",
1107 "cont_hook",
1108 "vm_hotloop",
1109 "vm_callhook",
1110 "vm_hotcall",
1111 "vm_exit_handler",
1112 "vm_exit_interp",
1113 "vm_floor_sse",
1114 "vm_ceil_sse",
1115 "vm_trunc_sse",
1116 "vm_mod",
1117 "vm_exp2_x87",
1118 "vm_exp2raw",
1119 "vm_pow_sse",
1120 "vm_powi_sse",
1121 "vm_foldfpm",
1122 "vm_foldarith",
1123 "vm_cpuid",
1124 "assert_bad_for_arg_type",
1125 "vm_ffi_callback",
1126 "vm_ffi_call@4",
1127 "BC_MODVN_Z",
1128 "BC_TGETS_Z",
1129 "BC_TSETS_Z",
1130 (const char *)0
1131};
1132static const char *const extnames[] = {
1133 "lj_state_growstack@8",
1134 "lj_meta_tget",
1135 "lj_meta_tset",
1136 "lj_meta_comp",
1137 "lj_meta_equal",
1138 "lj_meta_equal_cd@8",
1139 "lj_meta_arith",
1140 "lj_meta_len@8",
1141 "lj_meta_call",
1142 "lj_meta_for@8",
1143 "lj_tab_get",
1144 "lj_str_fromnumber@8",
1145 "lj_str_fromnum@8",
1146 "lj_tab_next",
1147 "lj_tab_getinth@8",
1148 "lj_ffh_coroutine_wrap_err@8",
1149 "lj_vm_sinh",
1150 "lj_vm_cosh",
1151 "lj_vm_tanh",
1152 "lj_str_new",
1153 "lj_tab_len@4",
1154 "lj_gc_step@4",
1155 "lj_dispatch_ins@8",
1156 "lj_trace_hot@8",
1157 "lj_dispatch_call@8",
1158 "lj_trace_exit@8",
1159 "lj_err_throw@8",
1160 "lj_ccallback_enter@8",
1161 "lj_ccallback_leave@8",
1162 "lj_meta_cat",
1163 "lj_gc_barrieruv@8",
1164 "lj_func_closeuv@8",
1165 "lj_func_newL_gc",
1166 "lj_tab_new",
1167 "lj_gc_step_fixtop@4",
1168 "lj_tab_dup@8",
1169 "lj_tab_newkey",
1170 "lj_tab_reasize",
1171 (const char *)0
1172};
1173#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
1174#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
1175#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
1176#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
1177#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
1178#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
1179#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
1180#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
1181#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
1182#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
1183#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
1184#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
1185#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
1186#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
1187#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
1188#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
1189
1190/* Generate subroutines used by opcodes and other parts of the VM. */
1191/* The .code_sub section should be last to help static branch prediction. */
1192static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1193{
1194 dasm_put(Dst, 0);
1195 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1196 dasm_put(Dst, 109, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1197 dasm_put(Dst, 198, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
1198 dasm_put(Dst, 276, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1199 dasm_put(Dst, 356, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1200 dasm_put(Dst, 511, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1201 dasm_put(Dst, 604, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1202#if LJ_HASFFI
1203 dasm_put(Dst, 764);
1204#endif
1205 dasm_put(Dst, 773, 0);
1206#if LJ_HASFFI
1207#endif
1208 dasm_put(Dst, 782, Dt7(->pc), PC2PROTO(k));
1209#if LJ_HASFFI
1210 dasm_put(Dst, 796);
1211#endif
1212 dasm_put(Dst, 817, Dt1(->base), LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1213 if (LJ_DUALNUM) {
1214 dasm_put(Dst, 917, LJ_TISNUM);
1215 } else if (sse) {
1216 dasm_put(Dst, 927);
1217 } else {
1218 }
1219 dasm_put(Dst, 940, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1220 dasm_put(Dst, 1087, DISPATCH_GL(tmptv), LJ_TTAB);
1221 if (LJ_DUALNUM) {
1222 dasm_put(Dst, 917, LJ_TISNUM);
1223 } else if (sse) {
1224 dasm_put(Dst, 927);
1225 } else {
1226 }
1227 dasm_put(Dst, 1110, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1228 dasm_put(Dst, 1283, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1229 dasm_put(Dst, 1383);
1230#if LJ_HASFFI
1231 dasm_put(Dst, 1403, Dt1(->base));
1232#endif
1233 dasm_put(Dst, 1434);
1234#if LJ_DUALNUM
1235 dasm_put(Dst, 1437);
1236#endif
1237 dasm_put(Dst, 1443);
1238#if LJ_DUALNUM
1239 dasm_put(Dst, 911);
1240#endif
1241 dasm_put(Dst, 1455);
1242#if LJ_DUALNUM
1243 dasm_put(Dst, 1437);
1244#endif
1245 dasm_put(Dst, 1483, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
1246#ifdef LUAJIT_ENABLE_LUA52COMPAT
1247 dasm_put(Dst, 1589);
1248#else
1249 dasm_put(Dst, 1608);
1250#endif
1251 dasm_put(Dst, 1613, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1252 dasm_put(Dst, 1799, 1+1, ~LJ_TNUMX);
1253 if (cmov) {
1254 dasm_put(Dst, 1868);
1255 } else {
1256 dasm_put(Dst, 1872);
1257 }
1258 dasm_put(Dst, 1881, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, ~LJ_TLIGHTUD, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL);
1259 dasm_put(Dst, 1960, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next));
1260 dasm_put(Dst, 2017, LJ_TNIL, LJ_TUDATA, LJ_TNUMX, LJ_TISNUM, LJ_TLIGHTUD);
1261 dasm_put(Dst, 2083, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB);
1262 dasm_put(Dst, 2153, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist), 2+1, LJ_TTAB);
1263 dasm_put(Dst, 2242, 1+1, LJ_TISNUM);
1264 if (LJ_DUALNUM) {
1265 dasm_put(Dst, 2256);
1266 } else {
1267 dasm_put(Dst, 2273);
1268 }
1269 if (sse) {
1270 dasm_put(Dst, 2278);
1271 } else {
1272 dasm_put(Dst, 2288);
1273 }
1274 dasm_put(Dst, 2295, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1275 dasm_put(Dst, 2361, Dt1(->base));
1276 if (LJ_DUALNUM) {
1277 dasm_put(Dst, 2385);
1278 } else {
1279 dasm_put(Dst, 2390);
1280 }
1281 dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1282 dasm_put(Dst, 2488, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1283#ifdef LUAJIT_ENABLE_LUA52COMPAT
1284 dasm_put(Dst, 2535, Dt6(->metatable));
1285#endif
1286 dasm_put(Dst, 2544, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1287 if (LJ_DUALNUM) {
1288 dasm_put(Dst, 2530);
1289 } else {
1290 dasm_put(Dst, 2273);
1291 }
1292 dasm_put(Dst, 2599);
1293 if (LJ_DUALNUM) {
1294 dasm_put(Dst, 2604, LJ_TISNUM);
1295 } else if (sse) {
1296 dasm_put(Dst, 2620, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1297 } else {
1298 }
1299 dasm_put(Dst, 2653, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1300 dasm_put(Dst, 2515, 1+1, LJ_TTAB);
1301#ifdef LUAJIT_ENABLE_LUA52COMPAT
1302 dasm_put(Dst, 2535, Dt6(->metatable));
1303#endif
1304 dasm_put(Dst, 2730, Dt8(->upvalue[0]), LJ_TFUNC);
1305 if (LJ_DUALNUM) {
1306 dasm_put(Dst, 2751, LJ_TISNUM);
1307 } else if (sse) {
1308 dasm_put(Dst, 2763);
1309 } else {
1310 dasm_put(Dst, 2773);
1311 }
1312 dasm_put(Dst, 2780, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1313 dasm_put(Dst, 2844, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1314 dasm_put(Dst, 2934, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1315 dasm_put(Dst, 3022, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1316 dasm_put(Dst, 3135, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1317 dasm_put(Dst, 3233, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1318 dasm_put(Dst, 3300, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1319 dasm_put(Dst, 3388, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1320 dasm_put(Dst, 3500, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1321 if (!LJ_DUALNUM) {
1322 dasm_put(Dst, 3527);
1323 }
1324 if (sse) {
1325 dasm_put(Dst, 3530);
1326 }
1327 dasm_put(Dst, 3545, 1+1);
1328 if (LJ_DUALNUM) {
1329 dasm_put(Dst, 3556, LJ_TISNUM, LJ_TISNUM);
1330 } else {
1331 dasm_put(Dst, 3636, LJ_TISNUM);
1332 }
1333 if (sse) {
1334 dasm_put(Dst, 3646, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1335 } else {
1336 dasm_put(Dst, 3677);
1337 }
1338 dasm_put(Dst, 3694, 1+1, FRAME_TYPE, LJ_TNIL);
1339 if (LJ_DUALNUM) {
1340 dasm_put(Dst, 3790, LJ_TISNUM);
1341 } else {
1342 dasm_put(Dst, 3636, LJ_TISNUM);
1343 }
1344 if (sse) {
1345 dasm_put(Dst, 3812);
1346 if (LJ_DUALNUM) {
1347 dasm_put(Dst, 3821);
1348 }
1349 dasm_put(Dst, 2283);
1350 } else {
1351 dasm_put(Dst, 3855);
1352 if (LJ_DUALNUM) {
1353 } else {
1354 dasm_put(Dst, 2290);
1355 }
1356 }
1357 dasm_put(Dst, 3861);
1358 if (LJ_DUALNUM) {
1359 dasm_put(Dst, 3790, LJ_TISNUM);
1360 } else {
1361 dasm_put(Dst, 3636, LJ_TISNUM);
1362 }
1363 if (sse) {
1364 dasm_put(Dst, 3864);
1365 if (LJ_DUALNUM) {
1366 dasm_put(Dst, 3821);
1367 }
1368 dasm_put(Dst, 2283);
1369 } else {
1370 dasm_put(Dst, 3873);
1371 if (LJ_DUALNUM) {
1372 } else {
1373 dasm_put(Dst, 2290);
1374 }
1375 }
1376 if (sse) {
1377 dasm_put(Dst, 3879, 1+1, LJ_TISNUM);
1378 } else {
1379 dasm_put(Dst, 3908, 1+1, LJ_TISNUM);
1380 }
1381 dasm_put(Dst, 3937, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1382 dasm_put(Dst, 4006, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1383 dasm_put(Dst, 4063, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1384 dasm_put(Dst, 4126, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1385 dasm_put(Dst, 4216);
1386 if (sse) {
1387 dasm_put(Dst, 4228, 1+1, LJ_TISNUM);
1388 } else {
1389 }
1390 dasm_put(Dst, 4253);
1391 if (sse) {
1392 dasm_put(Dst, 4267, 1+1, LJ_TISNUM);
1393 } else {
1394 }
1395 dasm_put(Dst, 4292);
1396 if (sse) {
1397 dasm_put(Dst, 4306, 1+1, LJ_TISNUM);
1398 } else {
1399 }
1400 dasm_put(Dst, 4331);
1401 if (sse) {
1402 dasm_put(Dst, 4347, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1403 } else {
1404 dasm_put(Dst, 4386, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1405 }
1406 dasm_put(Dst, 4419, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1407 dasm_put(Dst, 4484, 1+1, LJ_TISNUM);
1408 if (sse) {
1409 dasm_put(Dst, 4583);
1410 } else {
1411 dasm_put(Dst, 4589);
1412 }
1413 dasm_put(Dst, 4598);
1414 if (sse) {
1415 dasm_put(Dst, 4623);
1416 } else {
1417 dasm_put(Dst, 4629);
1418 }
1419 dasm_put(Dst, 4632, 1+2);
1420 if (sse) {
1421 dasm_put(Dst, 4641);
1422 } else {
1423 dasm_put(Dst, 4649);
1424 }
1425 dasm_put(Dst, 4657);
1426 if (sse) {
1427 dasm_put(Dst, 4660, (unsigned int)(U64x(43500000,00000000)), (unsigned int)((U64x(43500000,00000000))>>32));
1428 } else {
1429 dasm_put(Dst, 4687);
1430 }
1431 dasm_put(Dst, 4706);
1432 if (sse) {
1433 dasm_put(Dst, 4722, 1+1, LJ_TISNUM);
1434 } else {
1435 dasm_put(Dst, 4747, 1+1, LJ_TISNUM);
1436 }
1437 dasm_put(Dst, 4769);
1438 if (sse) {
1439 dasm_put(Dst, 4791);
1440 } else {
1441 dasm_put(Dst, 4817);
1442 }
1443 dasm_put(Dst, 4834, 1+2);
1444 if (sse) {
1445 dasm_put(Dst, 4874);
1446 } else {
1447 dasm_put(Dst, 4882);
1448 }
1449 dasm_put(Dst, 4892, 2+1, LJ_TISNUM, LJ_TISNUM);
1450 if (sse) {
1451 dasm_put(Dst, 4944, 2+1, LJ_TISNUM, LJ_TISNUM);
1452 } else {
1453 dasm_put(Dst, 4991, 2+1, LJ_TISNUM, LJ_TISNUM);
1454 }
1455 dasm_put(Dst, 5032, LJ_TISNUM);
1456 if (LJ_DUALNUM) {
1457 dasm_put(Dst, 5045, LJ_TISNUM);
1458 if (sse) {
1459 dasm_put(Dst, 4583);
1460 } else {
1461 }
1462 dasm_put(Dst, 5095);
1463 } else {
1464 dasm_put(Dst, 2273);
1465 }
1466 if (sse) {
1467 dasm_put(Dst, 5106, LJ_TISNUM);
1468 if (LJ_DUALNUM) {
1469 dasm_put(Dst, 5127);
1470 } else {
1471 dasm_put(Dst, 2273);
1472 }
1473 dasm_put(Dst, 5148);
1474 } else {
1475 }
1476 dasm_put(Dst, 5173, LJ_TISNUM);
1477 if (LJ_DUALNUM) {
1478 dasm_put(Dst, 5186, LJ_TISNUM);
1479 if (sse) {
1480 dasm_put(Dst, 4583);
1481 } else {
1482 }
1483 dasm_put(Dst, 5095);
1484 } else {
1485 dasm_put(Dst, 2273);
1486 }
1487 if (sse) {
1488 dasm_put(Dst, 5106, LJ_TISNUM);
1489 if (LJ_DUALNUM) {
1490 dasm_put(Dst, 5127);
1491 } else {
1492 dasm_put(Dst, 2273);
1493 }
1494 dasm_put(Dst, 5236);
1495 } else {
1496 }
1497 if (!sse) {
1498 dasm_put(Dst, 5261);
1499 }
1500 dasm_put(Dst, 5270, 1+1, LJ_TSTR);
1501 if (LJ_DUALNUM) {
1502 dasm_put(Dst, 5292, Dt5(->len));
1503 } else if (sse) {
1504 dasm_put(Dst, 5300, Dt5(->len));
1505 } else {
1506 dasm_put(Dst, 5311, Dt5(->len));
1507 }
1508 dasm_put(Dst, 5319, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1509 if (LJ_DUALNUM) {
1510 dasm_put(Dst, 5295);
1511 } else if (sse) {
1512 dasm_put(Dst, 5357);
1513 } else {
1514 dasm_put(Dst, 5367);
1515 }
1516 dasm_put(Dst, 5380, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1517 if (LJ_DUALNUM) {
1518 dasm_put(Dst, 5411);
1519 } else if (sse) {
1520 dasm_put(Dst, 5434);
1521 } else {
1522 dasm_put(Dst, 5460);
1523 }
1524 dasm_put(Dst, 5484, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1525 if (LJ_DUALNUM) {
1526 dasm_put(Dst, 5592);
1527 } else if (sse) {
1528 dasm_put(Dst, 5604);
1529 } else {
1530 dasm_put(Dst, 5619);
1531 }
1532 dasm_put(Dst, 5631, LJ_TSTR, LJ_TISNUM);
1533 if (LJ_DUALNUM) {
1534 dasm_put(Dst, 2530);
1535 } else {
1536 dasm_put(Dst, 2273);
1537 }
1538 dasm_put(Dst, 5648, Dt5(->len));
1539 if (LJ_DUALNUM) {
1540 dasm_put(Dst, 5658);
1541 } else if (sse) {
1542 dasm_put(Dst, 5662);
1543 } else {
1544 }
1545 dasm_put(Dst, 5669, sizeof(GCstr)-1);
1546 dasm_put(Dst, 5744, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1547 dasm_put(Dst, 5803, LJ_TSTR, LJ_TISNUM);
1548 if (LJ_DUALNUM) {
1549 dasm_put(Dst, 5820);
1550 } else if (sse) {
1551 dasm_put(Dst, 5828);
1552 } else {
1553 dasm_put(Dst, 5839);
1554 }
1555 dasm_put(Dst, 5855, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1556 dasm_put(Dst, 5920, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1557 dasm_put(Dst, 5983, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1558 dasm_put(Dst, 6054, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1559 dasm_put(Dst, 6139, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1560 dasm_put(Dst, 6209, 1+1, LJ_TTAB);
1561 if (LJ_DUALNUM) {
1562 dasm_put(Dst, 6277);
1563 } else if (sse) {
1564 dasm_put(Dst, 6284);
1565 } else {
1566 }
1567 dasm_put(Dst, 6294, 1+1, LJ_TISNUM);
1568 if (LJ_DUALNUM) {
1569 dasm_put(Dst, 6310);
1570 } else {
1571 dasm_put(Dst, 2273);
1572 }
1573 if (sse) {
1574 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1575 } else {
1576 }
1577 dasm_put(Dst, 106);
1578 if (LJ_DUALNUM || sse) {
1579 if (!sse) {
1580 }
1581 dasm_put(Dst, 6351);
1582 } else {
1583 }
1584 dasm_put(Dst, 6356, 1+1);
1585 if (sse) {
1586 dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1587 } else {
1588 dasm_put(Dst, 6377);
1589 }
1590 dasm_put(Dst, 2250, LJ_TISNUM);
1591 if (LJ_DUALNUM) {
1592 dasm_put(Dst, 6386);
1593 } else {
1594 dasm_put(Dst, 2273);
1595 }
1596 if (sse) {
1597 dasm_put(Dst, 6403);
1598 } else {
1599 }
1600 dasm_put(Dst, 6418, LJ_TISNUM);
1601 if (LJ_DUALNUM) {
1602 dasm_put(Dst, 6443);
1603 } else {
1604 dasm_put(Dst, 6463);
1605 }
1606 if (sse) {
1607 dasm_put(Dst, 6468);
1608 } else {
1609 }
1610 dasm_put(Dst, 6485, 1+1);
1611 if (sse) {
1612 dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1613 } else {
1614 dasm_put(Dst, 6377);
1615 }
1616 dasm_put(Dst, 2250, LJ_TISNUM);
1617 if (LJ_DUALNUM) {
1618 dasm_put(Dst, 6386);
1619 } else {
1620 dasm_put(Dst, 2273);
1621 }
1622 if (sse) {
1623 dasm_put(Dst, 6403);
1624 } else {
1625 }
1626 dasm_put(Dst, 6418, LJ_TISNUM);
1627 if (LJ_DUALNUM) {
1628 dasm_put(Dst, 6503);
1629 } else {
1630 dasm_put(Dst, 6463);
1631 }
1632 if (sse) {
1633 dasm_put(Dst, 6523);
1634 } else {
1635 }
1636 dasm_put(Dst, 6540, 1+1);
1637 if (sse) {
1638 dasm_put(Dst, 6367, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1639 } else {
1640 dasm_put(Dst, 6377);
1641 }
1642 dasm_put(Dst, 2250, LJ_TISNUM);
1643 if (LJ_DUALNUM) {
1644 dasm_put(Dst, 6386);
1645 } else {
1646 dasm_put(Dst, 2273);
1647 }
1648 if (sse) {
1649 dasm_put(Dst, 6403);
1650 } else {
1651 }
1652 dasm_put(Dst, 6418, LJ_TISNUM);
1653 if (LJ_DUALNUM) {
1654 dasm_put(Dst, 6558);
1655 } else {
1656 dasm_put(Dst, 6463);
1657 }
1658 if (sse) {
1659 dasm_put(Dst, 6578);
1660 } else {
1661 }
1662 dasm_put(Dst, 6595, 1+1, LJ_TISNUM);
1663 if (LJ_DUALNUM) {
1664 dasm_put(Dst, 6386);
1665 } else {
1666 dasm_put(Dst, 2273);
1667 }
1668 if (sse) {
1669 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1670 } else {
1671 }
1672 dasm_put(Dst, 6618, 1+1, LJ_TISNUM);
1673 if (LJ_DUALNUM) {
1674 dasm_put(Dst, 6386);
1675 } else {
1676 dasm_put(Dst, 2273);
1677 }
1678 if (sse) {
1679 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1680 } else {
1681 }
1682 dasm_put(Dst, 6642);
1683 if (LJ_DUALNUM) {
1684 dasm_put(Dst, 6351);
1685 } else if (sse) {
1686 dasm_put(Dst, 6648);
1687 } else {
1688 }
1689 dasm_put(Dst, 6660);
1690 if (LJ_DUALNUM) {
1691 dasm_put(Dst, 6671, 1+1, LJ_TISNUM);
1692 if (LJ_DUALNUM) {
1693 dasm_put(Dst, 6386);
1694 } else {
1695 dasm_put(Dst, 2273);
1696 }
1697 if (sse) {
1698 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1699 } else {
1700 }
1701 dasm_put(Dst, 6687, LJ_TISNUM);
1702 } else if (sse) {
1703 dasm_put(Dst, 6702, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1704 } else {
1705 }
1706 dasm_put(Dst, 6769);
1707 if (LJ_DUALNUM) {
1708 dasm_put(Dst, 6776, 1+1, LJ_TISNUM);
1709 if (LJ_DUALNUM) {
1710 dasm_put(Dst, 6386);
1711 } else {
1712 dasm_put(Dst, 2273);
1713 }
1714 if (sse) {
1715 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1716 } else {
1717 }
1718 dasm_put(Dst, 6687, LJ_TISNUM);
1719 } else if (sse) {
1720 dasm_put(Dst, 6792, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1721 } else {
1722 }
1723 dasm_put(Dst, 6859);
1724 if (LJ_DUALNUM) {
1725 dasm_put(Dst, 6867, 1+1, LJ_TISNUM);
1726 if (LJ_DUALNUM) {
1727 dasm_put(Dst, 6386);
1728 } else {
1729 dasm_put(Dst, 2273);
1730 }
1731 if (sse) {
1732 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1733 } else {
1734 }
1735 dasm_put(Dst, 6687, LJ_TISNUM);
1736 } else if (sse) {
1737 dasm_put(Dst, 6883, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1738 } else {
1739 }
1740 dasm_put(Dst, 6950);
1741 if (LJ_DUALNUM) {
1742 dasm_put(Dst, 6958, 1+1, LJ_TISNUM);
1743 if (LJ_DUALNUM) {
1744 dasm_put(Dst, 6386);
1745 } else {
1746 dasm_put(Dst, 2273);
1747 }
1748 if (sse) {
1749 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1750 } else {
1751 }
1752 dasm_put(Dst, 6687, LJ_TISNUM);
1753 } else if (sse) {
1754 dasm_put(Dst, 6974, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1755 } else {
1756 }
1757 dasm_put(Dst, 7041);
1758 if (LJ_DUALNUM) {
1759 dasm_put(Dst, 7048, 1+1, LJ_TISNUM);
1760 if (LJ_DUALNUM) {
1761 dasm_put(Dst, 6386);
1762 } else {
1763 dasm_put(Dst, 2273);
1764 }
1765 if (sse) {
1766 dasm_put(Dst, 6327, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1767 } else {
1768 }
1769 dasm_put(Dst, 6687, LJ_TISNUM);
1770 } else if (sse) {
1771 dasm_put(Dst, 7064, 2+1, LJ_TISNUM, LJ_TISNUM, (unsigned int)(U64x(43380000,00000000)), (unsigned int)((U64x(43380000,00000000))>>32));
1772 } else {
1773 }
1774 dasm_put(Dst, 7131, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1775 dasm_put(Dst, 7207, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1776 dasm_put(Dst, 7334, Dt1(->top), Dt1(->base), Dt1(->top));
1777#if LJ_HASJIT
1778 dasm_put(Dst, 7373, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1779#endif
1780 dasm_put(Dst, 7404, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1781 dasm_put(Dst, 7455, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1782#if LJ_HASJIT
1783 dasm_put(Dst, 7522, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1784#endif
1785 dasm_put(Dst, 7569);
1786#if LJ_HASJIT
1787 dasm_put(Dst, 7399);
1788#endif
1789 dasm_put(Dst, 7576);
1790#if LJ_HASJIT
1791 dasm_put(Dst, 7579);
1792#endif
1793 dasm_put(Dst, 7589, Dt1(->base), Dt1(->top));
1794#if LJ_HASJIT
1795 dasm_put(Dst, 7623);
1796#endif
1797 dasm_put(Dst, 7628, Dt1(->base), Dt1(->top));
1798#if LJ_HASJIT
1799 dasm_put(Dst, 7659, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 16*8+4*8, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), 4*8, GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1800#endif
1801 dasm_put(Dst, 7889);
1802#if LJ_HASJIT
1803 dasm_put(Dst, 7892, 9*16+4*8, -9*16, -8*16, -7*16, -6*16, -5*16, -4*16, -3*16, -2*16, -1*16, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1804 dasm_put(Dst, 8034);
1805#endif
1806 dasm_put(Dst, 8060);
1807 if (!sse) {
1808 dasm_put(Dst, 8063);
1809 }
1810 dasm_put(Dst, 8108, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1811 if (!sse) {
1812 dasm_put(Dst, 8194);
1813 }
1814 dasm_put(Dst, 8239, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(bff00000,00000000)), (unsigned int)((U64x(bff00000,00000000))>>32));
1815 if (!sse) {
1816 dasm_put(Dst, 8325);
1817 }
1818 dasm_put(Dst, 8364, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1819 if (sse) {
1820 dasm_put(Dst, 8453, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(43300000,00000000)), (unsigned int)((U64x(43300000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1821 } else {
1822 dasm_put(Dst, 8567);
1823 }
1824 dasm_put(Dst, 8614);
1825 if (!sse) {
1826 } else {
1827 dasm_put(Dst, 8688);
1828 }
1829 dasm_put(Dst, 8691);
1830 dasm_put(Dst, 8776, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32));
1831 dasm_put(Dst, 8879, (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32), (unsigned int)(U64x(3ff00000,00000000)), (unsigned int)((U64x(3ff00000,00000000))>>32), (unsigned int)(U64x(7ff00000,00000000)), (unsigned int)((U64x(7ff00000,00000000))>>32));
1832 dasm_put(Dst, 9035);
1833#if LJ_HASJIT
1834 if (sse) {
1835 dasm_put(Dst, 9076);
1836 dasm_put(Dst, 9146);
1837 dasm_put(Dst, 9219);
1838 } else {
1839 dasm_put(Dst, 9269);
1840 dasm_put(Dst, 9361);
1841 }
1842 dasm_put(Dst, 9407);
1843#endif
1844 dasm_put(Dst, 9411);
1845 if (sse) {
1846 dasm_put(Dst, 9414, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
1847 dasm_put(Dst, 9503, (unsigned int)(U64x(7fffffff,ffffffff)), (unsigned int)((U64x(7fffffff,ffffffff))>>32));
1848 } else {
1849 dasm_put(Dst, 9627);
1850 dasm_put(Dst, 9710);
1851 if (cmov) {
1852 dasm_put(Dst, 9765);
1853 } else {
1854 dasm_put(Dst, 9784);
1855 }
1856 dasm_put(Dst, 9407);
1857 }
1858 dasm_put(Dst, 9825);
1859#ifdef LUA_USE_ASSERT
1860 dasm_put(Dst, 9409);
1861#endif
1862 dasm_put(Dst, 9853);
1863#if LJ_HASFFI
1864#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
1865 dasm_put(Dst, 9857, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.gpr[3]), DtE(->cb.fpr[0]), DtE(->cb.fpr[1]), DtE(->cb.fpr[2]), DtE(->cb.fpr[3]), CFRAME_SIZE+4*8, DtE(->cb.stack), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), Dt7(->pc));
1866#endif
1867 dasm_put(Dst, 9984);
1868#if LJ_HASFFI
1869 dasm_put(Dst, 9987, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.fpr[0]));
1870#endif
1871 dasm_put(Dst, 10028);
1872#if LJ_HASFFI
1873#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
1874 dasm_put(Dst, 10031, DtF(->spadj));
1875#if LJ_TARGET_WINDOWS
1876#endif
1877 dasm_put(Dst, 10046, DtF(->nsp), offsetof(CCallState, stack), CCALL_SPS_EXTRA*8, DtF(->nfpr), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->gpr[2]), DtF(->gpr[3]), DtF(->fpr[0]), DtF(->fpr[1]), DtF(->fpr[2]), DtF(->fpr[3]));
1878 dasm_put(Dst, 10127, DtF(->func), DtF(->gpr[0]), DtF(->fpr[0]));
1879#if LJ_TARGET_WINDOWS
1880#endif
1881 dasm_put(Dst, 10140);
1882#endif
1883}
1884
1885/* Generate the code for a single instruction. */
1886static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
1887{
1888 int vk = 0;
1889 dasm_put(Dst, 780, defop);
1890
1891 switch (op) {
1892
1893 /* -- Comparison ops ---------------------------------------------------- */
1894
1895 /* Remember: all ops branch for a true comparison, fall through otherwise. */
1896
1897
1898 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
1899 if (LJ_DUALNUM) {
1900 dasm_put(Dst, 10148, LJ_TISNUM, LJ_TISNUM);
1901 switch (op) {
1902 case BC_ISLT:
1903 dasm_put(Dst, 10178);
1904 break;
1905 case BC_ISGE:
1906 dasm_put(Dst, 10183);
1907 break;
1908 case BC_ISLE:
1909 dasm_put(Dst, 10188);
1910 break;
1911 case BC_ISGT:
1912 dasm_put(Dst, 10193);
1913 break;
1914 default: break; /* Shut up GCC. */
1915 }
1916 dasm_put(Dst, 10198, -BCBIAS_J*4, LJ_TISNUM);
1917 if (sse) {
1918 dasm_put(Dst, 10252);
1919 } else {
1920 dasm_put(Dst, 10263);
1921 }
1922 dasm_put(Dst, 10274);
1923 if (sse) {
1924 dasm_put(Dst, 10281);
1925 switch (op) {
1926 case BC_ISLT:
1927 dasm_put(Dst, 10301);
1928 break;
1929 case BC_ISGE:
1930 dasm_put(Dst, 10306);
1931 break;
1932 case BC_ISLE:
1933 dasm_put(Dst, 10311);
1934 break;
1935 case BC_ISGT:
1936 dasm_put(Dst, 10316);
1937 break;
1938 default: break; /* Shut up GCC. */
1939 }
1940 dasm_put(Dst, 10321);
1941 } else {
1942 dasm_put(Dst, 10326);
1943 }
1944 } else {
1945 dasm_put(Dst, 10334, LJ_TISNUM, LJ_TISNUM);
1946 }
1947 if (sse) {
1948 dasm_put(Dst, 10355);
1949 } else {
1950 dasm_put(Dst, 10376);
1951 if (cmov) {
1952 dasm_put(Dst, 10392);
1953 } else {
1954 dasm_put(Dst, 10398);
1955 }
1956 }
1957 if (LJ_DUALNUM) {
1958 switch (op) {
1959 case BC_ISLT:
1960 dasm_put(Dst, 10301);
1961 break;
1962 case BC_ISGE:
1963 dasm_put(Dst, 10306);
1964 break;
1965 case BC_ISLE:
1966 dasm_put(Dst, 10311);
1967 break;
1968 case BC_ISGT:
1969 dasm_put(Dst, 10316);
1970 break;
1971 default: break; /* Shut up GCC. */
1972 }
1973 dasm_put(Dst, 10321);
1974 } else {
1975 switch (op) {
1976 case BC_ISLT:
1977 dasm_put(Dst, 768);
1978 break;
1979 case BC_ISGE:
1980 dasm_put(Dst, 10405);
1981 break;
1982 case BC_ISLE:
1983 dasm_put(Dst, 10410);
1984 break;
1985 case BC_ISGT:
1986 dasm_put(Dst, 10415);
1987 break;
1988 default: break; /* Shut up GCC. */
1989 }
1990 dasm_put(Dst, 10420, -BCBIAS_J*4);
1991 }
1992 break;
1993
1994 case BC_ISEQV: case BC_ISNEV:
1995 vk = op == BC_ISEQV;
1996 dasm_put(Dst, 10452);
1997 if (LJ_DUALNUM) {
1998 dasm_put(Dst, 10460, LJ_TISNUM, LJ_TISNUM);
1999 if (vk) {
2000 dasm_put(Dst, 10485);
2001 } else {
2002 dasm_put(Dst, 10490);
2003 }
2004 dasm_put(Dst, 10495, -BCBIAS_J*4, LJ_TISNUM);
2005 if (sse) {
2006 dasm_put(Dst, 10547);
2007 } else {
2008 dasm_put(Dst, 10554);
2009 }
2010 dasm_put(Dst, 10558);
2011 if (sse) {
2012 dasm_put(Dst, 10569);
2013 } else {
2014 dasm_put(Dst, 10581);
2015 }
2016 dasm_put(Dst, 10588);
2017 } else {
2018 dasm_put(Dst, 10593, LJ_TISNUM, LJ_TISNUM);
2019 }
2020 if (sse) {
2021 dasm_put(Dst, 10612);
2022 } else {
2023 dasm_put(Dst, 10630);
2024 if (cmov) {
2025 dasm_put(Dst, 10392);
2026 } else {
2027 dasm_put(Dst, 10398);
2028 }
2029 }
2030 iseqne_fp:
2031 if (vk) {
2032 dasm_put(Dst, 10643);
2033 } else {
2034 dasm_put(Dst, 10652);
2035 }
2036 iseqne_end:
2037 if (vk) {
2038 dasm_put(Dst, 10661, -BCBIAS_J*4);
2039 if (!LJ_HASFFI) {
2040 dasm_put(Dst, 4638);
2041 }
2042 } else {
2043 if (!LJ_HASFFI) {
2044 dasm_put(Dst, 4638);
2045 }
2046 dasm_put(Dst, 10676, -BCBIAS_J*4);
2047 }
2048 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2049 op == BC_ISEQN || op == BC_ISNEN)) {
2050 dasm_put(Dst, 10691);
2051 } else {
2052 dasm_put(Dst, 10432);
2053 }
2054 if (op == BC_ISEQV || op == BC_ISNEV) {
2055 dasm_put(Dst, 10124);
2056 if (LJ_HASFFI) {
2057 dasm_put(Dst, 10696, LJ_TCDATA, LJ_TCDATA);
2058 }
2059 dasm_put(Dst, 10715, LJ_TISPRI, LJ_TISTABUD, LJ_TUDATA, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2060 if (vk) {
2061 dasm_put(Dst, 10779);
2062 } else {
2063 dasm_put(Dst, 10783);
2064 }
2065 dasm_put(Dst, 10789);
2066 } else if (LJ_HASFFI) {
2067 dasm_put(Dst, 10794, LJ_TCDATA);
2068 if (LJ_DUALNUM && vk) {
2069 dasm_put(Dst, 10801);
2070 } else {
2071 dasm_put(Dst, 10774);
2072 }
2073 dasm_put(Dst, 10806);
2074 }
2075 break;
2076 case BC_ISEQS: case BC_ISNES:
2077 vk = op == BC_ISEQS;
2078 dasm_put(Dst, 10811, LJ_TSTR);
2079 iseqne_test:
2080 if (vk) {
2081 dasm_put(Dst, 10647);
2082 } else {
2083 dasm_put(Dst, 2929);
2084 }
2085 goto iseqne_end;
2086 case BC_ISEQN: case BC_ISNEN:
2087 vk = op == BC_ISEQN;
2088 dasm_put(Dst, 10837);
2089 if (LJ_DUALNUM) {
2090 dasm_put(Dst, 10845, LJ_TISNUM, LJ_TISNUM);
2091 if (vk) {
2092 dasm_put(Dst, 10485);
2093 } else {
2094 dasm_put(Dst, 10490);
2095 }
2096 dasm_put(Dst, 10870, -BCBIAS_J*4, LJ_TISNUM);
2097 if (sse) {
2098 dasm_put(Dst, 10918);
2099 } else {
2100 dasm_put(Dst, 10925);
2101 }
2102 dasm_put(Dst, 10929);
2103 if (sse) {
2104 dasm_put(Dst, 10936);
2105 } else {
2106 dasm_put(Dst, 10948);
2107 }
2108 dasm_put(Dst, 10588);
2109 } else {
2110 dasm_put(Dst, 10955, LJ_TISNUM);
2111 }
2112 if (sse) {
2113 dasm_put(Dst, 10964);
2114 } else {
2115 dasm_put(Dst, 10982);
2116 if (cmov) {
2117 dasm_put(Dst, 10392);
2118 } else {
2119 dasm_put(Dst, 10398);
2120 }
2121 }
2122 goto iseqne_fp;
2123 case BC_ISEQP: case BC_ISNEP:
2124 vk = op == BC_ISEQP;
2125 dasm_put(Dst, 10995);
2126 if (!LJ_HASFFI) goto iseqne_test;
2127 if (vk) {
2128 dasm_put(Dst, 11009, -BCBIAS_J*4, LJ_TCDATA);
2129 } else {
2130 dasm_put(Dst, 11059, LJ_TCDATA, -BCBIAS_J*4);
2131 }
2132 break;
2133
2134 /* -- Unary test and copy ops ------------------------------------------- */
2135
2136 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2137 dasm_put(Dst, 11103, LJ_TISTRUECOND);
2138 if (op == BC_IST || op == BC_ISTC) {
2139 dasm_put(Dst, 10415);
2140 } else {
2141 dasm_put(Dst, 10410);
2142 }
2143 if (op == BC_ISTC || op == BC_ISFC) {
2144 dasm_put(Dst, 11115);
2145 }
2146 dasm_put(Dst, 10420, -BCBIAS_J*4);
2147 break;
2148
2149 /* -- Unary ops --------------------------------------------------------- */
2150
2151 case BC_MOV:
2152 dasm_put(Dst, 11126);
2153 break;
2154 case BC_NOT:
2155 dasm_put(Dst, 11154, LJ_TISTRUECOND, LJ_TTRUE);
2156 break;
2157 case BC_UNM:
2158 if (LJ_DUALNUM) {
2159 dasm_put(Dst, 11190, LJ_TISNUM, LJ_TISNUM);
2160 } else {
2161 dasm_put(Dst, 11267, LJ_TISNUM);
2162 }
2163 if (sse) {
2164 dasm_put(Dst, 11278, (unsigned int)(U64x(80000000,00000000)), (unsigned int)((U64x(80000000,00000000))>>32));
2165 } else {
2166 dasm_put(Dst, 11303);
2167 }
2168 if (LJ_DUALNUM) {
2169 dasm_put(Dst, 10691);
2170 } else {
2171 dasm_put(Dst, 10432);
2172 }
2173 break;
2174 case BC_LEN:
2175 dasm_put(Dst, 11312, LJ_TSTR);
2176 if (LJ_DUALNUM) {
2177 dasm_put(Dst, 11326, Dt5(->len), LJ_TISNUM);
2178 } else if (sse) {
2179 dasm_put(Dst, 11340, Dt5(->len));
2180 } else {
2181 dasm_put(Dst, 11358, Dt5(->len));
2182 }
2183 dasm_put(Dst, 11367, LJ_TTAB);
2184#ifdef LUAJIT_ENABLE_LUA52COMPAT
2185 dasm_put(Dst, 11402, Dt6(->metatable));
2186#endif
2187 dasm_put(Dst, 11416);
2188 if (LJ_DUALNUM) {
2189 } else if (sse) {
2190 dasm_put(Dst, 11425);
2191 } else {
2192 }
2193 dasm_put(Dst, 11431);
2194#ifdef LUAJIT_ENABLE_LUA52COMPAT
2195 dasm_put(Dst, 11444, Dt6(->nomm), 1<<MM_len);
2196#endif
2197 break;
2198
2199 /* -- Binary ops -------------------------------------------------------- */
2200
2201
2202 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2203 if (LJ_DUALNUM) {
2204 dasm_put(Dst, 11460);
2205 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2206 switch (vk) {
2207 case 0:
2208 dasm_put(Dst, 11468, LJ_TISNUM, LJ_TISNUM);
2209 break;
2210 case 1:
2211 dasm_put(Dst, 11501, LJ_TISNUM, LJ_TISNUM);
2212 break;
2213 default:
2214 dasm_put(Dst, 11534, LJ_TISNUM, LJ_TISNUM);
2215 break;
2216 }
2217 dasm_put(Dst, 11567, LJ_TISNUM);
2218 if (vk == 1) {
2219 dasm_put(Dst, 11336);
2220 } else {
2221 dasm_put(Dst, 11122);
2222 }
2223 dasm_put(Dst, 10432);
2224 } else {
2225 dasm_put(Dst, 11460);
2226 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2227 switch (vk) {
2228 case 0:
2229 dasm_put(Dst, 11573, LJ_TISNUM);
2230 if (LJ_DUALNUM) {
2231 dasm_put(Dst, 11585, LJ_TISNUM);
2232 }
2233 if (sse) {
2234 dasm_put(Dst, 11596);
2235 } else {
2236 dasm_put(Dst, 11610);
2237 }
2238 break;
2239 case 1:
2240 dasm_put(Dst, 11618, LJ_TISNUM);
2241 if (LJ_DUALNUM) {
2242 dasm_put(Dst, 11630, LJ_TISNUM);
2243 }
2244 if (sse) {
2245 dasm_put(Dst, 11641);
2246 } else {
2247 dasm_put(Dst, 11655);
2248 }
2249 break;
2250 default:
2251 dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
2252 if (sse) {
2253 dasm_put(Dst, 11685);
2254 } else {
2255 dasm_put(Dst, 11699);
2256 }
2257 break;
2258 }
2259 if (sse) {
2260 dasm_put(Dst, 11296);
2261 } else {
2262 dasm_put(Dst, 11308);
2263 }
2264 dasm_put(Dst, 10432);
2265 }
2266 break;
2267 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2268 if (LJ_DUALNUM) {
2269 dasm_put(Dst, 11460);
2270 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2271 switch (vk) {
2272 case 0:
2273 dasm_put(Dst, 11707, LJ_TISNUM, LJ_TISNUM);
2274 break;
2275 case 1:
2276 dasm_put(Dst, 11740, LJ_TISNUM, LJ_TISNUM);
2277 break;
2278 default:
2279 dasm_put(Dst, 11773, LJ_TISNUM, LJ_TISNUM);
2280 break;
2281 }
2282 dasm_put(Dst, 11567, LJ_TISNUM);
2283 if (vk == 1) {
2284 dasm_put(Dst, 11336);
2285 } else {
2286 dasm_put(Dst, 11122);
2287 }
2288 dasm_put(Dst, 10432);
2289 } else {
2290 dasm_put(Dst, 11460);
2291 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2292 switch (vk) {
2293 case 0:
2294 dasm_put(Dst, 11573, LJ_TISNUM);
2295 if (LJ_DUALNUM) {
2296 dasm_put(Dst, 11585, LJ_TISNUM);
2297 }
2298 if (sse) {
2299 dasm_put(Dst, 11806);
2300 } else {
2301 dasm_put(Dst, 11820);
2302 }
2303 break;
2304 case 1:
2305 dasm_put(Dst, 11618, LJ_TISNUM);
2306 if (LJ_DUALNUM) {
2307 dasm_put(Dst, 11630, LJ_TISNUM);
2308 }
2309 if (sse) {
2310 dasm_put(Dst, 11828);
2311 } else {
2312 dasm_put(Dst, 11842);
2313 }
2314 break;
2315 default:
2316 dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
2317 if (sse) {
2318 dasm_put(Dst, 11850);
2319 } else {
2320 dasm_put(Dst, 11864);
2321 }
2322 break;
2323 }
2324 if (sse) {
2325 dasm_put(Dst, 11296);
2326 } else {
2327 dasm_put(Dst, 11308);
2328 }
2329 dasm_put(Dst, 10432);
2330 }
2331 break;
2332 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2333 if (LJ_DUALNUM) {
2334 dasm_put(Dst, 11460);
2335 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2336 switch (vk) {
2337 case 0:
2338 dasm_put(Dst, 11872, LJ_TISNUM, LJ_TISNUM);
2339 break;
2340 case 1:
2341 dasm_put(Dst, 11906, LJ_TISNUM, LJ_TISNUM);
2342 break;
2343 default:
2344 dasm_put(Dst, 11940, LJ_TISNUM, LJ_TISNUM);
2345 break;
2346 }
2347 dasm_put(Dst, 11567, LJ_TISNUM);
2348 if (vk == 1) {
2349 dasm_put(Dst, 11336);
2350 } else {
2351 dasm_put(Dst, 11122);
2352 }
2353 dasm_put(Dst, 10432);
2354 } else {
2355 dasm_put(Dst, 11460);
2356 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2357 switch (vk) {
2358 case 0:
2359 dasm_put(Dst, 11573, LJ_TISNUM);
2360 if (LJ_DUALNUM) {
2361 dasm_put(Dst, 11585, LJ_TISNUM);
2362 }
2363 if (sse) {
2364 dasm_put(Dst, 11974);
2365 } else {
2366 dasm_put(Dst, 11988);
2367 }
2368 break;
2369 case 1:
2370 dasm_put(Dst, 11618, LJ_TISNUM);
2371 if (LJ_DUALNUM) {
2372 dasm_put(Dst, 11630, LJ_TISNUM);
2373 }
2374 if (sse) {
2375 dasm_put(Dst, 11996);
2376 } else {
2377 dasm_put(Dst, 12010);
2378 }
2379 break;
2380 default:
2381 dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
2382 if (sse) {
2383 dasm_put(Dst, 12018);
2384 } else {
2385 dasm_put(Dst, 12032);
2386 }
2387 break;
2388 }
2389 if (sse) {
2390 dasm_put(Dst, 11296);
2391 } else {
2392 dasm_put(Dst, 11308);
2393 }
2394 dasm_put(Dst, 10432);
2395 }
2396 break;
2397 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2398 dasm_put(Dst, 11460);
2399 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2400 switch (vk) {
2401 case 0:
2402 dasm_put(Dst, 11573, LJ_TISNUM);
2403 if (LJ_DUALNUM) {
2404 dasm_put(Dst, 11585, LJ_TISNUM);
2405 }
2406 if (sse) {
2407 dasm_put(Dst, 12040);
2408 } else {
2409 dasm_put(Dst, 12054);
2410 }
2411 break;
2412 case 1:
2413 dasm_put(Dst, 11618, LJ_TISNUM);
2414 if (LJ_DUALNUM) {
2415 dasm_put(Dst, 11630, LJ_TISNUM);
2416 }
2417 if (sse) {
2418 dasm_put(Dst, 12062);
2419 } else {
2420 dasm_put(Dst, 12076);
2421 }
2422 break;
2423 default:
2424 dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
2425 if (sse) {
2426 dasm_put(Dst, 12084);
2427 } else {
2428 dasm_put(Dst, 12098);
2429 }
2430 break;
2431 }
2432 if (sse) {
2433 dasm_put(Dst, 11296);
2434 } else {
2435 dasm_put(Dst, 11308);
2436 }
2437 dasm_put(Dst, 10432);
2438 break;
2439 case BC_MODVN:
2440 dasm_put(Dst, 11460);
2441 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2442 switch (vk) {
2443 case 0:
2444 dasm_put(Dst, 11573, LJ_TISNUM);
2445 if (LJ_DUALNUM) {
2446 dasm_put(Dst, 11585, LJ_TISNUM);
2447 }
2448 if (sse) {
2449 dasm_put(Dst, 12106);
2450 } else {
2451 dasm_put(Dst, 12120);
2452 }
2453 break;
2454 case 1:
2455 dasm_put(Dst, 11618, LJ_TISNUM);
2456 if (LJ_DUALNUM) {
2457 dasm_put(Dst, 11630, LJ_TISNUM);
2458 }
2459 if (sse) {
2460 dasm_put(Dst, 12128);
2461 } else {
2462 dasm_put(Dst, 12142);
2463 }
2464 break;
2465 default:
2466 dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
2467 if (sse) {
2468 dasm_put(Dst, 12150);
2469 } else {
2470 dasm_put(Dst, 12164);
2471 }
2472 break;
2473 }
2474 dasm_put(Dst, 12172);
2475 if (sse) {
2476 dasm_put(Dst, 11296);
2477 } else {
2478 dasm_put(Dst, 11308);
2479 }
2480 dasm_put(Dst, 10432);
2481 break;
2482 case BC_MODNV: case BC_MODVV:
2483 dasm_put(Dst, 11460);
2484 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2485 switch (vk) {
2486 case 0:
2487 dasm_put(Dst, 11573, LJ_TISNUM);
2488 if (LJ_DUALNUM) {
2489 dasm_put(Dst, 11585, LJ_TISNUM);
2490 }
2491 if (sse) {
2492 dasm_put(Dst, 12106);
2493 } else {
2494 dasm_put(Dst, 12120);
2495 }
2496 break;
2497 case 1:
2498 dasm_put(Dst, 11618, LJ_TISNUM);
2499 if (LJ_DUALNUM) {
2500 dasm_put(Dst, 11630, LJ_TISNUM);
2501 }
2502 if (sse) {
2503 dasm_put(Dst, 12128);
2504 } else {
2505 dasm_put(Dst, 12142);
2506 }
2507 break;
2508 default:
2509 dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
2510 if (sse) {
2511 dasm_put(Dst, 12150);
2512 } else {
2513 dasm_put(Dst, 12164);
2514 }
2515 break;
2516 }
2517 dasm_put(Dst, 12178);
2518 break;
2519 case BC_POW:
2520 dasm_put(Dst, 11460);
2521 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2522 switch (vk) {
2523 case 0:
2524 dasm_put(Dst, 11573, LJ_TISNUM);
2525 if (LJ_DUALNUM) {
2526 dasm_put(Dst, 11585, LJ_TISNUM);
2527 }
2528 if (sse) {
2529 dasm_put(Dst, 12106);
2530 } else {
2531 dasm_put(Dst, 12120);
2532 }
2533 break;
2534 case 1:
2535 dasm_put(Dst, 11618, LJ_TISNUM);
2536 if (LJ_DUALNUM) {
2537 dasm_put(Dst, 11630, LJ_TISNUM);
2538 }
2539 if (sse) {
2540 dasm_put(Dst, 12128);
2541 } else {
2542 dasm_put(Dst, 12142);
2543 }
2544 break;
2545 default:
2546 dasm_put(Dst, 11663, LJ_TISNUM, LJ_TISNUM);
2547 if (sse) {
2548 dasm_put(Dst, 12150);
2549 } else {
2550 dasm_put(Dst, 12164);
2551 }
2552 break;
2553 }
2554 dasm_put(Dst, 12183);
2555 if (sse) {
2556 dasm_put(Dst, 11296);
2557 } else {
2558 dasm_put(Dst, 11308);
2559 }
2560 dasm_put(Dst, 10432);
2561 break;
2562
2563 case BC_CAT:
2564 dasm_put(Dst, 12187, Dt1(->base), Dt1(->base));
2565 break;
2566
2567 /* -- Constant ops ------------------------------------------------------ */
2568
2569 case BC_KSTR:
2570 dasm_put(Dst, 12270, LJ_TSTR);
2571 break;
2572 case BC_KCDATA:
2573#if LJ_HASFFI
2574 dasm_put(Dst, 12270, LJ_TCDATA);
2575#endif
2576 break;
2577 case BC_KSHORT:
2578 if (LJ_DUALNUM) {
2579 dasm_put(Dst, 12305, LJ_TISNUM);
2580 } else if (sse) {
2581 dasm_put(Dst, 12317);
2582 } else {
2583 dasm_put(Dst, 12332);
2584 }
2585 dasm_put(Dst, 10432);
2586 break;
2587 case BC_KNUM:
2588 if (sse) {
2589 dasm_put(Dst, 12340);
2590 } else {
2591 dasm_put(Dst, 12353);
2592 }
2593 dasm_put(Dst, 10432);
2594 break;
2595 case BC_KPRI:
2596 dasm_put(Dst, 12360);
2597 break;
2598 case BC_KNIL:
2599 dasm_put(Dst, 12388, LJ_TNIL);
2600 break;
2601
2602 /* -- Upvalue and function ops ------------------------------------------ */
2603
2604 case BC_UGET:
2605 dasm_put(Dst, 12435, offsetof(GCfuncL, uvptr), DtA(->v));
2606 break;
2607 case BC_USETV:
2608#define TV2MARKOFS \
2609 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2610 dasm_put(Dst, 12475, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
2611 dasm_put(Dst, 12566);
2612 break;
2613#undef TV2MARKOFS
2614 case BC_USETS:
2615 dasm_put(Dst, 12578, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2616 break;
2617 case BC_USETN:
2618 dasm_put(Dst, 12671);
2619 if (sse) {
2620 dasm_put(Dst, 12676);
2621 } else {
2622 dasm_put(Dst, 10951);
2623 }
2624 dasm_put(Dst, 12683, offsetof(GCfuncL, uvptr), DtA(->v));
2625 if (sse) {
2626 dasm_put(Dst, 12692);
2627 } else {
2628 dasm_put(Dst, 12698);
2629 }
2630 dasm_put(Dst, 10432);
2631 break;
2632 case BC_USETP:
2633 dasm_put(Dst, 12701, offsetof(GCfuncL, uvptr), DtA(->v));
2634 break;
2635 case BC_UCLO:
2636 dasm_put(Dst, 12740, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2637 break;
2638
2639 case BC_FNEW:
2640 dasm_put(Dst, 12795, Dt1(->base), Dt1(->base), LJ_TFUNC);
2641 break;
2642
2643 /* -- Table ops --------------------------------------------------------- */
2644
2645 case BC_TNEW:
2646 dasm_put(Dst, 12861, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2647 break;
2648 case BC_TDUP:
2649 dasm_put(Dst, 12983, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2650 break;
2651
2652 case BC_GGET:
2653 dasm_put(Dst, 13078, Dt7(->env));
2654 break;
2655 case BC_GSET:
2656 dasm_put(Dst, 13097, Dt7(->env));
2657 break;
2658
2659 case BC_TGETV:
2660 dasm_put(Dst, 13116, LJ_TTAB);
2661 if (LJ_DUALNUM) {
2662 dasm_put(Dst, 13139, LJ_TISNUM);
2663 } else {
2664 dasm_put(Dst, 13153, LJ_TISNUM);
2665 if (sse) {
2666 dasm_put(Dst, 13164);
2667 } else {
2668 }
2669 dasm_put(Dst, 13185);
2670 }
2671 dasm_put(Dst, 13190, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2672 dasm_put(Dst, 13281, LJ_TSTR);
2673 break;
2674 case BC_TGETS:
2675 dasm_put(Dst, 13299, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2676 dasm_put(Dst, 13383, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2677 break;
2678 case BC_TGETB:
2679 dasm_put(Dst, 13454, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2680 dasm_put(Dst, 13549, LJ_TNIL);
2681 break;
2682
2683 case BC_TSETV:
2684 dasm_put(Dst, 13566, LJ_TTAB);
2685 if (LJ_DUALNUM) {
2686 dasm_put(Dst, 13139, LJ_TISNUM);
2687 } else {
2688 dasm_put(Dst, 13153, LJ_TISNUM);
2689 if (sse) {
2690 dasm_put(Dst, 13164);
2691 } else {
2692 }
2693 dasm_put(Dst, 13589);
2694 }
2695 dasm_put(Dst, 13594, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2696 dasm_put(Dst, 13674, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2697 break;
2698 case BC_TSETS:
2699 dasm_put(Dst, 13731, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2700 dasm_put(Dst, 13807, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2701 dasm_put(Dst, 13895, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2702 break;
2703 case BC_TSETB:
2704 dasm_put(Dst, 13986, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2705 dasm_put(Dst, 14080, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2706 break;
2707
2708 case BC_TSETM:
2709 dasm_put(Dst, 14126, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2710 dasm_put(Dst, 14269, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2711 break;
2712
2713 /* -- Calls and vararg handling ----------------------------------------- */
2714
2715 case BC_CALL: case BC_CALLM:
2716 dasm_put(Dst, 11464);
2717 if (op == BC_CALLM) {
2718 dasm_put(Dst, 14287);
2719 }
2720 dasm_put(Dst, 14292, LJ_TFUNC, Dt7(->pc));
2721 break;
2722
2723 case BC_CALLMT:
2724 dasm_put(Dst, 14287);
2725 break;
2726 case BC_CALLT:
2727 dasm_put(Dst, 14334, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2728 dasm_put(Dst, 14449, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2729 break;
2730
2731 case BC_ITERC:
2732 dasm_put(Dst, 14520, LJ_TFUNC, 2+1, Dt7(->pc));
2733 break;
2734
2735 case BC_ITERN:
2736#if LJ_HASJIT
2737#endif
2738 dasm_put(Dst, 14591, Dt6(->asize), Dt6(->array), LJ_TNIL);
2739 if (LJ_DUALNUM) {
2740 dasm_put(Dst, 11331, LJ_TISNUM);
2741 } else if (sse) {
2742 dasm_put(Dst, 11425);
2743 } else {
2744 dasm_put(Dst, 14637);
2745 }
2746 dasm_put(Dst, 14643);
2747 if (LJ_DUALNUM) {
2748 } else if (sse) {
2749 dasm_put(Dst, 11296);
2750 } else {
2751 dasm_put(Dst, 11308);
2752 }
2753 dasm_put(Dst, 14656, -BCBIAS_J*4);
2754 if (!LJ_DUALNUM && !sse) {
2755 dasm_put(Dst, 14708);
2756 }
2757 dasm_put(Dst, 14714, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key), DtB(->val));
2758 break;
2759
2760 case BC_ISNEXT:
2761 dasm_put(Dst, 14786, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2762 break;
2763
2764 case BC_VARG:
2765 dasm_put(Dst, 14886, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2766 dasm_put(Dst, 15046, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2767 break;
2768
2769 /* -- Returns ----------------------------------------------------------- */
2770
2771 case BC_RETM:
2772 dasm_put(Dst, 14287);
2773 break;
2774
2775 case BC_RET: case BC_RET0: case BC_RET1:
2776 if (op != BC_RET0) {
2777 dasm_put(Dst, 15112);
2778 }
2779 dasm_put(Dst, 15116, FRAME_TYPE);
2780 switch (op) {
2781 case BC_RET:
2782 dasm_put(Dst, 15135);
2783 break;
2784 case BC_RET1:
2785 dasm_put(Dst, 15187);
2786 /* fallthrough */
2787 case BC_RET0:
2788 dasm_put(Dst, 15197);
2789 default:
2790 break;
2791 }
2792 dasm_put(Dst, 15208, Dt7(->pc), PC2PROTO(k));
2793 if (op == BC_RET) {
2794 dasm_put(Dst, 15252, LJ_TNIL);
2795 } else {
2796 dasm_put(Dst, 15261, LJ_TNIL);
2797 }
2798 dasm_put(Dst, 15268, -FRAME_VARG, FRAME_TYPEP);
2799 if (op != BC_RET0) {
2800 dasm_put(Dst, 15292);
2801 }
2802 dasm_put(Dst, 4717);
2803 break;
2804
2805 /* -- Loops and branches ------------------------------------------------ */
2806
2807
2808 case BC_FORL:
2809#if LJ_HASJIT
2810 dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2811#endif
2812 break;
2813
2814 case BC_JFORI:
2815 case BC_JFORL:
2816#if !LJ_HASJIT
2817 break;
2818#endif
2819 case BC_FORI:
2820 case BC_IFORL:
2821 vk = (op == BC_IFORL || op == BC_JFORL);
2822 dasm_put(Dst, 15317);
2823 if (LJ_DUALNUM) {
2824 dasm_put(Dst, 15321, LJ_TISNUM);
2825 if (!vk) {
2826 dasm_put(Dst, 15331, LJ_TISNUM, LJ_TISNUM);
2827 } else {
2828#ifdef LUA_USE_ASSERT
2829 dasm_put(Dst, 15360, LJ_TISNUM, LJ_TISNUM);
2830#endif
2831 dasm_put(Dst, 15379);
2832 }
2833 dasm_put(Dst, 15398, LJ_TISNUM);
2834 if (op == BC_FORI) {
2835 dasm_put(Dst, 15409, -BCBIAS_J*4);
2836 } else if (op == BC_JFORI) {
2837 dasm_put(Dst, 15423, -BCBIAS_J*4, BC_JLOOP);
2838 } else if (op == BC_IFORL) {
2839 dasm_put(Dst, 15441, -BCBIAS_J*4);
2840 } else {
2841 dasm_put(Dst, 15433, BC_JLOOP);
2842 }
2843 dasm_put(Dst, 15455);
2844 if (vk) {
2845 dasm_put(Dst, 15479);
2846 }
2847 dasm_put(Dst, 15398, LJ_TISNUM);
2848 if (op == BC_FORI) {
2849 dasm_put(Dst, 15488);
2850 } else if (op == BC_JFORI) {
2851 dasm_put(Dst, 15493, -BCBIAS_J*4, BC_JLOOP);
2852 } else if (op == BC_IFORL) {
2853 dasm_put(Dst, 15507);
2854 } else {
2855 dasm_put(Dst, 15503, BC_JLOOP);
2856 }
2857 dasm_put(Dst, 15512);
2858 } else if (!vk) {
2859 dasm_put(Dst, 15519, LJ_TISNUM);
2860 }
2861 if (!vk) {
2862 dasm_put(Dst, 15525, LJ_TISNUM);
2863 } else {
2864#ifdef LUA_USE_ASSERT
2865 dasm_put(Dst, 15539, LJ_TISNUM, LJ_TISNUM);
2866#endif
2867 }
2868 dasm_put(Dst, 15558);
2869 if (!vk) {
2870 dasm_put(Dst, 15562, LJ_TISNUM);
2871 }
2872 if (sse) {
2873 dasm_put(Dst, 15571);
2874 if (vk) {
2875 dasm_put(Dst, 15583);
2876 } else {
2877 dasm_put(Dst, 15602);
2878 }
2879 dasm_put(Dst, 15607);
2880 } else {
2881 dasm_put(Dst, 15620);
2882 if (vk) {
2883 dasm_put(Dst, 15626);
2884 } else {
2885 dasm_put(Dst, 15642);
2886 }
2887 dasm_put(Dst, 15650);
2888 if (cmov) {
2889 dasm_put(Dst, 10392);
2890 } else {
2891 dasm_put(Dst, 10398);
2892 }
2893 if (!cmov) {
2894 dasm_put(Dst, 15655);
2895 }
2896 }
2897 if (op == BC_FORI) {
2898 if (LJ_DUALNUM) {
2899 dasm_put(Dst, 15661);
2900 } else {
2901 dasm_put(Dst, 15666, -BCBIAS_J*4);
2902 }
2903 } else if (op == BC_JFORI) {
2904 dasm_put(Dst, 15676, -BCBIAS_J*4, BC_JLOOP);
2905 } else if (op == BC_IFORL) {
2906 if (LJ_DUALNUM) {
2907 dasm_put(Dst, 15690);
2908 } else {
2909 dasm_put(Dst, 15695, -BCBIAS_J*4);
2910 }
2911 } else {
2912 dasm_put(Dst, 15686, BC_JLOOP);
2913 }
2914 if (LJ_DUALNUM) {
2915 dasm_put(Dst, 10321);
2916 } else {
2917 dasm_put(Dst, 11081);
2918 }
2919 if (sse) {
2920 dasm_put(Dst, 15705);
2921 }
2922 break;
2923
2924 case BC_ITERL:
2925#if LJ_HASJIT
2926 dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2927#endif
2928 break;
2929
2930 case BC_JITERL:
2931#if !LJ_HASJIT
2932 break;
2933#endif
2934 case BC_IITERL:
2935 dasm_put(Dst, 15716, LJ_TNIL);
2936 if (op == BC_JITERL) {
2937 dasm_put(Dst, 15731, BC_JLOOP);
2938 } else {
2939 dasm_put(Dst, 15745, -BCBIAS_J*4);
2940 }
2941 dasm_put(Dst, 10430);
2942 break;
2943
2944 case BC_LOOP:
2945#if LJ_HASJIT
2946 dasm_put(Dst, 15296, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2947#endif
2948 break;
2949
2950 case BC_ILOOP:
2951 dasm_put(Dst, 10432);
2952 break;
2953
2954 case BC_JLOOP:
2955#if LJ_HASJIT
2956 dasm_put(Dst, 15761, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L), 9*16+4*8, -1*16, -2*16, -3*16, -4*16, -5*16, -6*16, -7*16, -8*16, -9*16);
2957#endif
2958 break;
2959
2960 case BC_JMP:
2961 dasm_put(Dst, 15870, -BCBIAS_J*4);
2962 break;
2963
2964 /* -- Function headers -------------------------------------------------- */
2965
2966 /*
2967 ** Reminder: A function may be called with func/args above L->maxstack,
2968 ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
2969 ** too. This means all FUNC* ops (including fast functions) must check
2970 ** for stack overflow _before_ adding more slots!
2971 */
2972
2973 case BC_FUNCF:
2974#if LJ_HASJIT
2975 dasm_put(Dst, 15895, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL);
2976#endif
2977 case BC_FUNCV: /* NYI: compiled vararg functions. */
2978 break;
2979
2980 case BC_JFUNCF:
2981#if !LJ_HASJIT
2982 break;
2983#endif
2984 case BC_IFUNCF:
2985 dasm_put(Dst, 15916, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
2986 if (op == BC_JFUNCF) {
2987 dasm_put(Dst, 15946, BC_JLOOP);
2988 } else {
2989 dasm_put(Dst, 10432);
2990 }
2991 dasm_put(Dst, 15955, LJ_TNIL);
2992 break;
2993
2994 case BC_JFUNCV:
2995#if !LJ_HASJIT
2996 break;
2997#endif
2998 dasm_put(Dst, 9409);
2999 break; /* NYI: compiled vararg functions. */
3000
3001 case BC_IFUNCV:
3002 dasm_put(Dst, 15977, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3003 if (op == BC_JFUNCV) {
3004 dasm_put(Dst, 15946, BC_JLOOP);
3005 } else {
3006 dasm_put(Dst, 16068, -4+PC2PROTO(k));
3007 }
3008 dasm_put(Dst, 16091, LJ_TNIL);
3009 break;
3010
3011 case BC_FUNCC:
3012 case BC_FUNCCW:
3013 dasm_put(Dst, 16113, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3014 if (op == BC_FUNCC) {
3015 dasm_put(Dst, 2381);
3016 } else {
3017 dasm_put(Dst, 16143);
3018 }
3019 dasm_put(Dst, 16151, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3020 if (op == BC_FUNCC) {
3021 dasm_put(Dst, 16160);
3022 } else {
3023 dasm_put(Dst, 16164, DISPATCH_GL(wrapf));
3024 }
3025 dasm_put(Dst, 16169, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3026 break;
3027
3028 /* ---------------------------------------------------------------------- */
3029
3030 default:
3031 fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
3032 exit(2);
3033 break;
3034 }
3035}
3036
3037static int build_backend(BuildCtx *ctx)
3038{
3039 int op;
3040 int cmov = 1;
3041 int sse = 0;
3042#ifdef LUAJIT_CPU_NOCMOV
3043 cmov = 0;
3044#endif
3045#if defined(LUAJIT_CPU_SSE2) || defined(LJ_TARGET_X64)
3046 sse = 1;
3047#endif
3048
3049 dasm_growpc(Dst, BC__MAX);
3050
3051 build_subroutines(ctx, cmov, sse);
3052
3053 dasm_put(Dst, 16194);
3054 for (op = 0; op < BC__MAX; op++)
3055 build_ins(ctx, (BCOp)op, op, cmov, sse);
3056
3057 return BC__MAX;
3058}
3059
3060/* Emit pseudo frame-info for all assembler functions. */
3061static void emit_asm_debug(BuildCtx *ctx)
3062{
3063 int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
3064#if LJ_64
3065#define SZPTR "8"
3066#define BSZPTR "3"
3067#define REG_SP "0x7"
3068#define REG_RA "0x10"
3069#else
3070#define SZPTR "4"
3071#define BSZPTR "2"
3072#define REG_SP "0x4"
3073#define REG_RA "0x8"
3074#endif
3075 switch (ctx->mode) {
3076 case BUILD_elfasm:
3077 fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
3078 fprintf(ctx->fp,
3079 ".Lframe0:\n"
3080 "\t.long .LECIE0-.LSCIE0\n"
3081 ".LSCIE0:\n"
3082 "\t.long 0xffffffff\n"
3083 "\t.byte 0x1\n"
3084 "\t.string \"\"\n"
3085 "\t.uleb128 0x1\n"
3086 "\t.sleb128 -" SZPTR "\n"
3087 "\t.byte " REG_RA "\n"
3088 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3089 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3090 "\t.align " SZPTR "\n"
3091 ".LECIE0:\n\n");
3092 fprintf(ctx->fp,
3093 ".LSFDE0:\n"
3094 "\t.long .LEFDE0-.LASFDE0\n"
3095 ".LASFDE0:\n"
3096 "\t.long .Lframe0\n"
3097#if LJ_64
3098 "\t.quad .Lbegin\n"
3099 "\t.quad %d\n"
3100 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3101 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3102 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3103 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3104 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3105#else
3106 "\t.long .Lbegin\n"
3107 "\t.long %d\n"
3108 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3109 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3110 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3111 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3112 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3113#endif
3114 "\t.align " SZPTR "\n"
3115 ".LEFDE0:\n\n", fcofs, CFRAME_SIZE);
3116#if LJ_HASFFI
3117 fprintf(ctx->fp,
3118 ".LSFDE1:\n"
3119 "\t.long .LEFDE1-.LASFDE1\n"
3120 ".LASFDE1:\n"
3121 "\t.long .Lframe0\n"
3122#if LJ_64
3123 "\t.quad lj_vm_ffi_call\n"
3124 "\t.quad %d\n"
3125 "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
3126 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3127 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3128 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3129#else
3130 "\t.long lj_vm_ffi_call\n"
3131 "\t.long %d\n"
3132 "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
3133 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3134 "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
3135 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
3136#endif
3137 "\t.align " SZPTR "\n"
3138 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
3139#endif
3140#if (defined(__sun__) && defined(__svr4__)) || defined(__solaris_)
3141 fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
3142#else
3143 fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
3144#endif
3145 fprintf(ctx->fp,
3146 ".Lframe1:\n"
3147 "\t.long .LECIE1-.LSCIE1\n"
3148 ".LSCIE1:\n"
3149 "\t.long 0\n"
3150 "\t.byte 0x1\n"
3151 "\t.string \"zPR\"\n"
3152 "\t.uleb128 0x1\n"
3153 "\t.sleb128 -" SZPTR "\n"
3154 "\t.byte " REG_RA "\n"
3155 "\t.uleb128 6\n" /* augmentation length */
3156 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3157 "\t.long lj_err_unwind_dwarf-.\n"
3158 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3159 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3160 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3161 "\t.align " SZPTR "\n"
3162 ".LECIE1:\n\n");
3163 fprintf(ctx->fp,
3164 ".LSFDE2:\n"
3165 "\t.long .LEFDE2-.LASFDE2\n"
3166 ".LASFDE2:\n"
3167 "\t.long .LASFDE2-.Lframe1\n"
3168 "\t.long .Lbegin-.\n"
3169 "\t.long %d\n"
3170 "\t.uleb128 0\n" /* augmentation length */
3171 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3172#if LJ_64
3173 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3174 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3175 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3176 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3177#else
3178 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3179 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3180 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3181 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3182#endif
3183 "\t.align " SZPTR "\n"
3184 ".LEFDE2:\n\n", fcofs, CFRAME_SIZE);
3185#if LJ_HASFFI
3186 fprintf(ctx->fp,
3187 ".Lframe2:\n"
3188 "\t.long .LECIE2-.LSCIE2\n"
3189 ".LSCIE2:\n"
3190 "\t.long 0\n"
3191 "\t.byte 0x1\n"
3192 "\t.string \"zR\"\n"
3193 "\t.uleb128 0x1\n"
3194 "\t.sleb128 -" SZPTR "\n"
3195 "\t.byte " REG_RA "\n"
3196 "\t.uleb128 1\n" /* augmentation length */
3197 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3198 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3199 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3200 "\t.align " SZPTR "\n"
3201 ".LECIE2:\n\n");
3202 fprintf(ctx->fp,
3203 ".LSFDE3:\n"
3204 "\t.long .LEFDE3-.LASFDE3\n"
3205 ".LASFDE3:\n"
3206 "\t.long .LASFDE3-.Lframe2\n"
3207 "\t.long lj_vm_ffi_call-.\n"
3208 "\t.long %d\n"
3209 "\t.uleb128 0\n" /* augmentation length */
3210#if LJ_64
3211 "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
3212 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3213 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3214 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3215#else
3216 "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
3217 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3218 "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
3219 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
3220#endif
3221 "\t.align " SZPTR "\n"
3222 ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
3223#endif
3224 break;
3225 case BUILD_coffasm:
3226 fprintf(ctx->fp, "\t.section .eh_frame,\"dr\"\n");
3227 fprintf(ctx->fp,
3228 "\t.def %slj_err_unwind_dwarf; .scl 2; .type 32; .endef\n",
3229 LJ_32 ? "_" : "");
3230 fprintf(ctx->fp,
3231 "Lframe1:\n"
3232 "\t.long LECIE1-LSCIE1\n"
3233 "LSCIE1:\n"
3234 "\t.long 0\n"
3235 "\t.byte 0x1\n"
3236 "\t.string \"zP\"\n"
3237 "\t.uleb128 0x1\n"
3238 "\t.sleb128 -" SZPTR "\n"
3239 "\t.byte " REG_RA "\n"
3240 "\t.uleb128 5\n" /* augmentation length */
3241 "\t.byte 0x00\n" /* absptr */
3242 "\t.long %slj_err_unwind_dwarf\n"
3243 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3244 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3245 "\t.align " SZPTR "\n"
3246 "LECIE1:\n\n", LJ_32 ? "_" : "");
3247 fprintf(ctx->fp,
3248 "LSFDE1:\n"
3249 "\t.long LEFDE1-LASFDE1\n"
3250 "LASFDE1:\n"
3251 "\t.long LASFDE1-Lframe1\n"
3252 "\t.long %slj_vm_asm_begin\n"
3253 "\t.long %d\n"
3254 "\t.uleb128 0\n" /* augmentation length */
3255 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3256#if LJ_64
3257 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3258 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3259 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3260 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3261#else
3262 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3263 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3264 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3265 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3266#endif
3267 "\t.align " SZPTR "\n"
3268 "LEFDE1:\n\n", LJ_32 ? "_" : "", (int)ctx->codesz, CFRAME_SIZE);
3269 break;
3270 /* Mental note: never let Apple design an assembler.
3271 ** Or a linker. Or a plastic case. But I digress.
3272 */
3273 case BUILD_machasm: {
3274#if LJ_HASFFI
3275 int fcsize = 0;
3276#endif
3277 int i;
3278 fprintf(ctx->fp, "\t.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support\n");
3279 fprintf(ctx->fp,
3280 "EH_frame1:\n"
3281 "\t.set L$set$x,LECIEX-LSCIEX\n"
3282 "\t.long L$set$x\n"
3283 "LSCIEX:\n"
3284 "\t.long 0\n"
3285 "\t.byte 0x1\n"
3286 "\t.ascii \"zPR\\0\"\n"
3287 "\t.byte 0x1\n"
3288 "\t.byte 128-" SZPTR "\n"
3289 "\t.byte " REG_RA "\n"
3290 "\t.byte 6\n" /* augmentation length */
3291 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
3292#if LJ_64
3293 "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
3294 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3295 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
3296#else
3297 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
3298 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3299 "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH-O. */
3300#endif
3301 "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
3302 "\t.align " BSZPTR "\n"
3303 "LECIEX:\n\n");
3304 for (i = 0; i < ctx->nsym; i++) {
3305 const char *name = ctx->sym[i].name;
3306 int32_t size = ctx->sym[i+1].ofs - ctx->sym[i].ofs;
3307 if (size == 0) continue;
3308#if LJ_HASFFI
3309 if (!strcmp(name, "_lj_vm_ffi_call")) { fcsize = size; continue; }
3310#endif
3311 fprintf(ctx->fp,
3312 "%s.eh:\n"
3313 "LSFDE%d:\n"
3314 "\t.set L$set$%d,LEFDE%d-LASFDE%d\n"
3315 "\t.long L$set$%d\n"
3316 "LASFDE%d:\n"
3317 "\t.long LASFDE%d-EH_frame1\n"
3318 "\t.long %s-.\n"
3319 "\t.long %d\n"
3320 "\t.byte 0\n" /* augmentation length */
3321 "\t.byte 0xe\n\t.byte %d\n" /* def_cfa_offset */
3322#if LJ_64
3323 "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
3324 "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
3325 "\t.byte 0x8f\n\t.byte 0x4\n" /* offset r15 */
3326 "\t.byte 0x8e\n\t.byte 0x5\n" /* offset r14 */
3327#else
3328 "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
3329 "\t.byte 0x87\n\t.byte 0x3\n" /* offset edi */
3330 "\t.byte 0x86\n\t.byte 0x4\n" /* offset esi */
3331 "\t.byte 0x83\n\t.byte 0x5\n" /* offset ebx */
3332#endif
3333 "\t.align " BSZPTR "\n"
3334 "LEFDE%d:\n\n",
3335 name, i, i, i, i, i, i, i, name, size, CFRAME_SIZE, i);
3336 }
3337#if LJ_HASFFI
3338 if (fcsize) {
3339 fprintf(ctx->fp,
3340 "EH_frame2:\n"
3341 "\t.set L$set$y,LECIEY-LSCIEY\n"
3342 "\t.long L$set$y\n"
3343 "LSCIEY:\n"
3344 "\t.long 0\n"
3345 "\t.byte 0x1\n"
3346 "\t.ascii \"zR\\0\"\n"
3347 "\t.byte 0x1\n"
3348 "\t.byte 128-" SZPTR "\n"
3349 "\t.byte " REG_RA "\n"
3350 "\t.byte 1\n" /* augmentation length */
3351#if LJ_64
3352 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3353 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
3354#else
3355 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3356 "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH. */
3357#endif
3358 "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
3359 "\t.align " BSZPTR "\n"
3360 "LECIEY:\n\n");
3361 fprintf(ctx->fp,
3362 "_lj_vm_ffi_call.eh:\n"
3363 "LSFDEY:\n"
3364 "\t.set L$set$yy,LEFDEY-LASFDEY\n"
3365 "\t.long L$set$yy\n"
3366 "LASFDEY:\n"
3367 "\t.long LASFDEY-EH_frame2\n"
3368 "\t.long _lj_vm_ffi_call-.\n"
3369 "\t.long %d\n"
3370 "\t.byte 0\n" /* augmentation length */
3371#if LJ_64
3372 "\t.byte 0xe\n\t.byte 16\n" /* def_cfa_offset */
3373 "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
3374 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3375 "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
3376#else
3377 "\t.byte 0xe\n\t.byte 8\n" /* def_cfa_offset */
3378 "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
3379 "\t.byte 0xd\n\t.uleb128 0x4\n" /* def_cfa_register ebp */
3380 "\t.byte 0x83\n\t.byte 0x3\n" /* offset ebx */
3381#endif
3382 "\t.align " BSZPTR "\n"
3383 "LEFDEY:\n\n", fcsize);
3384 }
3385#endif
3386#if LJ_64
3387 fprintf(ctx->fp, "\t.subsections_via_symbols\n");
3388#else
3389 fprintf(ctx->fp,
3390 "\t.non_lazy_symbol_pointer\n"
3391 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
3392 ".indirect_symbol _lj_err_unwind_dwarf\n"
3393 ".long 0\n");
3394#endif
3395 }
3396 break;
3397 default: /* Difficult for other modes. */
3398 break;
3399 }
3400}
3401
diff --git a/src/buildvm_x86.h b/src/buildvm_x86.h
deleted file mode 100644
index cd33cf87..00000000
--- a/src/buildvm_x86.h
+++ /dev/null
@@ -1,3561 +0,0 @@
1/*
2** This file has been pre-processed with DynASM.
3** http://luajit.org/dynasm.html
4** DynASM version 1.3.0, DynASM x86 version 1.3.0
5** DO NOT EDIT! The original file is in "buildvm_x86.dasc".
6*/
7
8#if DASM_VERSION != 10300
9#error "Version mismatch between DynASM and included encoding engine"
10#endif
11
12#define DASM_SECTION_CODE_OP 0
13#define DASM_SECTION_CODE_SUB 1
14#define DASM_MAXSECTION 2
15static const unsigned char build_actionlist[17321] = {
16 254,1,248,10,252,247,198,237,15,132,244,11,131,230,252,248,41,252,242,141,
17 76,49,252,248,139,114,252,252,199,68,10,4,237,248,12,131,192,1,137,68,36,
18 20,252,247,198,237,15,132,244,13,248,14,129,252,246,239,252,247,198,237,15,
19 133,244,10,199,131,233,237,131,230,252,248,41,214,252,247,222,131,232,1,15,
20 132,244,248,248,1,139,44,10,137,106,252,248,139,108,10,4,137,106,252,252,
21 131,194,8,131,232,1,15,133,244,1,248,2,255,139,108,36,48,137,181,233,248,
22 3,139,68,36,20,139,76,36,56,248,4,57,193,15,133,244,252,248,5,131,252,234,
23 8,137,149,233,248,15,139,76,36,52,137,141,233,49,192,248,16,131,196,28,91,
24 94,95,93,195,248,6,15,130,244,253,59,149,233,15,135,244,254,199,66,252,252,
25 237,131,194,8,131,192,1,252,233,244,4,248,7,255,133,201,15,132,244,5,41,193,
26 141,20,202,252,233,244,5,248,8,137,149,233,137,68,36,20,137,202,137,252,233,
27 232,251,1,0,139,149,233,252,233,244,3,248,17,137,208,137,204,248,18,139,108,
28 36,48,139,173,233,199,133,233,237,252,233,244,16,248,19,248,20,129,225,239,
29 137,204,248,21,255,139,108,36,48,185,252,248,252,255,252,255,252,255,184,
30 237,139,149,233,139,157,233,129,195,239,139,114,252,252,199,66,252,252,237,
31 199,131,233,237,252,233,244,12,248,22,186,237,252,233,244,248,248,23,131,
32 232,8,252,233,244,247,248,24,141,68,194,252,248,248,1,15,182,142,233,131,
33 198,4,137,149,233,255,137,133,233,137,116,36,24,137,202,248,2,137,252,233,
34 232,251,1,0,139,149,233,139,133,233,139,106,252,248,41,208,193,232,3,131,
35 192,1,139,181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,
36 248,25,85,87,86,83,131,252,236,28,139,108,36,48,139,76,36,52,190,237,49,192,
37 141,188,253,36,233,139,157,233,129,195,239,137,189,233,137,68,36,24,137,68,
38 36,52,56,133,233,15,132,244,249,199,131,233,237,136,133,233,139,149,233,139,
39 133,233,41,200,193,232,3,131,192,1,41,209,139,114,252,252,137,68,36,20,252,
40 247,198,237,255,15,132,244,13,252,233,244,14,248,26,85,87,86,83,131,252,236,
41 28,190,237,252,233,244,247,248,27,85,87,86,83,131,252,236,28,190,237,248,
42 1,139,108,36,48,139,76,36,52,139,189,233,137,124,36,52,137,108,36,24,137,
43 165,233,248,2,139,157,233,129,195,239,248,3,199,131,233,237,139,149,233,255,
44 1,206,41,214,139,133,233,41,200,193,232,3,131,192,1,248,28,139,105,252,248,
45 129,121,253,252,252,239,15,133,244,29,248,30,137,202,137,114,252,252,139,
46 181,233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,248,31,
47 85,87,86,83,131,252,236,28,139,108,36,48,139,68,36,56,139,76,36,52,139,84,
48 36,60,137,108,36,24,139,189,233,43,189,233,199,68,36,60,0,0,0,0,137,124,36,
49 56,137,68,36,8,137,76,36,4,137,44,36,139,189,233,137,124,36,52,137,165,233,
50 252,255,210,133,192,15,132,244,15,137,193,190,237,252,233,244,2,248,11,1,
51 209,131,230,252,248,137,213,41,252,242,199,68,193,252,252,237,137,200,139,
52 117,252,244,255,139,77,252,240,255,131,252,249,1,15,134,244,247,255,139,122,
53 252,248,139,191,233,139,191,233,252,255,225,255,248,1,15,132,244,32,41,213,
54 193,252,237,3,141,69,252,255,252,233,244,33,255,248,34,15,182,78,252,255,
55 131,252,237,16,141,12,202,41,252,233,15,132,244,35,252,247,217,193,252,233,
56 3,137,76,36,8,139,72,4,139,0,137,77,4,137,69,0,137,108,36,4,252,233,244,36,
57 248,37,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235,15,
58 133,244,247,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,248,38,
59 15,182,70,252,254,255,199,68,36,20,237,137,68,36,16,255,252,242,15,42,192,
60 252,242,15,17,68,36,16,255,137,68,36,12,219,68,36,12,221,92,36,16,255,141,
61 68,36,16,252,233,244,247,248,39,15,182,70,252,254,141,4,194,248,1,15,182,
62 110,252,255,141,44,252,234,248,2,137,108,36,4,139,108,36,48,137,68,36,8,137,
63 44,36,137,149,233,137,116,36,24,232,251,1,1,139,149,233,133,192,15,132,244,
64 249,248,35,15,182,78,252,253,139,104,4,139,0,137,108,202,4,137,4,202,139,
65 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,139,141,
66 233,137,113,252,244,141,177,233,41,214,139,105,252,248,184,237,252,233,244,
67 30,248,40,137,68,36,16,199,68,36,20,237,141,68,36,16,128,126,252,252,235,
68 15,133,244,247,255,141,139,233,137,41,199,65,4,237,137,205,252,233,244,248,
69 248,41,15,182,70,252,254,255,141,68,36,16,252,233,244,247,248,42,15,182,70,
70 252,254,141,4,194,248,1,15,182,110,252,255,141,44,252,234,248,2,137,108,36,
71 4,139,108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,
72 2,139,149,233,133,192,15,132,244,249,15,182,78,252,253,139,108,202,4,139,
73 12,202,137,104,4,137,8,248,43,139,6,15,182,204,15,182,232,131,198,4,193,232,
74 16,252,255,36,171,248,3,139,141,233,137,113,252,244,15,182,70,252,253,139,
75 108,194,4,139,4,194,137,105,20,137,65,16,141,177,233,41,214,139,105,252,248,
76 184,237,252,233,244,30,248,44,15,182,110,252,252,141,4,194,141,12,202,137,
77 108,36,12,139,108,36,48,137,68,36,8,137,76,36,4,137,44,36,137,149,233,137,
78 116,36,24,232,251,1,3,248,3,139,149,233,255,131,252,248,1,15,135,244,45,248,
79 4,141,118,4,15,130,244,252,248,5,15,183,70,252,254,141,180,253,134,233,248,
80 6,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,46,
81 131,198,4,129,120,253,4,239,15,130,244,5,252,233,244,6,248,47,129,120,253,
82 4,239,252,233,244,4,248,48,131,252,238,4,137,108,36,12,139,108,36,48,137,
83 68,36,8,137,76,36,4,137,44,36,137,149,233,255,137,116,36,24,232,251,1,4,252,
84 233,244,3,248,49,255,131,252,238,4,139,108,36,48,137,149,233,137,252,233,
85 139,86,252,252,137,116,36,24,232,251,1,5,252,233,244,3,255,248,50,255,15,
86 182,110,252,255,255,248,51,141,4,199,252,233,244,247,248,52,255,248,53,141,
87 4,199,141,44,252,234,149,252,233,244,248,248,54,141,4,194,137,197,252,233,
88 244,248,248,55,255,248,56,141,4,194,248,1,141,44,252,234,248,2,141,12,202,
89 137,108,36,8,139,108,36,48,137,68,36,12,15,182,70,252,252,137,76,36,4,137,
90 68,36,16,137,44,36,137,149,233,137,116,36,24,232,251,1,6,139,149,233,133,
91 192,15,132,244,43,248,45,137,193,41,208,137,113,252,244,141,176,233,184,237,
92 252,233,244,28,248,57,139,108,36,48,137,149,233,141,20,194,137,252,233,137,
93 116,36,24,232,251,1,7,139,149,233,255,133,192,15,133,244,45,15,183,70,252,
94 254,139,12,194,252,233,244,58,255,252,233,244,45,255,248,59,141,76,202,8,
95 248,29,137,76,36,20,137,68,36,16,131,252,233,8,141,4,193,139,108,36,48,137,
96 76,36,4,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,8,139,149,
97 233,139,76,36,20,139,68,36,16,139,105,252,248,131,192,1,57,215,15,132,244,
98 60,137,202,137,114,252,252,139,181,233,139,14,15,182,252,233,15,182,205,131,
99 198,4,252,255,36,171,248,61,139,108,36,48,137,149,233,137,202,137,252,233,
100 137,116,36,24,232,251,1,9,139,149,233,139,70,252,252,15,182,204,15,182,232,
101 193,232,16,252,255,164,253,171,233,248,62,129,252,248,239,15,130,244,63,139,
102 106,4,129,252,253,239,15,131,244,63,139,114,252,252,137,68,36,20,137,106,
103 252,252,139,42,137,106,252,248,131,232,2,15,132,244,248,255,137,209,248,1,
104 131,193,8,139,105,4,137,105,252,252,139,41,137,105,252,248,131,232,1,15,133,
105 244,1,248,2,139,68,36,20,252,233,244,64,248,65,129,252,248,239,15,130,244,
106 63,139,106,4,184,237,252,247,213,57,232,255,15,71,197,255,15,134,244,247,
107 137,232,248,1,255,248,2,139,106,252,248,139,132,253,197,233,139,114,252,252,
108 199,66,252,252,237,137,66,252,248,252,233,244,66,248,67,129,252,248,239,15,
109 130,244,63,139,106,4,139,114,252,252,129,252,253,239,15,133,244,252,248,1,
110 139,42,139,173,233,248,2,133,252,237,199,66,252,252,237,15,132,244,66,139,
111 131,233,199,66,252,252,237,255,137,106,252,248,139,141,233,35,136,233,105,
112 201,239,3,141,233,248,3,129,185,233,239,15,133,244,250,57,129,233,15,132,
113 244,251,248,4,139,137,233,133,201,15,133,244,3,252,233,244,66,248,5,139,105,
114 4,129,252,253,239,255,15,132,244,66,139,1,137,106,252,252,137,66,252,248,
115 252,233,244,66,248,6,129,252,253,239,15,132,244,1,129,252,253,239,15,135,
116 244,254,189,237,248,8,252,247,213,139,172,253,171,233,252,233,244,2,248,68,
117 129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,63,139,42,
118 131,189,233,0,15,133,244,63,129,122,253,12,239,15,133,244,63,139,66,8,137,
119 133,233,139,114,252,252,199,66,252,252,237,137,106,252,248,252,246,133,233,
120 235,15,132,244,247,128,165,233,235,139,131,233,137,171,233,137,133,233,248,
121 1,255,252,233,244,66,248,69,129,252,248,239,15,130,244,63,129,122,253,4,239,
122 15,133,244,63,139,2,139,108,36,48,137,68,36,4,137,44,36,137,213,131,194,8,
123 137,84,36,8,232,251,1,10,137,252,234,139,40,139,64,4,139,114,252,252,137,
124 106,252,248,137,66,252,252,252,233,244,66,248,70,129,252,248,239,15,133,244,
125 63,129,122,253,4,239,255,15,133,244,247,139,42,252,233,244,71,248,1,15,135,
126 244,63,255,15,131,244,63,255,252,242,15,16,2,252,233,244,72,255,221,2,252,
127 233,244,73,255,248,74,129,252,248,239,15,130,244,63,139,114,252,252,129,122,
128 253,4,239,15,133,244,249,139,2,248,2,199,66,252,252,237,137,66,252,248,252,
129 233,244,66,248,3,129,122,253,4,239,15,135,244,63,131,187,233,0,15,133,244,
130 63,139,171,233,59,171,233,255,15,130,244,247,232,244,75,248,1,139,108,36,
131 48,137,149,233,137,116,36,24,137,252,233,255,232,251,1,11,255,232,251,1,12,
132 255,139,149,233,252,233,244,2,248,76,129,252,248,239,15,130,244,63,15,132,
133 244,248,248,1,129,122,253,4,239,15,133,244,63,139,108,36,48,137,149,233,137,
134 149,233,139,114,252,252,139,2,137,68,36,4,137,44,36,131,194,8,137,84,36,8,
135 137,116,36,24,232,251,1,13,139,149,233,133,192,15,132,244,249,139,106,8,139,
136 66,12,137,106,252,248,137,66,252,252,139,106,16,139,66,20,137,42,137,66,4,
137 248,77,184,237,255,252,233,244,78,248,2,199,66,12,237,252,233,244,1,248,3,
138 199,66,252,252,237,252,233,244,66,248,79,129,252,248,239,15,130,244,63,139,
139 42,129,122,253,4,239,15,133,244,63,255,131,189,233,0,15,133,244,63,255,139,
140 106,252,248,139,133,233,139,114,252,252,199,66,252,252,237,137,66,252,248,
141 199,66,12,237,184,237,252,233,244,78,248,80,129,252,248,239,15,130,244,63,
142 129,122,253,4,239,15,133,244,63,129,122,253,12,239,255,139,114,252,252,255,
143 139,66,8,131,192,1,199,66,252,252,237,137,66,252,248,255,252,242,15,16,66,
144 8,189,0,0,252,240,63,102,15,110,205,102,15,112,201,81,252,242,15,88,193,252,
145 242,15,45,192,252,242,15,17,66,252,248,255,221,66,8,217,232,222,193,219,20,
146 36,221,90,252,248,139,4,36,255,139,42,59,133,233,15,131,244,248,193,224,3,
147 3,133,233,248,1,129,120,253,4,239,15,132,244,81,139,40,139,64,4,137,42,137,
148 66,4,252,233,244,77,248,2,131,189,233,0,15,132,244,81,137,252,233,137,213,
149 137,194,232,251,1,14,137,252,234,133,192,15,133,244,1,248,81,184,237,252,
150 233,244,78,248,82,255,139,106,252,248,139,133,233,139,114,252,252,199,66,
151 252,252,237,137,66,252,248,255,199,66,12,237,199,66,8,0,0,0,0,255,15,87,192,
152 252,242,15,17,66,8,255,217,252,238,221,90,8,255,184,237,252,233,244,78,248,
153 83,129,252,248,239,15,130,244,63,141,74,8,131,232,1,190,237,248,1,15,182,
154 171,233,193,252,237,235,131,229,1,1,252,238,252,233,244,28,248,84,129,252,
155 248,239,15,130,244,63,129,122,253,12,239,15,133,244,63,255,139,106,4,137,
156 106,12,199,66,4,237,139,42,139,114,8,137,106,8,137,50,141,74,16,131,232,2,
157 190,237,252,233,244,1,248,85,129,252,248,239,15,130,244,63,139,42,139,114,
158 252,252,137,116,36,24,137,44,36,129,122,253,4,239,15,133,244,63,131,189,233,
159 0,15,133,244,63,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247,
160 255,59,141,233,15,132,244,63,248,1,141,116,193,252,240,59,181,233,15,135,
161 244,63,137,181,233,139,108,36,48,137,149,233,131,194,8,137,149,233,141,108,
162 194,232,41,252,245,57,206,15,132,244,249,248,2,139,68,46,4,137,70,252,252,
163 139,4,46,137,70,252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,
164 4,49,201,137,76,36,12,137,76,36,8,232,244,25,199,131,233,237,255,139,108,
165 36,48,139,52,36,139,149,233,129,252,248,239,15,135,244,254,248,4,139,142,
166 233,139,190,233,137,142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,
167 252,238,3,59,133,233,15,135,244,255,137,213,41,205,248,5,139,1,137,4,41,139,
168 65,4,137,68,41,4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,2,199,66,
169 252,252,237,248,7,139,116,36,24,137,68,36,20,185,252,248,252,255,252,255,
170 252,255,252,247,198,237,255,15,132,244,13,252,233,244,14,248,8,199,66,252,
171 252,237,139,142,233,131,252,233,8,137,142,233,139,1,137,2,139,65,4,137,66,
172 4,184,237,252,233,244,7,248,9,139,12,36,137,185,233,137,252,242,137,252,233,
173 232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,86,139,106,252,248,139,
174 173,233,139,114,252,252,137,116,36,24,137,44,36,131,189,233,0,15,133,244,
175 63,255,128,189,233,235,15,135,244,63,139,141,233,15,132,244,247,59,141,233,
176 15,132,244,63,248,1,141,116,193,252,248,59,181,233,15,135,244,63,137,181,
177 233,139,108,36,48,137,149,233,137,149,233,141,108,194,252,240,41,252,245,
178 57,206,15,132,244,249,248,2,255,139,68,46,4,137,70,252,252,139,4,46,137,70,
179 252,248,131,252,238,8,57,206,15,133,244,2,248,3,137,76,36,4,49,201,137,76,
180 36,12,137,76,36,8,232,244,25,199,131,233,237,139,108,36,48,139,52,36,139,
181 149,233,129,252,248,239,15,135,244,254,248,4,139,142,233,139,190,233,137,
182 142,233,137,252,254,41,206,15,132,244,252,141,4,50,193,252,238,3,59,133,233,
183 15,135,244,255,255,137,213,41,205,248,5,139,1,137,4,41,139,65,4,137,68,41,
184 4,131,193,8,57,252,249,15,133,244,5,248,6,141,70,1,248,7,139,116,36,24,137,
185 68,36,20,49,201,252,247,198,237,15,132,244,13,252,233,244,14,248,8,137,252,
186 242,137,252,233,232,251,1,15,248,9,139,12,36,137,185,233,137,252,242,137,
187 252,233,232,251,1,0,139,52,36,139,149,233,252,233,244,4,248,87,139,108,36,
188 48,252,247,133,233,237,15,132,244,63,255,137,149,233,141,68,194,252,248,137,
189 133,233,49,192,137,133,233,176,235,136,133,233,252,233,244,16,255,248,71,
190 255,248,73,139,114,252,252,221,90,252,248,252,233,244,66,255,248,88,129,252,
191 248,239,15,130,244,63,255,129,122,253,4,239,15,133,244,248,139,42,131,252,
192 253,0,15,137,244,71,252,247,221,15,136,244,247,248,89,248,71,139,114,252,
193 252,199,66,252,252,237,137,106,252,248,252,233,244,66,248,1,139,114,252,252,
194 199,66,252,252,0,0,224,65,199,66,252,248,0,0,0,0,252,233,244,66,248,2,15,
195 135,244,63,255,129,122,253,4,239,15,131,244,63,255,252,242,15,16,2,102,15,
196 252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,248,72,139,114,252,
197 252,252,242,15,17,66,252,248,255,221,2,217,225,248,72,248,73,139,114,252,
198 252,221,90,252,248,255,248,66,184,237,248,78,137,68,36,20,248,64,252,247,
199 198,237,15,133,244,253,248,5,56,70,252,255,15,135,244,252,15,182,78,252,253,
200 252,247,209,141,20,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
201 255,36,171,248,6,199,68,194,252,244,237,131,192,1,252,233,244,5,248,7,185,
202 252,248,252,255,252,255,252,255,252,233,244,14,248,90,255,129,122,253,4,239,
203 15,133,244,247,139,42,252,233,244,71,248,1,15,135,244,63,255,252,242,15,16,
204 2,232,244,91,255,252,242,15,45,232,129,252,253,0,0,0,128,15,133,244,71,252,
205 242,15,42,205,102,15,46,193,15,138,244,72,15,132,244,71,255,221,2,232,244,
206 91,255,219,20,36,139,44,36,129,252,253,0,0,0,128,15,133,244,248,217,192,219,
207 4,36,255,223,252,233,221,216,255,218,252,233,223,224,158,255,15,138,244,73,
208 15,133,244,73,248,2,221,216,252,233,244,71,255,248,92,255,252,242,15,16,2,
209 232,244,93,255,221,2,232,244,93,255,248,94,129,252,248,239,15,130,244,63,
210 129,122,253,4,239,15,131,244,63,252,242,15,81,2,252,233,244,72,255,248,94,
211 129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,
212 250,252,233,244,73,255,248,95,129,252,248,239,15,130,244,63,129,122,253,4,
213 239,15,131,244,63,217,252,237,221,2,217,252,241,252,233,244,73,248,96,129,
214 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,217,252,236,221,
215 2,217,252,241,252,233,244,73,248,97,129,252,248,239,255,15,130,244,63,129,
216 122,253,4,239,15,131,244,63,221,2,232,244,98,252,233,244,73,248,99,129,252,
217 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,254,252,
218 233,244,73,248,100,129,252,248,239,255,15,130,244,63,129,122,253,4,239,15,
219 131,244,63,221,2,217,252,255,252,233,244,73,248,101,129,252,248,239,15,130,
220 244,63,129,122,253,4,239,15,131,244,63,221,2,217,252,242,221,216,252,233,
221 244,73,248,102,129,252,248,239,15,130,244,63,255,129,122,253,4,239,15,131,
222 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,252,243,252,
223 233,244,73,248,103,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,
224 244,63,221,2,217,192,216,200,217,232,222,225,217,252,250,217,201,217,252,
225 243,252,233,244,73,248,104,129,252,248,239,15,130,244,63,129,122,253,4,239,
226 15,131,244,63,255,221,2,217,232,217,252,243,252,233,244,73,255,248,105,129,
227 252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2,
228 252,242,15,17,4,36,255,248,105,129,252,248,239,15,130,244,63,129,122,253,
229 4,239,15,131,244,63,221,2,221,28,36,255,137,213,232,251,1,16,137,252,234,
230 252,233,244,73,255,248,106,129,252,248,239,15,130,244,63,129,122,253,4,239,
231 15,131,244,63,252,242,15,16,2,252,242,15,17,4,36,255,248,106,129,252,248,
232 239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,2,221,28,36,255,137,
233 213,232,251,1,17,137,252,234,252,233,244,73,255,248,107,129,252,248,239,15,
234 130,244,63,129,122,253,4,239,15,131,244,63,252,242,15,16,2,252,242,15,17,
235 4,36,255,248,107,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
236 63,221,2,221,28,36,255,137,213,232,251,1,18,137,252,234,252,233,244,73,248,
237 108,255,248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
238 63,252,242,15,16,2,139,106,252,248,252,242,15,89,133,233,252,233,244,72,255,
239 248,109,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,221,
240 2,139,106,252,248,220,141,233,252,233,244,73,255,248,110,129,252,248,239,
241 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
242 63,221,2,221,66,8,217,252,243,252,233,244,73,248,111,129,252,248,239,15,130,
243 244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,255,15,131,244,
244 63,221,66,8,221,2,217,252,253,221,217,252,233,244,73,248,112,129,252,248,
245 239,15,130,244,63,139,106,4,129,252,253,239,15,131,244,63,139,114,252,252,
246 139,2,137,106,252,252,137,66,252,248,209,229,129,252,253,0,0,224,252,255,
247 15,131,244,249,9,232,15,132,244,249,184,252,254,3,0,0,129,252,253,0,0,32,
248 0,15,130,244,250,248,1,193,252,237,21,41,197,255,252,242,15,42,197,255,137,
249 108,36,16,219,68,36,16,255,139,106,252,252,129,229,252,255,252,255,15,128,
250 129,205,0,0,224,63,137,106,252,252,248,2,255,252,242,15,17,2,255,221,26,255,
251 184,237,252,233,244,78,248,3,255,15,87,192,252,233,244,2,255,217,252,238,
252 252,233,244,2,255,248,4,255,252,242,15,16,2,189,0,0,80,67,102,15,110,205,
253 102,15,112,201,81,252,242,15,89,193,252,242,15,17,66,252,248,255,221,2,199,
254 68,36,16,0,0,128,90,216,76,36,16,221,90,252,248,255,139,106,252,252,184,52,
255 4,0,0,209,229,252,233,244,1,255,248,113,129,252,248,239,15,130,244,63,129,
256 122,253,4,239,15,131,244,63,252,242,15,16,2,255,248,113,129,252,248,239,15,
257 130,244,63,129,122,253,4,239,15,131,244,63,221,2,255,139,106,4,139,114,252,
258 252,209,229,129,252,253,0,0,224,252,255,15,132,244,250,255,15,40,224,232,
259 244,114,252,242,15,92,224,248,1,252,242,15,17,66,252,248,252,242,15,17,34,
260 255,217,192,232,244,114,220,252,233,248,1,221,90,252,248,221,26,255,139,66,
261 252,252,139,106,4,49,232,15,136,244,249,248,2,184,237,252,233,244,78,248,
262 3,129,252,245,0,0,0,128,137,106,4,252,233,244,2,248,4,255,15,87,228,252,233,
263 244,1,255,217,252,238,217,201,252,233,244,1,255,248,115,129,252,248,239,15,
264 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
265 63,221,66,8,221,2,248,1,217,252,248,223,224,158,15,138,244,1,221,217,252,
266 233,244,73,255,248,116,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
267 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,
268 74,8,232,244,117,252,233,244,72,255,248,116,129,252,248,239,15,130,244,63,
269 129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,
270 66,8,232,244,117,252,233,244,73,255,248,118,185,2,0,0,0,129,122,253,4,239,
271 255,15,133,244,250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252,
272 252,239,15,133,244,249,59,108,202,252,248,15,79,108,202,252,248,131,193,1,
273 252,233,244,1,248,3,15,135,244,63,255,252,233,244,252,248,4,15,135,244,63,
274 255,252,242,15,16,2,248,5,57,193,15,131,244,72,129,124,253,202,252,252,239,
275 255,15,130,244,252,15,135,244,63,252,242,15,42,76,202,252,248,252,233,244,
276 253,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,15,93,193,131,193,
277 1,252,233,244,5,255,221,2,248,5,57,193,15,131,244,73,129,124,253,202,252,
278 252,239,255,15,130,244,252,15,135,244,255,219,68,202,252,248,252,233,244,
279 253,255,15,131,244,255,255,248,6,221,68,202,252,248,248,7,255,219,252,233,
280 219,209,221,217,255,80,221,225,223,224,252,246,196,1,15,132,244,248,217,201,
281 248,2,221,216,88,255,248,119,185,2,0,0,0,129,122,253,4,239,255,15,133,244,
282 250,139,42,248,1,57,193,15,131,244,71,129,124,253,202,252,252,239,15,133,
283 244,249,59,108,202,252,248,15,76,108,202,252,248,131,193,1,252,233,244,1,
284 248,3,15,135,244,63,255,248,6,252,242,15,16,76,202,252,248,248,7,252,242,
285 15,95,193,131,193,1,252,233,244,5,255,219,252,233,218,209,221,217,255,80,
286 221,225,223,224,252,246,196,1,15,133,244,248,217,201,248,2,221,216,88,255,
287 248,9,221,216,252,233,244,63,255,248,120,129,252,248,239,15,130,244,63,129,
288 122,253,4,239,15,133,244,63,139,42,255,139,173,233,252,233,244,71,255,252,
289 242,15,42,133,233,252,233,244,72,255,219,133,233,252,233,244,73,255,248,121,
290 129,252,248,239,15,133,244,63,129,122,253,4,239,15,133,244,63,139,42,139,
291 114,252,252,131,189,233,1,15,130,244,81,15,182,173,233,255,252,242,15,42,
292 197,252,233,244,72,255,137,108,36,16,219,68,36,16,252,233,244,73,255,248,
293 122,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,252,248,239,
294 15,133,244,63,129,122,253,4,239,255,15,133,244,63,139,42,129,252,253,252,
295 255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,252,242,15,44,42,
296 129,252,253,252,255,0,0,0,15,135,244,63,137,108,36,20,255,15,131,244,63,221,
297 2,219,92,36,20,129,124,36,20,252,255,0,0,0,15,135,244,63,255,199,68,36,8,
298 1,0,0,0,141,68,36,20,248,123,139,108,36,48,137,149,233,137,68,36,4,137,44,
299 36,137,116,36,24,232,251,1,19,139,149,233,139,114,252,252,199,66,252,252,
300 237,137,66,252,248,252,233,244,66,248,124,139,171,233,59,171,233,15,130,244,
301 247,232,244,75,248,1,199,68,36,20,252,255,252,255,252,255,252,255,129,252,
302 248,239,15,130,244,63,15,134,244,247,129,122,253,20,239,255,15,133,244,63,
303 139,106,16,137,108,36,20,255,15,131,244,63,252,242,15,44,106,16,137,108,36,
304 20,255,15,131,244,63,221,66,16,219,92,36,20,255,248,1,129,122,253,4,239,15,
305 133,244,63,129,122,253,12,239,255,139,42,137,108,36,12,139,173,233,255,139,
306 74,8,255,252,242,15,44,74,8,255,221,66,8,219,92,36,8,139,76,36,8,255,139,
307 68,36,20,57,197,15,130,244,251,248,2,133,201,15,142,244,253,248,3,139,108,
308 36,12,41,200,15,140,244,125,141,172,253,13,233,131,192,1,248,4,137,68,36,
309 8,137,232,252,233,244,123,248,5,15,140,244,252,141,68,40,1,252,233,244,2,
310 248,6,137,232,252,233,244,2,248,7,255,15,132,244,254,1,252,233,131,193,1,
311 15,143,244,3,248,8,185,1,0,0,0,252,233,244,3,248,125,49,192,252,233,244,4,
312 248,126,129,252,248,239,15,130,244,63,139,171,233,59,171,233,15,130,244,247,
313 232,244,75,248,1,255,129,122,253,4,239,15,133,244,63,129,122,253,12,239,139,
314 42,255,15,133,244,63,139,66,8,255,15,131,244,63,252,242,15,44,66,8,255,15,
315 131,244,63,221,66,8,219,92,36,20,139,68,36,20,255,133,192,15,142,244,125,
316 131,189,233,1,15,130,244,125,15,133,244,127,57,131,233,15,130,244,127,15,
317 182,141,233,139,171,233,137,68,36,8,248,1,136,77,0,131,197,1,131,232,1,15,
318 133,244,1,139,131,233,252,233,244,123,248,128,129,252,248,239,255,15,130,
319 244,63,139,171,233,59,171,233,15,130,244,247,232,244,75,248,1,129,122,253,
320 4,239,15,133,244,63,139,42,139,133,233,133,192,15,132,244,125,57,131,233,
321 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,248,1,255,
322 15,182,77,0,131,197,1,131,232,1,136,12,6,15,133,244,1,137,252,240,139,116,
323 36,20,252,233,244,123,248,130,129,252,248,239,15,130,244,63,139,171,233,59,
324 171,233,15,130,244,247,232,244,75,248,1,129,122,253,4,239,15,133,244,63,139,
325 42,139,133,233,57,131,233,255,15,130,244,129,129,197,239,137,116,36,20,137,
326 68,36,8,139,179,233,252,233,244,249,248,1,15,182,76,5,0,131,252,249,65,15,
327 130,244,248,131,252,249,90,15,135,244,248,131,252,241,32,248,2,136,12,6,248,
328 3,131,232,1,15,137,244,1,137,252,240,139,116,36,20,252,233,244,123,248,131,
329 129,252,248,239,15,130,244,63,255,139,171,233,59,171,233,15,130,244,247,232,
330 244,75,248,1,129,122,253,4,239,15,133,244,63,139,42,139,133,233,57,131,233,
331 15,130,244,129,129,197,239,137,116,36,20,137,68,36,8,139,179,233,252,233,
332 244,249,248,1,15,182,76,5,0,131,252,249,97,15,130,244,248,255,131,252,249,
333 122,15,135,244,248,131,252,241,32,248,2,136,12,6,248,3,131,232,1,15,137,244,
334 1,137,252,240,139,116,36,20,252,233,244,123,248,132,129,252,248,239,15,130,
335 244,63,129,122,253,4,239,15,133,244,63,137,213,139,10,232,251,1,20,137,252,
336 234,255,137,197,252,233,244,71,255,252,242,15,42,192,252,233,244,72,255,137,
337 4,36,219,4,36,252,233,244,73,255,248,133,129,252,248,239,15,130,244,63,129,
338 122,253,4,239,255,15,133,244,247,139,42,252,233,244,89,248,1,15,135,244,63,
339 255,252,242,15,16,2,189,0,0,56,67,102,15,110,205,102,15,112,201,81,252,242,
340 15,88,193,102,15,126,197,255,221,2,199,68,36,16,0,0,192,89,216,68,36,16,221,
341 28,36,255,139,44,36,255,252,233,244,89,255,248,134,129,252,248,239,15,130,
342 244,63,255,189,0,0,56,67,102,15,110,205,102,15,112,201,81,255,199,68,36,16,
343 0,0,192,89,255,15,133,244,247,139,42,252,233,244,248,248,1,15,135,244,63,
344 255,252,242,15,16,2,252,242,15,88,193,102,15,126,197,255,221,2,216,68,36,
345 16,221,28,36,139,44,36,255,248,2,137,68,36,20,141,68,194,252,240,248,1,57,
346 208,15,134,244,89,129,120,253,4,239,255,15,133,244,248,35,40,131,232,8,252,
347 233,244,1,248,2,15,135,244,135,255,15,131,244,135,255,252,242,15,16,0,252,
348 242,15,88,193,102,15,126,193,33,205,255,221,0,216,68,36,16,221,28,36,35,44,
349 36,255,131,232,8,252,233,244,1,248,136,129,252,248,239,15,130,244,63,255,
350 15,133,244,248,11,40,131,232,8,252,233,244,1,248,2,15,135,244,135,255,252,
351 242,15,16,0,252,242,15,88,193,102,15,126,193,9,205,255,221,0,216,68,36,16,
352 221,28,36,11,44,36,255,131,232,8,252,233,244,1,248,137,129,252,248,239,15,
353 130,244,63,255,15,133,244,248,51,40,131,232,8,252,233,244,1,248,2,15,135,
354 244,135,255,252,242,15,16,0,252,242,15,88,193,102,15,126,193,49,205,255,221,
355 0,216,68,36,16,221,28,36,51,44,36,255,131,232,8,252,233,244,1,248,138,129,
356 252,248,239,15,130,244,63,129,122,253,4,239,255,221,2,199,68,36,16,0,0,192,
357 89,216,68,36,16,221,28,36,139,44,36,255,248,2,15,205,252,233,244,89,248,139,
358 129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,2,252,247,213,255,
359 248,89,252,242,15,42,197,252,233,244,72,255,248,89,137,44,36,219,4,36,252,
360 233,244,73,255,248,135,139,68,36,20,252,233,244,63,255,248,140,129,252,248,
361 239,15,130,244,63,129,122,253,4,239,255,248,2,129,122,253,12,239,15,133,244,
362 63,139,74,8,255,248,140,129,252,248,239,15,130,244,63,129,122,253,4,239,15,
363 131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,16,
364 74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,252,
365 242,15,88,202,102,15,126,197,102,15,126,201,255,248,140,129,252,248,239,15,
366 130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
367 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
368 36,16,221,28,36,139,76,36,8,139,44,36,255,211,229,252,233,244,89,255,248,
369 141,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,141,129,252,248,
370 239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,
371 244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,213,102,
372 15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,102,15,126,
373 201,255,248,141,129,252,248,239,15,130,244,63,129,122,253,4,239,15,131,244,
374 63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16,0,0,192,89,
375 216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,44,36,255,
376 211,252,237,252,233,244,89,255,248,142,129,252,248,239,15,130,244,63,129,
377 122,253,4,239,255,248,142,129,252,248,239,15,130,244,63,129,122,253,4,239,
378 15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,15,
379 16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,
380 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,142,129,252,248,239,
381 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
382 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
383 36,16,221,28,36,139,76,36,8,139,44,36,255,211,252,253,252,233,244,89,255,
384 248,143,129,252,248,239,15,130,244,63,129,122,253,4,239,255,248,143,129,252,
385 248,239,15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,
386 15,131,244,63,252,242,15,16,2,252,242,15,16,74,8,189,0,0,56,67,102,15,110,
387 213,102,15,112,210,81,252,242,15,88,194,252,242,15,88,202,102,15,126,197,
388 102,15,126,201,255,248,143,129,252,248,239,15,130,244,63,129,122,253,4,239,
389 15,131,244,63,129,122,253,12,239,15,131,244,63,221,2,221,66,8,199,68,36,16,
390 0,0,192,89,216,68,36,16,221,92,36,8,216,68,36,16,221,28,36,139,76,36,8,139,
391 44,36,255,211,197,252,233,244,89,255,248,144,129,252,248,239,15,130,244,63,
392 129,122,253,4,239,255,248,144,129,252,248,239,15,130,244,63,129,122,253,4,
393 239,15,131,244,63,129,122,253,12,239,15,131,244,63,252,242,15,16,2,252,242,
394 15,16,74,8,189,0,0,56,67,102,15,110,213,102,15,112,210,81,252,242,15,88,194,
395 252,242,15,88,202,102,15,126,197,102,15,126,201,255,248,144,129,252,248,239,
396 15,130,244,63,129,122,253,4,239,15,131,244,63,129,122,253,12,239,15,131,244,
397 63,221,2,221,66,8,199,68,36,16,0,0,192,89,216,68,36,16,221,92,36,8,216,68,
398 36,16,221,28,36,139,76,36,8,139,44,36,255,211,205,252,233,244,89,248,127,
399 184,237,252,233,244,63,248,129,184,237,248,63,139,108,36,48,139,114,252,252,
400 137,116,36,24,137,149,233,141,68,194,252,248,141,136,233,137,133,233,139,
401 66,252,248,59,141,233,15,135,244,251,137,44,36,252,255,144,233,139,149,233,
402 133,192,15,143,244,78,248,1,255,139,141,233,41,209,193,252,233,3,133,192,
403 141,65,1,139,106,252,248,15,133,244,33,139,181,233,139,14,15,182,252,233,
404 15,182,205,131,198,4,252,255,36,171,248,33,137,209,252,247,198,237,15,133,
405 244,249,15,182,110,252,253,252,247,213,141,20,252,234,252,233,244,28,248,
406 3,137,252,245,131,229,252,248,41,252,234,252,233,244,28,248,5,186,237,137,
407 252,233,232,251,1,0,139,149,233,49,192,252,233,244,1,248,75,93,137,108,36,
408 16,139,108,36,48,137,116,36,24,137,149,233,255,141,68,194,252,248,137,252,
409 233,137,133,233,232,251,1,21,139,149,233,139,133,233,41,208,193,232,3,131,
410 192,1,139,108,36,16,85,195,248,145,255,15,182,131,233,168,235,15,133,244,
411 251,168,235,15,133,244,247,168,235,15,132,244,247,252,255,139,233,252,233,
412 244,247,255,248,146,15,182,131,233,168,235,15,133,244,251,252,233,244,247,
413 248,147,15,182,131,233,168,235,15,133,244,251,168,235,15,132,244,251,252,
414 255,139,233,15,132,244,247,168,235,15,132,244,251,248,1,255,139,108,36,48,
415 137,149,233,137,252,242,137,252,233,232,251,1,22,248,3,139,149,233,248,4,
416 15,182,78,252,253,248,5,15,182,110,252,252,15,183,70,252,254,252,255,164,
417 253,171,233,248,148,131,198,4,139,77,232,137,76,36,20,252,233,244,4,248,149,
418 255,139,106,252,248,139,173,233,15,182,133,233,141,4,194,139,108,36,48,137,
419 149,233,137,133,233,137,252,242,141,139,233,137,171,233,137,116,36,24,232,
420 251,1,23,252,233,244,3,255,248,150,137,116,36,24,255,248,151,255,137,116,
421 36,24,131,206,1,248,1,255,141,68,194,252,248,139,108,36,48,137,149,233,137,
422 133,233,137,252,242,137,252,233,232,251,1,24,199,68,36,24,0,0,0,0,255,131,
423 230,252,254,255,139,149,233,137,193,139,133,233,41,208,137,205,15,182,78,
424 252,253,193,232,3,131,192,1,252,255,229,248,152,255,85,141,108,36,12,85,83,
425 82,81,80,15,182,69,252,252,138,101,252,248,137,125,252,252,137,117,252,248,
426 139,93,0,139,139,233,199,131,233,237,137,131,233,137,139,233,129,252,236,
427 239,252,242,15,17,125,216,252,242,15,17,117,208,252,242,15,17,109,200,252,
428 242,15,17,101,192,252,242,15,17,93,184,252,242,15,17,85,176,252,242,15,17,
429 77,168,252,242,15,17,69,160,139,171,233,139,147,233,137,171,233,199,131,233,
430 0,0,0,0,137,149,233,141,84,36,16,141,139,233,232,251,1,25,139,141,233,129,
431 225,239,137,204,137,169,233,139,149,233,139,177,233,255,248,153,255,133,192,
432 15,136,244,249,137,68,36,20,139,122,252,248,139,191,233,139,191,233,199,131,
433 233,0,0,0,0,199,131,233,237,139,6,15,182,204,15,182,232,131,198,4,193,232,
434 16,129,252,253,239,15,130,244,248,139,68,36,20,248,2,252,255,36,171,248,3,
435 252,247,216,137,252,233,137,194,232,251,1,26,255,248,91,255,217,124,36,4,
436 137,68,36,8,102,184,0,4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,
437 36,6,217,108,36,6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,154,102,
438 15,252,239,210,102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,
439 102,15,112,219,81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,
440 15,85,208,252,242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,
441 63,102,15,110,208,102,15,112,210,81,252,242,15,194,193,1,102,15,84,194,252,
442 242,15,92,200,15,40,193,248,1,195,248,93,255,217,124,36,4,137,68,36,8,102,
443 184,0,8,102,11,68,36,4,102,37,252,255,252,251,102,137,68,36,6,217,108,36,
444 6,217,252,252,217,108,36,4,139,68,36,8,195,255,248,155,102,15,252,239,210,
445 102,15,118,210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,
446 81,15,40,200,102,15,84,202,102,15,46,217,15,134,244,247,102,15,85,208,252,
447 242,15,88,203,252,242,15,92,203,102,15,86,202,184,0,0,252,240,191,102,15,
448 110,208,102,15,112,210,81,252,242,15,194,193,6,102,15,84,194,252,242,15,92,
449 200,15,40,193,248,1,195,248,114,255,217,124,36,4,137,68,36,8,102,184,0,12,
450 102,11,68,36,4,102,137,68,36,6,217,108,36,6,217,252,252,217,108,36,4,139,
451 68,36,8,195,255,248,156,102,15,252,239,210,102,15,118,210,102,15,115,210,
452 1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,200,102,15,84,202,
453 102,15,46,217,15,134,244,247,102,15,85,208,15,40,193,252,242,15,88,203,252,
454 242,15,92,203,184,0,0,252,240,63,102,15,110,216,102,15,112,219,81,252,242,
455 15,194,193,1,102,15,84,195,252,242,15,92,200,102,15,86,202,15,40,193,248,
456 1,195,248,157,255,15,40,232,252,242,15,94,193,102,15,252,239,210,102,15,118,
457 210,102,15,115,210,1,184,0,0,48,67,102,15,110,216,102,15,112,219,81,15,40,
458 224,102,15,84,226,102,15,46,220,15,134,244,247,102,15,85,208,252,242,15,88,
459 227,252,242,15,92,227,102,15,86,226,184,0,0,252,240,63,102,15,110,208,102,
460 15,112,210,81,252,242,15,194,196,1,102,15,84,194,252,242,15,92,224,15,40,
461 197,252,242,15,89,204,252,242,15,92,193,195,248,1,252,242,15,89,200,15,40,
462 197,252,242,15,92,193,195,255,217,193,216,252,241,217,124,36,4,102,184,0,
463 4,102,11,68,36,4,102,37,252,255,252,247,102,137,68,36,6,217,108,36,6,217,
464 252,252,217,108,36,4,222,201,222,252,233,195,255,248,98,217,252,234,222,201,
465 248,158,217,84,36,4,129,124,36,4,0,0,128,127,15,132,244,247,129,124,36,4,
466 0,0,128,252,255,15,132,244,248,248,159,217,192,217,252,252,220,252,233,217,
467 201,217,252,240,217,232,222,193,217,252,253,221,217,248,1,195,248,2,221,216,
468 217,252,238,195,255,248,117,219,84,36,4,219,68,36,4,255,223,252,233,255,221,
469 252,233,223,224,158,255,15,133,244,254,15,138,244,255,221,216,139,68,36,4,
470 131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,248,216,200,209,
471 232,252,233,244,1,248,2,209,232,15,132,244,251,217,192,248,3,216,200,209,
472 232,15,132,244,250,15,131,244,3,220,201,252,233,244,3,248,4,255,222,201,248,
473 5,195,248,6,15,132,244,5,15,130,244,253,217,232,222,252,241,252,247,216,131,
474 252,248,1,15,132,244,5,252,233,244,1,248,7,221,216,217,232,195,248,8,217,
475 84,36,4,217,201,217,84,36,8,139,68,36,4,209,224,61,0,0,0,252,255,15,132,244,
476 248,139,68,36,8,209,224,15,132,244,250,61,0,0,0,252,255,15,132,244,250,217,
477 252,241,252,233,244,159,248,9,255,217,232,255,223,252,234,255,221,252,234,
478 223,224,158,255,15,132,244,247,217,201,248,1,221,216,195,248,2,217,225,217,
479 232,255,15,132,244,249,221,216,217,225,217,252,238,184,0,0,0,0,15,146,208,
480 209,200,51,68,36,4,15,137,244,249,217,201,248,3,221,217,217,225,195,248,4,
481 131,124,36,4,0,15,141,244,3,221,216,221,216,133,192,15,132,244,251,217,252,
482 238,195,248,5,199,68,36,4,0,0,128,127,217,68,36,4,195,255,248,117,255,248,
483 160,252,242,15,45,193,252,242,15,42,208,102,15,46,202,15,133,244,254,15,138,
484 244,255,248,161,131,252,248,1,15,142,244,252,248,1,169,1,0,0,0,15,133,244,
485 248,252,242,15,89,192,209,232,252,233,244,1,248,2,209,232,15,132,244,251,
486 15,40,200,248,3,252,242,15,89,192,209,232,15,132,244,250,15,131,244,3,255,
487 252,242,15,89,200,252,233,244,3,248,4,252,242,15,89,193,248,5,195,248,6,15,
488 132,244,5,15,130,244,253,252,247,216,232,244,1,184,0,0,252,240,63,102,15,
489 110,200,102,15,112,201,81,252,242,15,94,200,15,40,193,195,248,7,184,0,0,252,
490 240,63,102,15,110,192,102,15,112,192,81,195,248,8,252,242,15,17,76,36,12,
491 252,242,15,17,68,36,4,131,124,36,12,0,15,133,244,247,139,68,36,16,209,224,
492 61,0,0,224,252,255,15,132,244,248,248,1,131,124,36,4,0,15,133,244,247,255,
493 139,68,36,8,209,224,15,132,244,250,61,0,0,224,252,255,15,132,244,251,248,
494 1,221,68,36,12,221,68,36,4,217,252,241,217,192,217,252,252,220,252,233,217,
495 201,217,252,240,217,232,222,193,217,252,253,221,217,221,92,36,4,252,242,15,
496 16,68,36,4,195,248,9,184,0,0,252,240,63,102,15,110,208,102,15,112,210,81,
497 102,15,46,194,15,132,244,247,15,40,193,248,1,195,248,2,102,15,252,239,210,
498 102,15,118,210,102,15,115,210,1,102,15,84,194,184,0,0,252,240,63,102,15,110,
499 208,102,15,112,210,81,102,15,46,194,15,132,244,1,102,15,80,193,15,87,192,
500 136,196,15,146,208,48,224,15,133,244,1,248,3,184,0,0,252,240,127,102,15,110,
501 192,102,15,112,192,81,195,248,4,102,15,80,193,133,192,15,133,244,3,15,87,
502 192,195,248,5,102,15,80,193,133,192,15,132,244,3,255,15,87,192,195,248,162,
503 255,139,68,36,12,252,242,15,16,68,36,4,131,252,248,1,15,132,244,247,15,135,
504 244,248,232,244,91,252,233,244,253,248,1,232,244,93,252,233,244,253,248,2,
505 131,252,248,3,15,132,244,247,15,135,244,248,232,244,114,255,252,233,244,253,
506 248,1,252,242,15,81,192,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,2,
507 221,68,36,4,131,252,248,5,15,130,244,98,15,132,244,158,248,2,131,252,248,
508 7,15,132,244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,
509 217,232,217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,15,135,
510 244,248,255,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,
511 2,131,252,248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,
512 252,242,221,216,195,255,139,68,36,12,221,68,36,4,131,252,248,1,15,130,244,
513 91,15,132,244,93,131,252,248,3,15,130,244,114,15,135,244,248,217,252,250,
514 195,248,2,131,252,248,5,15,130,244,98,15,132,244,158,131,252,248,7,15,132,
515 244,247,15,135,244,248,217,252,237,217,201,217,252,241,195,248,1,217,232,
516 217,201,217,252,241,195,248,2,131,252,248,9,15,132,244,247,255,15,135,244,
517 248,217,252,236,217,201,217,252,241,195,248,1,217,252,254,195,248,2,131,252,
518 248,11,15,132,244,247,15,135,244,255,217,252,255,195,248,1,217,252,242,221,
519 216,195,255,248,9,204,255,248,163,255,139,68,36,20,252,242,15,16,68,36,4,
520 252,242,15,16,76,36,12,131,252,248,1,15,132,244,247,15,135,244,248,252,242,
521 15,88,193,248,7,252,242,15,17,68,36,4,221,68,36,4,195,248,1,252,242,15,92,
522 193,252,233,244,7,248,2,131,252,248,3,15,132,244,247,15,135,244,248,252,242,
523 15,89,193,252,233,244,7,248,1,252,242,15,94,193,252,233,244,7,248,2,131,252,
524 248,5,15,132,244,247,255,15,135,244,248,232,244,157,252,233,244,7,248,1,90,
525 232,244,117,82,252,233,244,7,248,2,131,252,248,7,15,132,244,247,15,135,244,
526 248,184,0,0,0,128,102,15,110,200,102,15,112,201,81,15,87,193,252,233,244,
527 7,248,1,102,15,252,239,201,102,15,118,201,102,15,115,209,1,15,84,193,252,
528 233,244,7,248,2,255,131,252,248,9,15,135,244,248,221,68,36,4,221,68,36,12,
529 15,132,244,247,217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,
530 2,131,252,248,11,15,132,244,247,15,135,244,255,252,242,15,93,193,252,233,
531 244,7,248,1,252,242,15,95,193,252,233,244,7,248,9,204,255,139,68,36,20,221,
532 68,36,4,221,68,36,12,131,252,248,1,15,132,244,247,15,135,244,248,222,193,
533 195,248,1,222,252,233,195,248,2,131,252,248,3,15,132,244,247,15,135,244,248,
534 222,201,195,248,1,222,252,249,195,248,2,131,252,248,5,15,130,244,157,15,132,
535 244,117,131,252,248,7,15,132,244,247,15,135,244,248,255,221,216,217,224,195,
536 248,1,221,216,217,225,195,248,2,131,252,248,9,15,132,244,247,15,135,244,248,
537 217,252,243,195,248,1,217,201,217,252,253,221,217,195,248,2,131,252,248,11,
538 15,132,244,247,15,135,244,255,255,219,252,233,219,209,221,217,195,248,1,219,
539 252,233,218,209,221,217,195,255,221,225,223,224,252,246,196,1,15,132,244,
540 248,217,201,248,2,221,216,195,248,1,221,225,223,224,252,246,196,1,15,133,
541 244,248,217,201,248,2,221,216,195,255,248,164,156,90,137,209,129,252,242,
542 0,0,32,0,82,157,156,90,49,192,57,209,15,132,244,247,139,68,36,4,87,83,15,
543 162,139,124,36,16,137,7,137,95,4,137,79,8,137,87,12,91,95,248,1,195,248,165,
544 255,204,248,166,255,131,252,236,16,87,86,83,131,252,236,28,141,157,233,139,
545 181,233,15,183,192,137,134,233,141,132,253,36,233,137,142,233,137,150,233,
546 137,134,233,139,140,253,36,233,139,148,253,36,233,137,76,36,44,137,84,36,
547 40,137,226,137,116,36,24,137,252,241,232,251,1,27,199,131,233,237,139,144,
548 233,139,128,233,41,208,139,106,252,248,193,232,3,131,192,1,139,181,233,139,
549 14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,248,32,255,139,
550 76,36,48,139,179,233,137,142,233,137,145,233,137,169,233,137,252,241,137,
551 194,232,251,1,28,139,108,36,48,139,134,233,139,150,233,131,190,233,1,15,130,
552 244,253,15,132,244,252,221,134,233,252,233,244,253,248,6,217,134,233,248,
553 7,139,141,233,15,183,73,6,137,76,36,48,131,196,28,91,94,95,93,89,3,36,36,
554 131,196,16,81,195,255,248,167,255,85,137,229,83,137,203,43,163,233,255,137,
555 163,233,255,15,182,139,233,131,252,233,1,15,136,244,248,248,1,139,132,253,
556 139,233,137,4,140,131,252,233,1,15,137,244,1,248,2,139,139,233,139,147,233,
557 252,255,147,233,137,131,233,137,147,233,128,187,233,1,15,130,244,253,15,132,
558 244,252,221,155,233,252,233,244,253,248,6,255,217,155,233,248,7,255,41,163,
559 233,255,139,93,252,252,201,195,255,249,255,129,124,253,202,4,239,15,133,244,
560 253,129,124,253,194,4,239,15,133,244,254,139,44,202,131,198,4,59,44,194,255,
561 15,141,244,255,255,15,140,244,255,255,15,143,244,255,255,15,142,244,255,255,
562 248,6,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,15,182,
563 232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,44,129,124,253,194,
564 4,239,15,130,244,247,15,133,244,44,255,252,242,15,42,4,194,252,233,244,248,
565 255,221,4,202,219,4,194,252,233,244,249,255,248,8,15,135,244,44,255,252,242,
566 15,42,12,202,252,242,15,16,4,194,131,198,4,102,15,46,193,255,15,134,244,9,
567 255,15,135,244,9,255,15,130,244,9,255,15,131,244,9,255,252,233,244,6,255,
568 219,4,202,252,233,244,248,255,129,124,253,202,4,239,15,131,244,44,129,124,
569 253,194,4,239,15,131,244,44,255,248,1,252,242,15,16,4,194,248,2,131,198,4,
570 102,15,46,4,202,248,3,255,248,1,221,4,202,248,2,221,4,194,248,3,131,198,4,
571 255,15,135,244,247,255,15,130,244,247,255,15,131,244,247,255,15,183,70,252,
572 254,141,180,253,134,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,
573 16,252,255,36,171,255,139,108,194,4,131,198,4,255,129,252,253,239,15,133,
574 244,253,129,124,253,202,4,239,15,133,244,254,139,44,194,59,44,202,255,15,
575 133,244,255,255,15,132,244,255,255,15,183,70,252,254,141,180,253,134,233,
576 248,9,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,
577 7,15,135,244,251,129,124,253,202,4,239,15,130,244,247,15,133,244,251,255,
578 252,242,15,42,4,202,255,219,4,202,255,252,233,244,248,248,8,15,135,244,251,
579 255,252,242,15,42,4,194,102,15,46,4,202,255,219,4,194,221,4,202,255,252,233,
580 244,250,255,129,252,253,239,15,131,244,251,129,124,253,202,4,239,15,131,244,
581 251,255,248,1,252,242,15,16,4,202,248,2,102,15,46,4,194,248,4,255,248,1,221,
582 4,202,248,2,221,4,194,248,4,255,15,138,244,248,15,133,244,248,255,15,138,
583 244,248,15,132,244,247,255,248,1,15,183,70,252,254,141,180,253,134,233,248,
584 2,255,248,2,15,183,70,252,254,141,180,253,134,233,248,1,255,252,233,244,9,
585 255,248,5,255,129,252,253,239,15,132,244,49,129,124,253,202,4,239,15,132,
586 244,49,255,57,108,202,4,15,133,244,2,129,252,253,239,15,131,244,1,139,12,
587 202,139,4,194,57,193,15,132,244,1,129,252,253,239,15,135,244,2,139,169,233,
588 133,252,237,15,132,244,2,252,246,133,233,235,15,133,244,2,255,49,252,237,
589 255,189,1,0,0,0,255,252,233,244,48,255,248,3,129,252,253,239,255,15,133,244,
590 9,255,252,233,244,49,255,252,247,208,139,108,202,4,131,198,4,129,252,253,
591 239,15,133,244,249,139,12,202,59,12,135,255,139,108,202,4,131,198,4,255,129,
592 252,253,239,15,133,244,253,129,124,253,199,4,239,15,133,244,254,139,44,199,
593 59,44,202,255,15,183,70,252,254,141,180,253,134,233,248,9,139,6,15,182,204,
594 15,182,232,131,198,4,193,232,16,252,255,36,171,248,7,15,135,244,249,129,124,
595 253,199,4,239,15,130,244,247,255,252,242,15,42,4,199,255,219,4,199,255,252,
596 233,244,248,248,8,255,252,242,15,42,4,202,102,15,46,4,199,255,219,4,202,221,
597 4,199,255,129,252,253,239,15,131,244,249,255,248,1,252,242,15,16,4,199,248,
598 2,102,15,46,4,202,248,4,255,248,1,221,4,199,248,2,221,4,202,248,4,255,252,
599 247,208,139,108,202,4,131,198,4,57,197,255,15,133,244,249,15,183,70,252,254,
600 141,180,253,134,233,248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,
601 252,255,36,171,248,3,129,252,253,239,15,133,244,2,252,233,244,49,255,15,132,
602 244,248,129,252,253,239,15,132,244,49,15,183,70,252,254,141,180,253,134,233,
603 248,2,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,
604 139,108,194,4,131,198,4,129,252,253,239,255,137,108,202,4,139,44,194,137,
605 44,202,255,139,108,194,4,139,4,194,137,108,202,4,137,4,202,139,6,15,182,204,
606 15,182,232,131,198,4,193,232,16,252,255,36,171,255,49,252,237,129,124,253,
607 194,4,239,129,213,239,137,108,202,4,139,6,15,182,204,15,182,232,131,198,4,
608 193,232,16,252,255,36,171,255,129,124,253,194,4,239,15,133,244,251,139,44,
609 194,252,247,221,15,128,244,250,199,68,202,4,237,137,44,202,248,9,139,6,15,
610 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,199,68,202,4,
611 0,0,224,65,199,4,202,0,0,0,0,252,233,244,9,248,5,15,135,244,54,255,129,124,
612 253,194,4,239,15,131,244,54,255,252,242,15,16,4,194,184,0,0,0,128,102,15,
613 110,200,102,15,112,201,81,15,87,193,252,242,15,17,4,202,255,221,4,194,217,
614 224,221,28,202,255,129,124,253,194,4,239,15,133,244,248,139,4,194,255,139,
615 128,233,248,1,199,68,202,4,237,137,4,202,255,15,87,192,252,242,15,42,128,
616 233,248,1,252,242,15,17,4,202,255,219,128,233,248,1,221,28,202,255,139,6,
617 15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,124,253,
618 194,4,239,15,133,244,57,139,12,194,255,139,169,233,131,252,253,0,15,133,244,
619 255,248,3,255,248,58,137,213,232,251,1,20,255,252,242,15,42,192,255,137,4,
620 36,219,4,36,255,137,252,234,15,182,78,252,253,252,233,244,1,255,248,9,252,
621 246,133,233,235,15,133,244,3,252,233,244,57,255,15,182,252,236,15,182,192,
622 255,129,124,253,252,234,4,239,15,133,244,51,129,124,253,199,4,239,15,133,
623 244,51,139,44,252,234,3,44,199,15,128,244,50,255,129,124,253,252,234,4,239,
624 15,133,244,53,129,124,253,199,4,239,15,133,244,53,139,4,199,3,4,252,234,15,
625 128,244,52,255,129,124,253,252,234,4,239,15,133,244,56,129,124,253,194,4,
626 239,15,133,244,56,139,44,252,234,3,44,194,15,128,244,55,255,199,68,202,4,
627 237,255,129,124,253,252,234,4,239,15,131,244,51,255,129,124,253,199,4,239,
628 15,131,244,51,255,252,242,15,16,4,252,234,252,242,15,88,4,199,255,221,4,252,
629 234,220,4,199,255,129,124,253,252,234,4,239,15,131,244,53,255,129,124,253,
630 199,4,239,15,131,244,53,255,252,242,15,16,4,199,252,242,15,88,4,252,234,255,
631 221,4,199,220,4,252,234,255,129,124,253,252,234,4,239,15,131,244,56,129,124,
632 253,194,4,239,15,131,244,56,255,252,242,15,16,4,252,234,252,242,15,88,4,194,
633 255,221,4,252,234,220,4,194,255,129,124,253,252,234,4,239,15,133,244,51,129,
634 124,253,199,4,239,15,133,244,51,139,44,252,234,43,44,199,15,128,244,50,255,
635 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
636 53,139,4,199,43,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,15,
637 133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,43,44,194,15,
638 128,244,55,255,252,242,15,16,4,252,234,252,242,15,92,4,199,255,221,4,252,
639 234,220,36,199,255,252,242,15,16,4,199,252,242,15,92,4,252,234,255,221,4,
640 199,220,36,252,234,255,252,242,15,16,4,252,234,252,242,15,92,4,194,255,221,
641 4,252,234,220,36,194,255,129,124,253,252,234,4,239,15,133,244,51,129,124,
642 253,199,4,239,15,133,244,51,139,44,252,234,15,175,44,199,15,128,244,50,255,
643 129,124,253,252,234,4,239,15,133,244,53,129,124,253,199,4,239,15,133,244,
644 53,139,4,199,15,175,4,252,234,15,128,244,52,255,129,124,253,252,234,4,239,
645 15,133,244,56,129,124,253,194,4,239,15,133,244,56,139,44,252,234,15,175,44,
646 194,15,128,244,55,255,252,242,15,16,4,252,234,252,242,15,89,4,199,255,221,
647 4,252,234,220,12,199,255,252,242,15,16,4,199,252,242,15,89,4,252,234,255,
648 221,4,199,220,12,252,234,255,252,242,15,16,4,252,234,252,242,15,89,4,194,
649 255,221,4,252,234,220,12,194,255,252,242,15,16,4,252,234,252,242,15,94,4,
650 199,255,221,4,252,234,220,52,199,255,252,242,15,16,4,199,252,242,15,94,4,
651 252,234,255,221,4,199,220,52,252,234,255,252,242,15,16,4,252,234,252,242,
652 15,94,4,194,255,221,4,252,234,220,52,194,255,252,242,15,16,4,252,234,252,
653 242,15,16,12,199,255,221,4,252,234,221,4,199,255,252,242,15,16,4,199,252,
654 242,15,16,12,252,234,255,221,4,199,221,4,252,234,255,252,242,15,16,4,252,
655 234,252,242,15,16,12,194,255,221,4,252,234,221,4,194,255,248,168,232,244,
656 157,255,252,233,244,168,255,232,244,117,255,15,182,252,236,15,182,192,141,
657 12,194,41,232,137,76,36,4,137,68,36,8,248,36,139,108,36,48,137,44,36,137,
658 149,233,137,116,36,24,232,251,1,29,139,149,233,133,192,15,133,244,45,15,182,
659 110,252,255,15,182,78,252,253,139,68,252,234,4,139,44,252,234,137,68,202,
660 4,137,44,202,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,
661 171,255,252,247,208,139,4,135,199,68,202,4,237,137,4,202,139,6,15,182,204,
662 15,182,232,131,198,4,193,232,16,252,255,36,171,255,15,191,192,199,68,202,
663 4,237,137,4,202,255,15,191,192,252,242,15,42,192,252,242,15,17,4,202,255,
664 223,70,252,254,221,28,202,255,252,242,15,16,4,199,252,242,15,17,4,202,255,
665 221,4,199,221,28,202,255,252,247,208,137,68,202,4,139,6,15,182,204,15,182,
666 232,131,198,4,193,232,16,252,255,36,171,255,141,76,202,12,141,68,194,4,189,
667 237,137,105,252,248,248,1,137,41,131,193,8,57,193,15,134,244,1,139,6,15,182,
668 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,248,139,
669 172,253,133,233,139,173,233,139,69,4,139,109,0,137,68,202,4,137,44,202,139,
670 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,106,252,
671 248,139,172,253,141,233,128,189,233,0,139,173,233,139,12,194,139,68,194,4,
672 137,77,0,137,69,4,15,132,244,247,252,246,133,233,235,15,133,244,248,248,1,
673 139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,129,
674 232,239,129,252,248,239,15,134,244,1,252,246,129,233,235,15,132,244,1,135,
675 213,141,139,233,255,232,251,1,30,137,252,234,252,233,244,1,255,252,247,208,
676 139,106,252,248,139,172,253,141,233,139,12,135,139,133,233,137,8,199,64,4,
677 237,252,246,133,233,235,15,133,244,248,248,1,139,6,15,182,204,15,182,232,
678 131,198,4,193,232,16,252,255,36,171,248,2,252,246,129,233,235,15,132,244,
679 1,128,189,233,0,15,132,244,1,137,213,137,194,141,139,233,232,251,1,30,137,
680 252,234,252,233,244,1,255,139,106,252,248,255,252,242,15,16,4,199,255,139,
681 172,253,141,233,139,141,233,255,252,242,15,17,1,255,221,25,255,252,247,208,
682 139,106,252,248,139,172,253,141,233,139,141,233,137,65,4,139,6,15,182,204,
683 15,182,232,131,198,4,193,232,16,252,255,36,171,255,141,180,253,134,233,139,
684 108,36,48,131,189,233,0,15,132,244,247,137,149,233,141,20,202,137,252,233,
685 232,251,1,31,139,149,233,248,1,139,6,15,182,204,15,182,232,131,198,4,193,
686 232,16,252,255,36,171,255,252,247,208,139,74,252,248,139,4,135,139,108,36,
687 48,137,76,36,8,137,68,36,4,137,44,36,137,149,233,137,116,36,24,232,251,1,
688 32,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,237,139,6,15,182,
689 204,15,182,232,131,198,4,193,232,16,252,255,36,171,255,139,108,36,48,137,
690 149,233,139,139,233,59,139,233,137,116,36,24,15,131,244,251,248,1,137,193,
691 37,252,255,7,0,0,193,252,233,11,137,76,36,8,61,252,255,7,0,0,15,132,244,249,
692 248,2,137,44,36,137,68,36,4,232,251,1,33,139,149,233,15,182,78,252,253,137,
693 4,202,199,68,202,4,237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,
694 255,36,171,248,3,184,1,8,0,0,252,233,244,2,248,5,137,252,233,232,251,1,34,
695 15,183,70,252,254,252,233,244,1,255,252,247,208,139,108,36,48,139,139,233,
696 137,116,36,24,59,139,233,137,149,233,15,131,244,249,248,2,139,20,135,137,
697 252,233,232,251,1,35,139,149,233,15,182,78,252,253,137,4,202,199,68,202,4,
698 237,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,
699 137,252,233,232,251,1,34,15,183,70,252,254,252,247,208,252,233,244,2,255,
700 252,247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,169,255,252,
701 247,208,139,106,252,248,139,173,233,139,4,135,252,233,244,170,255,15,182,
702 252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,39,139,44,252,234,
703 255,129,124,253,194,4,239,15,133,244,251,139,4,194,255,129,124,253,194,4,
704 239,15,131,244,251,255,252,242,15,16,4,194,252,242,15,45,192,252,242,15,42,
705 200,102,15,46,193,255,221,4,194,219,20,36,219,4,36,255,15,133,244,39,255,
706 59,133,233,15,131,244,39,193,224,3,3,133,233,129,120,253,4,239,15,132,244,
707 248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,182,204,15,182,
708 232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,0,15,132,244,249,
709 139,141,233,252,246,129,233,235,15,132,244,39,15,182,78,252,253,248,3,199,
710 68,202,4,237,252,233,244,1,248,5,255,129,124,253,194,4,239,15,133,244,39,
711 139,4,194,252,233,244,169,255,15,182,252,236,15,182,192,252,247,208,139,4,
712 135,129,124,253,252,234,4,239,15,133,244,37,139,44,252,234,248,169,139,141,
713 233,35,136,233,105,201,239,3,141,233,248,1,129,185,233,239,15,133,244,250,
714 57,129,233,15,133,244,250,129,121,253,4,239,15,132,244,251,15,182,70,252,
715 253,139,41,139,73,4,137,44,194,137,76,194,4,248,2,255,139,6,15,182,204,15,
716 182,232,131,198,4,193,232,16,252,255,36,171,248,3,15,182,70,252,253,199,68,
717 194,4,237,252,233,244,2,248,4,139,137,233,133,201,15,133,244,1,248,5,139,
718 141,233,133,201,15,132,244,3,252,246,129,233,235,15,133,244,3,252,233,244,
719 37,255,15,182,252,236,15,182,192,129,124,253,252,234,4,239,15,133,244,38,
720 139,44,252,234,59,133,233,15,131,244,38,193,224,3,3,133,233,129,120,253,4,
721 239,15,132,244,248,139,40,139,64,4,137,44,202,137,68,202,4,248,1,139,6,15,
722 182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,2,131,189,233,
723 0,15,132,244,249,139,141,233,252,246,129,233,235,15,132,244,38,255,15,182,
724 78,252,253,248,3,199,68,202,4,237,252,233,244,1,255,15,182,252,236,15,182,
725 192,129,124,253,252,234,4,239,15,133,244,42,139,44,252,234,255,15,133,244,
726 42,255,59,133,233,15,131,244,42,193,224,3,3,133,233,129,120,253,4,239,15,
727 132,244,249,248,1,252,246,133,233,235,15,133,244,253,248,2,139,108,202,4,
728 139,12,202,137,104,4,137,8,139,6,15,182,204,15,182,232,131,198,4,193,232,
729 16,252,255,36,171,248,3,131,189,233,0,15,132,244,1,139,141,233,252,246,129,
730 233,235,255,15,132,244,42,15,182,78,252,253,252,233,244,1,248,5,129,124,253,
731 194,4,239,15,133,244,42,139,4,194,252,233,244,170,248,7,128,165,233,235,139,
732 139,233,137,171,233,137,141,233,15,182,78,252,253,252,233,244,2,255,15,182,
733 252,236,15,182,192,252,247,208,139,4,135,129,124,253,252,234,4,239,15,133,
734 244,40,139,44,252,234,248,170,139,141,233,35,136,233,105,201,239,198,133,
735 233,0,3,141,233,248,1,129,185,233,239,15,133,244,251,57,129,233,15,133,244,
736 251,129,121,253,4,239,15,132,244,250,248,2,255,252,246,133,233,235,15,133,
737 244,253,248,3,15,182,70,252,253,139,108,194,4,139,4,194,137,105,4,137,1,139,
738 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,4,131,189,
739 233,0,15,132,244,2,137,76,36,16,139,141,233,252,246,129,233,235,15,132,244,
740 40,139,76,36,16,252,233,244,2,248,5,139,137,233,133,201,15,133,244,1,255,
741 139,141,233,133,201,15,132,244,252,252,246,129,233,235,15,132,244,40,248,
742 6,137,68,36,16,199,68,36,20,237,137,108,36,12,141,68,36,16,137,108,36,4,139,
743 108,36,48,137,68,36,8,137,44,36,137,149,233,137,116,36,24,232,251,1,36,139,
744 149,233,139,108,36,12,137,193,252,233,244,2,248,7,128,165,233,235,139,131,
745 233,137,171,233,137,133,233,252,233,244,3,255,15,182,252,236,15,182,192,129,
746 124,253,252,234,4,239,15,133,244,41,139,44,252,234,59,133,233,15,131,244,
747 41,193,224,3,3,133,233,129,120,253,4,239,15,132,244,249,248,1,252,246,133,
748 233,235,15,133,244,253,248,2,139,108,202,4,139,12,202,137,104,4,137,8,139,
749 6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,3,131,189,
750 233,0,15,132,244,1,255,139,141,233,252,246,129,233,235,15,132,244,41,15,182,
751 78,252,253,252,233,244,1,248,7,128,165,233,235,139,139,233,137,171,233,137,
752 141,233,15,182,78,252,253,252,233,244,2,255,137,124,36,16,139,60,199,248,
753 1,141,12,202,139,105,252,248,252,246,133,233,235,15,133,244,253,248,2,139,
754 68,36,20,131,232,1,15,132,244,250,1,252,248,59,133,233,15,135,244,251,41,
755 252,248,193,231,3,3,189,233,248,3,139,41,137,47,139,105,4,131,193,8,137,111,
756 4,131,199,8,131,232,1,15,133,244,3,248,4,139,124,36,16,139,6,15,182,204,15,
757 182,232,131,198,4,193,232,16,252,255,36,171,248,5,137,108,36,4,139,108,36,
758 48,137,149,233,137,68,36,8,137,44,36,137,116,36,24,232,251,1,37,139,149,233,
759 15,182,78,252,253,252,233,244,1,248,7,255,128,165,233,235,139,131,233,137,
760 171,233,137,133,233,252,233,244,2,255,3,68,36,20,255,129,124,253,202,4,239,
761 139,44,202,15,133,244,59,141,84,202,8,137,114,252,252,139,181,233,139,14,
762 15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,141,76,202,8,137,215,
763 139,105,252,248,129,121,253,252,252,239,15,133,244,29,248,60,139,114,252,
764 252,252,247,198,237,15,133,244,253,248,1,137,106,252,248,137,68,36,20,131,
765 232,1,15,132,244,249,248,2,139,41,137,47,139,105,4,131,193,8,137,111,4,131,
766 199,8,131,232,1,15,133,244,2,139,106,252,248,248,3,139,68,36,20,128,189,233,
767 1,15,135,244,251,248,4,139,181,233,139,14,15,182,252,233,15,182,205,131,198,
768 4,252,255,36,171,248,5,255,252,247,198,237,15,133,244,4,15,182,78,252,253,
769 252,247,209,141,12,202,139,121,252,248,139,191,233,139,191,233,252,233,244,
770 4,248,7,129,252,238,239,252,247,198,237,15,133,244,254,41,252,242,137,215,
771 139,114,252,252,252,233,244,1,248,8,129,198,239,252,233,244,1,255,141,76,
772 202,8,139,105,232,139,65,252,236,137,41,137,65,4,139,105,252,240,139,65,252,
773 244,137,105,8,137,65,12,139,105,224,139,65,228,137,105,252,248,137,65,252,
774 252,129,252,248,239,184,237,15,133,244,29,137,202,137,114,252,252,139,181,
775 233,139,14,15,182,252,233,15,182,205,131,198,4,252,255,36,171,255,137,124,
776 36,16,137,92,36,20,139,108,202,252,240,139,68,202,252,248,139,157,233,131,
777 198,4,139,189,233,248,1,57,216,15,131,244,251,129,124,253,199,4,239,15,132,
778 244,250,255,219,68,202,252,248,255,139,108,199,4,137,108,202,12,139,44,199,
779 137,108,202,8,131,192,1,255,137,68,202,252,248,248,2,15,183,70,252,254,141,
780 180,253,134,233,248,3,139,92,36,20,139,124,36,16,139,6,15,182,204,15,182,
781 232,131,198,4,193,232,16,252,255,36,171,248,4,131,192,1,255,137,68,202,252,
782 248,255,252,233,244,1,248,5,41,216,248,6,59,133,233,15,135,244,3,105,252,
783 248,239,3,189,233,129,191,233,239,15,132,244,253,141,92,24,1,139,175,233,
784 139,135,233,137,44,202,137,68,202,4,139,175,233,139,135,233,137,108,202,8,
785 137,68,202,12,137,92,202,252,248,252,233,244,2,248,7,255,131,192,1,252,233,
786 244,6,255,129,124,253,202,252,236,239,15,133,244,251,139,108,202,232,129,
787 124,253,202,252,244,239,15,133,244,251,129,124,253,202,252,252,239,15,133,
788 244,251,128,189,233,235,15,133,244,251,141,180,253,134,233,199,68,202,252,
789 248,0,0,0,0,248,1,139,6,15,182,204,15,182,232,131,198,4,193,232,16,252,255,
790 36,171,248,5,198,70,252,252,235,141,180,253,134,233,198,6,235,252,233,244,
791 1,255,15,182,252,236,15,182,192,137,124,36,16,141,188,253,194,233,141,12,
792 202,43,122,252,252,133,252,237,15,132,244,251,141,108,252,233,252,248,57,
793 215,15,131,244,248,248,1,139,71,252,248,137,1,139,71,252,252,131,199,8,137,
794 65,4,131,193,8,57,252,233,15,131,244,249,57,215,15,130,244,1,248,2,199,65,
795 4,237,131,193,8,57,252,233,15,130,244,2,248,3,139,124,36,16,139,6,15,182,
796 204,15,182,232,131,198,4,193,232,16,252,255,36,171,248,5,199,68,36,20,1,0,
797 0,0,137,208,41,252,248,15,134,244,3,137,197,193,252,237,3,131,197,1,137,108,
798 36,20,139,108,36,48,1,200,59,133,233,15,135,244,253,248,6,255,139,71,252,
799 248,137,1,139,71,252,252,131,199,8,137,65,4,131,193,8,57,215,15,130,244,6,
800 252,233,244,3,248,7,137,149,233,137,141,233,137,116,36,24,41,215,139,84,36,
801 20,131,252,234,1,137,252,233,232,251,1,0,139,149,233,139,141,233,1,215,252,
802 233,244,6,255,193,225,3,255,248,1,139,114,252,252,137,68,36,20,252,247,198,
803 237,15,133,244,253,255,248,13,137,215,131,232,1,15,132,244,249,248,2,139,
804 44,15,137,111,252,248,139,108,15,4,137,111,252,252,131,199,8,131,232,1,15,
805 133,244,2,248,3,139,68,36,20,15,182,110,252,255,248,5,57,197,15,135,244,252,
806 255,139,108,10,4,137,106,252,252,139,44,10,137,106,252,248,255,248,5,56,70,
807 252,255,15,135,244,252,255,15,182,78,252,253,252,247,209,141,20,202,139,122,
808 252,248,139,191,233,139,191,233,139,6,15,182,204,15,182,232,131,198,4,193,
809 232,16,252,255,36,171,248,6,255,199,71,252,252,237,131,199,8,255,199,68,194,
810 252,244,237,255,131,192,1,252,233,244,5,248,7,141,174,233,252,247,197,237,
811 15,133,244,14,41,252,234,255,1,252,233,255,137,252,245,209,252,237,129,229,
812 239,102,129,172,253,43,233,238,15,130,244,149,255,141,12,202,255,129,121,
813 253,4,239,15,133,244,255,255,129,121,253,12,239,15,133,244,61,129,121,253,
814 20,239,15,133,244,61,139,41,131,121,16,0,15,140,244,251,255,129,121,253,12,
815 239,15,133,244,165,129,121,253,20,239,15,133,244,165,255,139,105,16,133,252,
816 237,15,136,244,251,3,41,15,128,244,247,137,41,255,59,105,8,199,65,28,237,
817 137,105,24,255,15,142,244,253,248,1,248,6,141,180,253,134,233,255,141,180,
818 253,134,233,15,183,70,252,254,15,142,245,248,1,248,6,255,15,143,244,253,248,
819 6,141,180,253,134,233,248,1,255,248,7,139,6,15,182,204,15,182,232,131,198,
820 4,193,232,16,252,255,36,171,248,5,255,3,41,15,128,244,1,137,41,255,15,141,
821 244,7,255,141,180,253,134,233,15,183,70,252,254,15,141,245,255,15,140,244,
822 7,255,252,233,244,6,248,9,255,129,121,253,4,239,255,15,131,244,61,129,121,
823 253,12,239,15,131,244,61,255,129,121,253,12,239,15,131,244,165,129,121,253,
824 20,239,15,131,244,165,255,139,105,20,255,129,252,253,239,15,131,244,61,255,
825 252,242,15,16,1,252,242,15,16,73,8,255,252,242,15,88,65,16,252,242,15,17,
826 1,133,252,237,15,136,244,249,255,15,140,244,249,255,102,15,46,200,248,1,252,
827 242,15,17,65,24,255,221,65,8,221,1,255,220,65,16,221,17,221,81,24,133,252,
828 237,15,136,244,247,255,221,81,24,15,140,244,247,255,217,201,248,1,255,15,
829 183,70,252,254,255,15,131,244,7,255,15,131,244,248,141,180,253,134,233,255,
830 141,180,253,134,233,15,183,70,252,254,15,131,245,255,15,130,244,7,255,15,
831 130,244,248,141,180,253,134,233,255,248,3,102,15,46,193,252,233,244,1,255,
832 141,12,202,139,105,4,129,252,253,239,15,132,244,247,255,137,105,252,252,139,
833 41,137,105,252,248,252,233,245,255,141,180,253,134,233,139,1,137,105,252,
834 252,137,65,252,248,255,139,139,233,139,4,129,139,128,233,139,108,36,48,137,
835 147,233,137,171,233,252,255,224,255,141,180,253,134,233,139,6,15,182,204,
836 15,182,232,131,198,4,193,232,16,252,255,36,171,255,137,252,245,209,252,237,
837 129,229,239,102,129,172,253,43,233,238,15,130,244,151,255,139,190,233,139,
838 108,36,48,141,12,202,59,141,233,15,135,244,24,15,182,142,233,57,200,15,134,
839 244,249,248,2,255,15,183,70,252,254,252,233,245,255,248,3,199,68,194,252,
840 252,237,131,192,1,57,200,15,134,244,3,252,233,244,2,255,141,44,197,237,141,
841 4,194,139,122,252,248,137,104,252,252,137,120,252,248,139,108,36,48,141,12,
842 200,59,141,233,15,135,244,23,137,209,137,194,15,182,174,233,133,252,237,15,
843 132,244,248,248,1,131,193,8,57,209,15,131,244,249,139,121,252,248,137,56,
844 139,121,252,252,137,120,4,131,192,8,199,65,252,252,237,131,252,237,1,15,133,
845 244,1,248,2,255,139,190,233,139,6,15,182,204,15,182,232,131,198,4,193,232,
846 16,252,255,36,171,255,248,3,199,64,4,237,131,192,8,131,252,237,1,15,133,244,
847 3,252,233,244,2,255,139,106,252,248,139,189,233,139,108,36,48,141,68,194,
848 252,248,137,149,233,141,136,233,59,141,233,137,133,233,255,137,44,36,255,
849 137,124,36,4,137,44,36,255,15,135,244,22,199,131,233,237,255,252,255,215,
850 255,252,255,147,233,255,199,131,233,237,139,149,233,141,12,194,252,247,217,
851 3,141,233,139,114,252,252,252,233,244,12,255,254,0
852};
853
854enum {
855 GLOB_vm_returnp,
856 GLOB_cont_dispatch,
857 GLOB_vm_returnc,
858 GLOB_BC_RET_Z,
859 GLOB_vm_return,
860 GLOB_vm_leave_cp,
861 GLOB_vm_leave_unw,
862 GLOB_vm_unwind_c,
863 GLOB_vm_unwind_c_eh,
864 GLOB_vm_unwind_rethrow,
865 GLOB_vm_unwind_ff,
866 GLOB_vm_unwind_ff_eh,
867 GLOB_vm_growstack_c,
868 GLOB_vm_growstack_v,
869 GLOB_vm_growstack_f,
870 GLOB_vm_resume,
871 GLOB_vm_pcall,
872 GLOB_vm_call,
873 GLOB_vm_call_dispatch,
874 GLOB_vmeta_call,
875 GLOB_vm_call_dispatch_f,
876 GLOB_vm_cpcall,
877 GLOB_cont_ffi_callback,
878 GLOB_vm_call_tail,
879 GLOB_cont_cat,
880 GLOB_cont_ra,
881 GLOB_BC_CAT_Z,
882 GLOB_vmeta_tgets,
883 GLOB_vmeta_tgetb,
884 GLOB_vmeta_tgetv,
885 GLOB_vmeta_tsets,
886 GLOB_vmeta_tsetb,
887 GLOB_vmeta_tsetv,
888 GLOB_cont_nop,
889 GLOB_vmeta_comp,
890 GLOB_vmeta_binop,
891 GLOB_cont_condt,
892 GLOB_cont_condf,
893 GLOB_vmeta_equal,
894 GLOB_vmeta_equal_cd,
895 GLOB_vmeta_arith_vno,
896 GLOB_vmeta_arith_vn,
897 GLOB_vmeta_arith_nvo,
898 GLOB_vmeta_arith_nv,
899 GLOB_vmeta_unm,
900 GLOB_vmeta_arith_vvo,
901 GLOB_vmeta_arith_vv,
902 GLOB_vmeta_len,
903 GLOB_BC_LEN_Z,
904 GLOB_vmeta_call_ra,
905 GLOB_BC_CALLT_Z,
906 GLOB_vmeta_for,
907 GLOB_ff_assert,
908 GLOB_fff_fallback,
909 GLOB_fff_res_,
910 GLOB_ff_type,
911 GLOB_fff_res1,
912 GLOB_ff_getmetatable,
913 GLOB_ff_setmetatable,
914 GLOB_ff_rawget,
915 GLOB_ff_tonumber,
916 GLOB_fff_resi,
917 GLOB_fff_resxmm0,
918 GLOB_fff_resn,
919 GLOB_ff_tostring,
920 GLOB_fff_gcstep,
921 GLOB_ff_next,
922 GLOB_fff_res2,
923 GLOB_fff_res,
924 GLOB_ff_pairs,
925 GLOB_ff_ipairs_aux,
926 GLOB_fff_res0,
927 GLOB_ff_ipairs,
928 GLOB_ff_pcall,
929 GLOB_ff_xpcall,
930 GLOB_ff_coroutine_resume,
931 GLOB_ff_coroutine_wrap_aux,
932 GLOB_ff_coroutine_yield,
933 GLOB_ff_math_abs,
934 GLOB_fff_resbit,
935 GLOB_ff_math_floor,
936 GLOB_vm_floor,
937 GLOB_ff_math_ceil,
938 GLOB_vm_ceil,
939 GLOB_ff_math_sqrt,
940 GLOB_ff_math_log,
941 GLOB_ff_math_log10,
942 GLOB_ff_math_exp,
943 GLOB_vm_exp_x87,
944 GLOB_ff_math_sin,
945 GLOB_ff_math_cos,
946 GLOB_ff_math_tan,
947 GLOB_ff_math_asin,
948 GLOB_ff_math_acos,
949 GLOB_ff_math_atan,
950 GLOB_ff_math_sinh,
951 GLOB_ff_math_cosh,
952 GLOB_ff_math_tanh,
953 GLOB_ff_math_deg,
954 GLOB_ff_math_rad,
955 GLOB_ff_math_atan2,
956 GLOB_ff_math_ldexp,
957 GLOB_ff_math_frexp,
958 GLOB_ff_math_modf,
959 GLOB_vm_trunc,
960 GLOB_ff_math_fmod,
961 GLOB_ff_math_pow,
962 GLOB_vm_pow,
963 GLOB_ff_math_min,
964 GLOB_ff_math_max,
965 GLOB_ff_string_len,
966 GLOB_ff_string_byte,
967 GLOB_ff_string_char,
968 GLOB_fff_newstr,
969 GLOB_ff_string_sub,
970 GLOB_fff_emptystr,
971 GLOB_ff_string_rep,
972 GLOB_fff_fallback_2,
973 GLOB_ff_string_reverse,
974 GLOB_fff_fallback_1,
975 GLOB_ff_string_lower,
976 GLOB_ff_string_upper,
977 GLOB_ff_table_getn,
978 GLOB_ff_bit_tobit,
979 GLOB_ff_bit_band,
980 GLOB_fff_fallback_bit_op,
981 GLOB_ff_bit_bor,
982 GLOB_ff_bit_bxor,
983 GLOB_ff_bit_bswap,
984 GLOB_ff_bit_bnot,
985 GLOB_ff_bit_lshift,
986 GLOB_ff_bit_rshift,
987 GLOB_ff_bit_arshift,
988 GLOB_ff_bit_rol,
989 GLOB_ff_bit_ror,
990 GLOB_vm_record,
991 GLOB_vm_rethook,
992 GLOB_vm_inshook,
993 GLOB_cont_hook,
994 GLOB_vm_hotloop,
995 GLOB_vm_callhook,
996 GLOB_vm_hotcall,
997 GLOB_vm_exit_handler,
998 GLOB_vm_exit_interp,
999 GLOB_vm_floor_sse,
1000 GLOB_vm_ceil_sse,
1001 GLOB_vm_trunc_sse,
1002 GLOB_vm_mod,
1003 GLOB_vm_exp2_x87,
1004 GLOB_vm_exp2raw,
1005 GLOB_vm_pow_sse,
1006 GLOB_vm_powi_sse,
1007 GLOB_vm_foldfpm,
1008 GLOB_vm_foldarith,
1009 GLOB_vm_cpuid,
1010 GLOB_assert_bad_for_arg_type,
1011 GLOB_vm_ffi_callback,
1012 GLOB_vm_ffi_call,
1013 GLOB_BC_MODVN_Z,
1014 GLOB_BC_TGETS_Z,
1015 GLOB_BC_TSETS_Z,
1016 GLOB__MAX
1017};
1018static const char *const globnames[] = {
1019 "vm_returnp",
1020 "cont_dispatch",
1021 "vm_returnc",
1022 "BC_RET_Z",
1023 "vm_return",
1024 "vm_leave_cp",
1025 "vm_leave_unw",
1026 "vm_unwind_c@8",
1027 "vm_unwind_c_eh",
1028 "vm_unwind_rethrow",
1029 "vm_unwind_ff@4",
1030 "vm_unwind_ff_eh",
1031 "vm_growstack_c",
1032 "vm_growstack_v",
1033 "vm_growstack_f",
1034 "vm_resume",
1035 "vm_pcall",
1036 "vm_call",
1037 "vm_call_dispatch",
1038 "vmeta_call",
1039 "vm_call_dispatch_f",
1040 "vm_cpcall",
1041 "cont_ffi_callback",
1042 "vm_call_tail",
1043 "cont_cat",
1044 "cont_ra",
1045 "BC_CAT_Z",
1046 "vmeta_tgets",
1047 "vmeta_tgetb",
1048 "vmeta_tgetv",
1049 "vmeta_tsets",
1050 "vmeta_tsetb",
1051 "vmeta_tsetv",
1052 "cont_nop",
1053 "vmeta_comp",
1054 "vmeta_binop",
1055 "cont_condt",
1056 "cont_condf",
1057 "vmeta_equal",
1058 "vmeta_equal_cd",
1059 "vmeta_arith_vno",
1060 "vmeta_arith_vn",
1061 "vmeta_arith_nvo",
1062 "vmeta_arith_nv",
1063 "vmeta_unm",
1064 "vmeta_arith_vvo",
1065 "vmeta_arith_vv",
1066 "vmeta_len",
1067 "BC_LEN_Z",
1068 "vmeta_call_ra",
1069 "BC_CALLT_Z",
1070 "vmeta_for",
1071 "ff_assert",
1072 "fff_fallback",
1073 "fff_res_",
1074 "ff_type",
1075 "fff_res1",
1076 "ff_getmetatable",
1077 "ff_setmetatable",
1078 "ff_rawget",
1079 "ff_tonumber",
1080 "fff_resi",
1081 "fff_resxmm0",
1082 "fff_resn",
1083 "ff_tostring",
1084 "fff_gcstep",
1085 "ff_next",
1086 "fff_res2",
1087 "fff_res",
1088 "ff_pairs",
1089 "ff_ipairs_aux",
1090 "fff_res0",
1091 "ff_ipairs",
1092 "ff_pcall",
1093 "ff_xpcall",
1094 "ff_coroutine_resume",
1095 "ff_coroutine_wrap_aux",
1096 "ff_coroutine_yield",
1097 "ff_math_abs",
1098 "fff_resbit",
1099 "ff_math_floor",
1100 "vm_floor",
1101 "ff_math_ceil",
1102 "vm_ceil",
1103 "ff_math_sqrt",
1104 "ff_math_log",
1105 "ff_math_log10",
1106 "ff_math_exp",
1107 "vm_exp_x87",
1108 "ff_math_sin",
1109 "ff_math_cos",
1110 "ff_math_tan",
1111 "ff_math_asin",
1112 "ff_math_acos",
1113 "ff_math_atan",
1114 "ff_math_sinh",
1115 "ff_math_cosh",
1116 "ff_math_tanh",
1117 "ff_math_deg",
1118 "ff_math_rad",
1119 "ff_math_atan2",
1120 "ff_math_ldexp",
1121 "ff_math_frexp",
1122 "ff_math_modf",
1123 "vm_trunc",
1124 "ff_math_fmod",
1125 "ff_math_pow",
1126 "vm_pow",
1127 "ff_math_min",
1128 "ff_math_max",
1129 "ff_string_len",
1130 "ff_string_byte",
1131 "ff_string_char",
1132 "fff_newstr",
1133 "ff_string_sub",
1134 "fff_emptystr",
1135 "ff_string_rep",
1136 "fff_fallback_2",
1137 "ff_string_reverse",
1138 "fff_fallback_1",
1139 "ff_string_lower",
1140 "ff_string_upper",
1141 "ff_table_getn",
1142 "ff_bit_tobit",
1143 "ff_bit_band",
1144 "fff_fallback_bit_op",
1145 "ff_bit_bor",
1146 "ff_bit_bxor",
1147 "ff_bit_bswap",
1148 "ff_bit_bnot",
1149 "ff_bit_lshift",
1150 "ff_bit_rshift",
1151 "ff_bit_arshift",
1152 "ff_bit_rol",
1153 "ff_bit_ror",
1154 "vm_record",
1155 "vm_rethook",
1156 "vm_inshook",
1157 "cont_hook",
1158 "vm_hotloop",
1159 "vm_callhook",
1160 "vm_hotcall",
1161 "vm_exit_handler",
1162 "vm_exit_interp",
1163 "vm_floor_sse",
1164 "vm_ceil_sse",
1165 "vm_trunc_sse",
1166 "vm_mod",
1167 "vm_exp2_x87",
1168 "vm_exp2raw",
1169 "vm_pow_sse",
1170 "vm_powi_sse",
1171 "vm_foldfpm",
1172 "vm_foldarith",
1173 "vm_cpuid",
1174 "assert_bad_for_arg_type",
1175 "vm_ffi_callback",
1176 "vm_ffi_call@4",
1177 "BC_MODVN_Z",
1178 "BC_TGETS_Z",
1179 "BC_TSETS_Z",
1180 (const char *)0
1181};
1182static const char *const extnames[] = {
1183 "lj_state_growstack@8",
1184 "lj_meta_tget",
1185 "lj_meta_tset",
1186 "lj_meta_comp",
1187 "lj_meta_equal",
1188 "lj_meta_equal_cd@8",
1189 "lj_meta_arith",
1190 "lj_meta_len@8",
1191 "lj_meta_call",
1192 "lj_meta_for@8",
1193 "lj_tab_get",
1194 "lj_str_fromnumber@8",
1195 "lj_str_fromnum@8",
1196 "lj_tab_next",
1197 "lj_tab_getinth@8",
1198 "lj_ffh_coroutine_wrap_err@8",
1199 "lj_vm_sinh",
1200 "lj_vm_cosh",
1201 "lj_vm_tanh",
1202 "lj_str_new",
1203 "lj_tab_len@4",
1204 "lj_gc_step@4",
1205 "lj_dispatch_ins@8",
1206 "lj_trace_hot@8",
1207 "lj_dispatch_call@8",
1208 "lj_trace_exit@8",
1209 "lj_err_throw@8",
1210 "lj_ccallback_enter@8",
1211 "lj_ccallback_leave@8",
1212 "lj_meta_cat",
1213 "lj_gc_barrieruv@8",
1214 "lj_func_closeuv@8",
1215 "lj_func_newL_gc",
1216 "lj_tab_new",
1217 "lj_gc_step_fixtop@4",
1218 "lj_tab_dup@8",
1219 "lj_tab_newkey",
1220 "lj_tab_reasize",
1221 (const char *)0
1222};
1223#define Dt1(_V) (int)(ptrdiff_t)&(((lua_State *)0)_V)
1224#define Dt2(_V) (int)(ptrdiff_t)&(((global_State *)0)_V)
1225#define Dt3(_V) (int)(ptrdiff_t)&(((TValue *)0)_V)
1226#define Dt4(_V) (int)(ptrdiff_t)&(((GCobj *)0)_V)
1227#define Dt5(_V) (int)(ptrdiff_t)&(((GCstr *)0)_V)
1228#define Dt6(_V) (int)(ptrdiff_t)&(((GCtab *)0)_V)
1229#define Dt7(_V) (int)(ptrdiff_t)&(((GCfuncL *)0)_V)
1230#define Dt8(_V) (int)(ptrdiff_t)&(((GCfuncC *)0)_V)
1231#define Dt9(_V) (int)(ptrdiff_t)&(((GCproto *)0)_V)
1232#define DtA(_V) (int)(ptrdiff_t)&(((GCupval *)0)_V)
1233#define DtB(_V) (int)(ptrdiff_t)&(((Node *)0)_V)
1234#define DtC(_V) (int)(ptrdiff_t)&(((int *)0)_V)
1235#define DtD(_V) (int)(ptrdiff_t)&(((GCtrace *)0)_V)
1236#define DISPATCH_GL(field) (GG_DISP2G + (int)offsetof(global_State, field))
1237#define DISPATCH_J(field) (GG_DISP2J + (int)offsetof(jit_State, field))
1238#define PC2PROTO(field) ((int)offsetof(GCproto, field)-(int)sizeof(GCproto))
1239
1240/* Generate subroutines used by opcodes and other parts of the VM. */
1241/* The .code_sub section should be last to help static branch prediction. */
1242static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
1243{
1244 dasm_put(Dst, 0);
1245 dasm_put(Dst, 2, FRAME_P, LJ_TTRUE, FRAME_TYPE, FRAME_C, FRAME_TYPE, DISPATCH_GL(vmstate), ~LJ_VMST_C);
1246 dasm_put(Dst, 114, Dt1(->base), Dt1(->top), Dt1(->cframe), Dt1(->maxstack), LJ_TNIL);
1247 dasm_put(Dst, 200, Dt1(->top), Dt1(->top), Dt1(->glref), Dt2(->vmstate), ~LJ_VMST_C, CFRAME_RAWMASK);
1248 dasm_put(Dst, 275, 1+1, Dt1(->base), Dt1(->glref), GG_G2DISP, LJ_TFALSE, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, LUA_MINSTACK, -4+PC2PROTO(framesize), Dt1(->base));
1249 dasm_put(Dst, 353, Dt1(->top), Dt1(->base), Dt1(->top), Dt7(->pc), FRAME_CP, CFRAME_RESUME, Dt1(->glref), GG_G2DISP, Dt1(->cframe), Dt1(->status), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->status), Dt1(->base), Dt1(->top), FRAME_TYPE);
1250 dasm_put(Dst, 495, FRAME_CP, FRAME_C, Dt1(->cframe), Dt1(->cframe), Dt1(->glref), GG_G2DISP, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base));
1251 dasm_put(Dst, 573, Dt1(->top), LJ_TFUNC, Dt7(->pc), Dt1(->stack), Dt1(->top), Dt1(->cframe), Dt1(->cframe), FRAME_CP, LJ_TNIL);
1252#if LJ_HASFFI
1253#endif
1254 dasm_put(Dst, 743);
1255#if LJ_HASFFI
1256 dasm_put(Dst, 748);
1257#endif
1258 dasm_put(Dst, 757, Dt7(->pc), PC2PROTO(k));
1259#if LJ_HASFFI
1260 dasm_put(Dst, 771);
1261#endif
1262 dasm_put(Dst, 792, LJ_TSTR, BC_GGET, DISPATCH_GL(tmptv), LJ_TTAB);
1263 if (LJ_DUALNUM) {
1264 dasm_put(Dst, 890, LJ_TISNUM);
1265 } else if (sse) {
1266 dasm_put(Dst, 900);
1267 } else {
1268 dasm_put(Dst, 913);
1269 }
1270 dasm_put(Dst, 926, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 2+1, LJ_TSTR, BC_GSET);
1271 dasm_put(Dst, 1078, DISPATCH_GL(tmptv), LJ_TTAB);
1272 if (LJ_DUALNUM) {
1273 dasm_put(Dst, 890, LJ_TISNUM);
1274 } else if (sse) {
1275 dasm_put(Dst, 900);
1276 } else {
1277 dasm_put(Dst, 913);
1278 }
1279 dasm_put(Dst, 1101, Dt1(->base), Dt1(->base), Dt1(->top), FRAME_CONT, 3+1, Dt1(->base), Dt1(->base));
1280 dasm_put(Dst, 1295, -BCBIAS_J*4, LJ_TISTRUECOND, LJ_TISTRUECOND, Dt1(->base));
1281 dasm_put(Dst, 1402);
1282#if LJ_HASFFI
1283 dasm_put(Dst, 1417, Dt1(->base));
1284#endif
1285 dasm_put(Dst, 1448);
1286#if LJ_DUALNUM
1287 dasm_put(Dst, 1451);
1288#endif
1289 dasm_put(Dst, 1457);
1290#if LJ_DUALNUM
1291 dasm_put(Dst, 884);
1292#endif
1293 dasm_put(Dst, 1469);
1294#if LJ_DUALNUM
1295 dasm_put(Dst, 1451);
1296#endif
1297 dasm_put(Dst, 1497, Dt1(->base), Dt1(->base), FRAME_CONT, 2+1, Dt1(->base), Dt1(->base));
1298#ifdef LUAJIT_ENABLE_LUA52COMPAT
1299 dasm_put(Dst, 1607);
1300#else
1301 dasm_put(Dst, 1626);
1302#endif
1303 dasm_put(Dst, 1631, Dt1(->base), Dt1(->base), Dt7(->pc), Dt1(->base), Dt1(->base), GG_DISP2STATIC, 1+1, LJ_TISTRUECOND);
1304 dasm_put(Dst, 1820, 1+1, ~LJ_TNUMX);
1305 if (cmov) {
1306 dasm_put(Dst, 1878);
1307 } else {
1308 dasm_put(Dst, 1882);
1309 }
1310 dasm_put(Dst, 1891, ((char *)(&((GCfuncC *)0)->upvalue)), LJ_TSTR, 1+1, LJ_TTAB, Dt6(->metatable), LJ_TNIL, DISPATCH_GL(gcroot)+4*(GCROOT_MMNAME+MM_metatable), LJ_TTAB);
1311 dasm_put(Dst, 1974, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), DtB(->next), LJ_TNIL);
1312 dasm_put(Dst, 2032, LJ_TUDATA, LJ_TISNUM, LJ_TNUMX, DISPATCH_GL(gcroot[GCROOT_BASEMT]), 2+1);
1313 dasm_put(Dst, 2095, LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->metatable), LJ_TTAB, Dt6(->marked), LJ_GC_BLACK, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
1314 dasm_put(Dst, 2167, 2+1, LJ_TTAB, 1+1, LJ_TISNUM);
1315 if (LJ_DUALNUM) {
1316 dasm_put(Dst, 2256);
1317 } else {
1318 dasm_put(Dst, 2273);
1319 }
1320 if (sse) {
1321 dasm_put(Dst, 2278);
1322 } else {
1323 dasm_put(Dst, 2288);
1324 }
1325 dasm_put(Dst, 2295, 1+1, LJ_TSTR, LJ_TSTR, LJ_TISNUM, DISPATCH_GL(gcroot[GCROOT_BASEMT_NUM]), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1326 dasm_put(Dst, 2361, Dt1(->base));
1327 if (LJ_DUALNUM) {
1328 dasm_put(Dst, 2385);
1329 } else {
1330 dasm_put(Dst, 2390);
1331 }
1332 dasm_put(Dst, 2395, Dt1(->base), 1+1, LJ_TTAB, Dt1(->base), Dt1(->top), Dt1(->base), 1+2);
1333 dasm_put(Dst, 2504, LJ_TNIL, LJ_TNIL, 1+1, LJ_TTAB);
1334#ifdef LUAJIT_ENABLE_LUA52COMPAT
1335 dasm_put(Dst, 2551, Dt6(->metatable));
1336#endif
1337 dasm_put(Dst, 2560, Dt8(->upvalue[0]), LJ_TFUNC, LJ_TNIL, 1+3, 1+1, LJ_TTAB, LJ_TISNUM);
1338 if (LJ_DUALNUM) {
1339 dasm_put(Dst, 2546);
1340 } else {
1341 dasm_put(Dst, 2273);
1342 }
1343 dasm_put(Dst, 2615);
1344 if (LJ_DUALNUM) {
1345 dasm_put(Dst, 2620, LJ_TISNUM);
1346 } else if (sse) {
1347 dasm_put(Dst, 2636);
1348 } else {
1349 dasm_put(Dst, 2675);
1350 }
1351 dasm_put(Dst, 2693, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->hmask), 1+0);
1352 dasm_put(Dst, 2531, 1+1, LJ_TTAB);
1353#ifdef LUAJIT_ENABLE_LUA52COMPAT
1354 dasm_put(Dst, 2551, Dt6(->metatable));
1355#endif
1356 dasm_put(Dst, 2774, Dt8(->upvalue[0]), LJ_TFUNC);
1357 if (LJ_DUALNUM) {
1358 dasm_put(Dst, 2795, LJ_TISNUM);
1359 } else if (sse) {
1360 dasm_put(Dst, 2807);
1361 } else {
1362 dasm_put(Dst, 2817);
1363 }
1364 dasm_put(Dst, 2824, 1+3, 1+1, 8+FRAME_PCALL, DISPATCH_GL(hookmask), HOOK_ACTIVE_SHIFT, 2+1, LJ_TFUNC);
1365 dasm_put(Dst, 2888, LJ_TFUNC, 16+FRAME_PCALL, 1+1, LJ_TTHREAD, Dt1(->cframe), Dt1(->status), LUA_YIELD, Dt1(->top));
1366 dasm_put(Dst, 2976, Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP);
1367 dasm_put(Dst, 3077, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack), LJ_TTRUE, FRAME_TYPE);
1368 dasm_put(Dst, 3191, LJ_TFALSE, Dt1(->top), Dt1(->top), 1+2, Dt1(->top), Dt1(->base), Dt8(->upvalue[0].gcr), Dt1(->cframe));
1369 dasm_put(Dst, 3289, Dt1(->status), LUA_YIELD, Dt1(->top), Dt1(->base), Dt1(->maxstack), Dt1(->top), Dt1(->base), Dt1(->top));
1370 dasm_put(Dst, 3355, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), LUA_YIELD, Dt1(->base), Dt1(->top), Dt1(->top), Dt1(->maxstack));
1371 dasm_put(Dst, 3456, FRAME_TYPE, Dt1(->top), Dt1(->base), Dt1(->cframe), CFRAME_RESUME);
1372 dasm_put(Dst, 3569, Dt1(->base), Dt1(->top), Dt1(->cframe), LUA_YIELD, Dt1(->status));
1373 if (!LJ_DUALNUM) {
1374 dasm_put(Dst, 3595);
1375 }
1376 if (sse) {
1377 dasm_put(Dst, 3598);
1378 }
1379 dasm_put(Dst, 3613, 1+1);
1380 if (LJ_DUALNUM) {
1381 dasm_put(Dst, 3624, LJ_TISNUM, LJ_TISNUM);
1382 } else {
1383 dasm_put(Dst, 3704, LJ_TISNUM);
1384 }
1385 if (sse) {
1386 dasm_put(Dst, 3714);
1387 } else {
1388 dasm_put(Dst, 3750);
1389 }
1390 dasm_put(Dst, 3767, 1+1, FRAME_TYPE, LJ_TNIL);
1391 if (LJ_DUALNUM) {
1392 dasm_put(Dst, 3859, LJ_TISNUM);
1393 } else {
1394 dasm_put(Dst, 3704, LJ_TISNUM);
1395 }
1396 if (sse) {
1397 dasm_put(Dst, 3881);
1398 if (LJ_DUALNUM) {
1399 dasm_put(Dst, 3890);
1400 }
1401 dasm_put(Dst, 2283);
1402 } else {
1403 dasm_put(Dst, 3924);
1404 if (LJ_DUALNUM) {
1405 dasm_put(Dst, 3930);
1406 if (cmov) {
1407 dasm_put(Dst, 3953);
1408 } else {
1409 dasm_put(Dst, 3959);
1410 }
1411 dasm_put(Dst, 3966);
1412 } else {
1413 dasm_put(Dst, 2290);
1414 }
1415 }
1416 dasm_put(Dst, 3983);
1417 if (LJ_DUALNUM) {
1418 dasm_put(Dst, 3859, LJ_TISNUM);
1419 } else {
1420 dasm_put(Dst, 3704, LJ_TISNUM);
1421 }
1422 if (sse) {
1423 dasm_put(Dst, 3986);
1424 if (LJ_DUALNUM) {
1425 dasm_put(Dst, 3890);
1426 }
1427 dasm_put(Dst, 2283);
1428 } else {
1429 dasm_put(Dst, 3995);
1430 if (LJ_DUALNUM) {
1431 dasm_put(Dst, 3930);
1432 if (cmov) {
1433 dasm_put(Dst, 3953);
1434 } else {
1435 dasm_put(Dst, 3959);
1436 }
1437 dasm_put(Dst, 3966);
1438 } else {
1439 dasm_put(Dst, 2290);
1440 }
1441 }
1442 if (sse) {
1443 dasm_put(Dst, 4001, 1+1, LJ_TISNUM);
1444 } else {
1445 dasm_put(Dst, 4030, 1+1, LJ_TISNUM);
1446 }
1447 dasm_put(Dst, 4059, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1448 dasm_put(Dst, 4128, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1449 dasm_put(Dst, 4185, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1);
1450 dasm_put(Dst, 4248, LJ_TISNUM, 1+1, LJ_TISNUM, 1+1, LJ_TISNUM);
1451 dasm_put(Dst, 4338);
1452 if (sse) {
1453 dasm_put(Dst, 4350, 1+1, LJ_TISNUM);
1454 } else {
1455 dasm_put(Dst, 4381, 1+1, LJ_TISNUM);
1456 }
1457 dasm_put(Dst, 4406);
1458 if (sse) {
1459 dasm_put(Dst, 4420, 1+1, LJ_TISNUM);
1460 } else {
1461 dasm_put(Dst, 4451, 1+1, LJ_TISNUM);
1462 }
1463 dasm_put(Dst, 4476);
1464 if (sse) {
1465 dasm_put(Dst, 4490, 1+1, LJ_TISNUM);
1466 } else {
1467 dasm_put(Dst, 4521, 1+1, LJ_TISNUM);
1468 }
1469 dasm_put(Dst, 4546);
1470 if (sse) {
1471 dasm_put(Dst, 4562, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1472 } else {
1473 dasm_put(Dst, 4601, 1+1, LJ_TISNUM, Dt8(->upvalue[0]));
1474 }
1475 dasm_put(Dst, 4634, 2+1, LJ_TISNUM, LJ_TISNUM, 2+1, LJ_TISNUM, LJ_TISNUM);
1476 dasm_put(Dst, 4699, 1+1, LJ_TISNUM);
1477 if (sse) {
1478 dasm_put(Dst, 4798);
1479 } else {
1480 dasm_put(Dst, 4804);
1481 }
1482 dasm_put(Dst, 4813);
1483 if (sse) {
1484 dasm_put(Dst, 4838);
1485 } else {
1486 dasm_put(Dst, 4844);
1487 }
1488 dasm_put(Dst, 4847, 1+2);
1489 if (sse) {
1490 dasm_put(Dst, 4856);
1491 } else {
1492 dasm_put(Dst, 4864);
1493 }
1494 dasm_put(Dst, 4872);
1495 if (sse) {
1496 dasm_put(Dst, 4875);
1497 } else {
1498 dasm_put(Dst, 4907);
1499 }
1500 dasm_put(Dst, 4926);
1501 if (sse) {
1502 dasm_put(Dst, 4942, 1+1, LJ_TISNUM);
1503 } else {
1504 dasm_put(Dst, 4967, 1+1, LJ_TISNUM);
1505 }
1506 dasm_put(Dst, 4989);
1507 if (sse) {
1508 dasm_put(Dst, 5011);
1509 } else {
1510 dasm_put(Dst, 5037);
1511 }
1512 dasm_put(Dst, 5054, 1+2);
1513 if (sse) {
1514 dasm_put(Dst, 5094);
1515 } else {
1516 dasm_put(Dst, 5102);
1517 }
1518 dasm_put(Dst, 5112, 2+1, LJ_TISNUM, LJ_TISNUM);
1519 if (sse) {
1520 dasm_put(Dst, 5164, 2+1, LJ_TISNUM, LJ_TISNUM);
1521 } else {
1522 dasm_put(Dst, 5211, 2+1, LJ_TISNUM, LJ_TISNUM);
1523 }
1524 dasm_put(Dst, 5252, LJ_TISNUM);
1525 if (LJ_DUALNUM) {
1526 dasm_put(Dst, 5265, LJ_TISNUM);
1527 if (sse) {
1528 dasm_put(Dst, 4798);
1529 } else {
1530 dasm_put(Dst, 4804);
1531 }
1532 dasm_put(Dst, 5315);
1533 } else {
1534 dasm_put(Dst, 2273);
1535 }
1536 if (sse) {
1537 dasm_put(Dst, 5326, LJ_TISNUM);
1538 if (LJ_DUALNUM) {
1539 dasm_put(Dst, 5347);
1540 } else {
1541 dasm_put(Dst, 2273);
1542 }
1543 dasm_put(Dst, 5368);
1544 } else {
1545 dasm_put(Dst, 5393, LJ_TISNUM);
1546 if (LJ_DUALNUM) {
1547 dasm_put(Dst, 5411);
1548 } else {
1549 dasm_put(Dst, 5429);
1550 }
1551 dasm_put(Dst, 5434);
1552 if (cmov) {
1553 dasm_put(Dst, 5444);
1554 } else {
1555 dasm_put(Dst, 5452);
1556 }
1557 dasm_put(Dst, 5385);
1558 }
1559 dasm_put(Dst, 5473, LJ_TISNUM);
1560 if (LJ_DUALNUM) {
1561 dasm_put(Dst, 5486, LJ_TISNUM);
1562 if (sse) {
1563 dasm_put(Dst, 4798);
1564 } else {
1565 dasm_put(Dst, 4804);
1566 }
1567 dasm_put(Dst, 5315);
1568 } else {
1569 dasm_put(Dst, 2273);
1570 }
1571 if (sse) {
1572 dasm_put(Dst, 5326, LJ_TISNUM);
1573 if (LJ_DUALNUM) {
1574 dasm_put(Dst, 5347);
1575 } else {
1576 dasm_put(Dst, 2273);
1577 }
1578 dasm_put(Dst, 5536);
1579 } else {
1580 dasm_put(Dst, 5393, LJ_TISNUM);
1581 if (LJ_DUALNUM) {
1582 dasm_put(Dst, 5411);
1583 } else {
1584 dasm_put(Dst, 5429);
1585 }
1586 dasm_put(Dst, 5434);
1587 if (cmov) {
1588 dasm_put(Dst, 5561);
1589 } else {
1590 dasm_put(Dst, 5569);
1591 }
1592 dasm_put(Dst, 5385);
1593 }
1594 if (!sse) {
1595 dasm_put(Dst, 5590);
1596 }
1597 dasm_put(Dst, 5599, 1+1, LJ_TSTR);
1598 if (LJ_DUALNUM) {
1599 dasm_put(Dst, 5621, Dt5(->len));
1600 } else if (sse) {
1601 dasm_put(Dst, 5629, Dt5(->len));
1602 } else {
1603 dasm_put(Dst, 5640, Dt5(->len));
1604 }
1605 dasm_put(Dst, 5648, 1+1, LJ_TSTR, Dt5(->len), Dt5([1]));
1606 if (LJ_DUALNUM) {
1607 dasm_put(Dst, 3978);
1608 } else if (sse) {
1609 dasm_put(Dst, 5686);
1610 } else {
1611 dasm_put(Dst, 5696);
1612 }
1613 dasm_put(Dst, 5709, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+1, LJ_TISNUM);
1614 if (LJ_DUALNUM) {
1615 dasm_put(Dst, 5740);
1616 } else if (sse) {
1617 dasm_put(Dst, 5763);
1618 } else {
1619 dasm_put(Dst, 5789);
1620 }
1621 dasm_put(Dst, 5813, Dt1(->base), Dt1(->base), LJ_TSTR, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), 1+2, LJ_TISNUM);
1622 if (LJ_DUALNUM) {
1623 dasm_put(Dst, 5916);
1624 } else if (sse) {
1625 dasm_put(Dst, 5928);
1626 } else {
1627 dasm_put(Dst, 5943);
1628 }
1629 dasm_put(Dst, 5955, LJ_TSTR, LJ_TISNUM);
1630 if (LJ_DUALNUM) {
1631 dasm_put(Dst, 2546);
1632 } else {
1633 dasm_put(Dst, 2273);
1634 }
1635 dasm_put(Dst, 5972, Dt5(->len));
1636 if (LJ_DUALNUM) {
1637 dasm_put(Dst, 5982);
1638 } else if (sse) {
1639 dasm_put(Dst, 5986);
1640 } else {
1641 dasm_put(Dst, 5993);
1642 }
1643 dasm_put(Dst, 6005, sizeof(GCstr)-1);
1644 dasm_put(Dst, 6080, 2+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold));
1645 dasm_put(Dst, 6139, LJ_TSTR, LJ_TISNUM);
1646 if (LJ_DUALNUM) {
1647 dasm_put(Dst, 6156);
1648 } else if (sse) {
1649 dasm_put(Dst, 6164);
1650 } else {
1651 dasm_put(Dst, 6175);
1652 }
1653 dasm_put(Dst, 6191, Dt5(->len), DISPATCH_GL(tmpbuf.sz), Dt5([1]), DISPATCH_GL(tmpbuf.buf), DISPATCH_GL(tmpbuf.buf), 1+1);
1654 dasm_put(Dst, 6256, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1655 dasm_put(Dst, 6319, 1+1, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz));
1656 dasm_put(Dst, 6390, sizeof(GCstr), DISPATCH_GL(tmpbuf.buf), 1+1);
1657 dasm_put(Dst, 6475, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), LJ_TSTR, Dt5(->len), DISPATCH_GL(tmpbuf.sz), sizeof(GCstr), DISPATCH_GL(tmpbuf.buf));
1658 dasm_put(Dst, 6545, 1+1, LJ_TTAB);
1659 if (LJ_DUALNUM) {
1660 dasm_put(Dst, 6613);
1661 } else if (sse) {
1662 dasm_put(Dst, 6620);
1663 } else {
1664 dasm_put(Dst, 6630);
1665 }
1666 dasm_put(Dst, 6641, 1+1, LJ_TISNUM);
1667 if (LJ_DUALNUM) {
1668 dasm_put(Dst, 6657);
1669 } else {
1670 dasm_put(Dst, 2273);
1671 }
1672 if (sse) {
1673 dasm_put(Dst, 6674);
1674 } else {
1675 dasm_put(Dst, 6703);
1676 }
1677 dasm_put(Dst, 111);
1678 if (LJ_DUALNUM || sse) {
1679 if (!sse) {
1680 dasm_put(Dst, 6721);
1681 }
1682 dasm_put(Dst, 6725);
1683 } else {
1684 dasm_put(Dst, 6633);
1685 }
1686 dasm_put(Dst, 6730, 1+1);
1687 if (sse) {
1688 dasm_put(Dst, 6741);
1689 } else {
1690 dasm_put(Dst, 6756);
1691 }
1692 dasm_put(Dst, 2250, LJ_TISNUM);
1693 if (LJ_DUALNUM) {
1694 dasm_put(Dst, 6765);
1695 } else {
1696 dasm_put(Dst, 2273);
1697 }
1698 if (sse) {
1699 dasm_put(Dst, 6782);
1700 } else {
1701 dasm_put(Dst, 6797);
1702 }
1703 dasm_put(Dst, 6810, LJ_TISNUM);
1704 if (LJ_DUALNUM) {
1705 dasm_put(Dst, 6835);
1706 } else {
1707 dasm_put(Dst, 6855);
1708 }
1709 if (sse) {
1710 dasm_put(Dst, 6860);
1711 } else {
1712 dasm_put(Dst, 6877);
1713 }
1714 dasm_put(Dst, 6890, 1+1);
1715 if (sse) {
1716 dasm_put(Dst, 6741);
1717 } else {
1718 dasm_put(Dst, 6756);
1719 }
1720 dasm_put(Dst, 2250, LJ_TISNUM);
1721 if (LJ_DUALNUM) {
1722 dasm_put(Dst, 6765);
1723 } else {
1724 dasm_put(Dst, 2273);
1725 }
1726 if (sse) {
1727 dasm_put(Dst, 6782);
1728 } else {
1729 dasm_put(Dst, 6797);
1730 }
1731 dasm_put(Dst, 6810, LJ_TISNUM);
1732 if (LJ_DUALNUM) {
1733 dasm_put(Dst, 6908);
1734 } else {
1735 dasm_put(Dst, 6855);
1736 }
1737 if (sse) {
1738 dasm_put(Dst, 6928);
1739 } else {
1740 dasm_put(Dst, 6945);
1741 }
1742 dasm_put(Dst, 6958, 1+1);
1743 if (sse) {
1744 dasm_put(Dst, 6741);
1745 } else {
1746 dasm_put(Dst, 6756);
1747 }
1748 dasm_put(Dst, 2250, LJ_TISNUM);
1749 if (LJ_DUALNUM) {
1750 dasm_put(Dst, 6765);
1751 } else {
1752 dasm_put(Dst, 2273);
1753 }
1754 if (sse) {
1755 dasm_put(Dst, 6782);
1756 } else {
1757 dasm_put(Dst, 6797);
1758 }
1759 dasm_put(Dst, 6810, LJ_TISNUM);
1760 if (LJ_DUALNUM) {
1761 dasm_put(Dst, 6976);
1762 } else {
1763 dasm_put(Dst, 6855);
1764 }
1765 if (sse) {
1766 dasm_put(Dst, 6996);
1767 } else {
1768 dasm_put(Dst, 7013);
1769 }
1770 dasm_put(Dst, 7026, 1+1, LJ_TISNUM);
1771 if (LJ_DUALNUM) {
1772 dasm_put(Dst, 6765);
1773 } else {
1774 dasm_put(Dst, 2273);
1775 }
1776 if (sse) {
1777 dasm_put(Dst, 6674);
1778 } else {
1779 dasm_put(Dst, 7049);
1780 }
1781 dasm_put(Dst, 7070, 1+1, LJ_TISNUM);
1782 if (LJ_DUALNUM) {
1783 dasm_put(Dst, 6765);
1784 } else {
1785 dasm_put(Dst, 2273);
1786 }
1787 if (sse) {
1788 dasm_put(Dst, 6674);
1789 } else {
1790 dasm_put(Dst, 7049);
1791 }
1792 dasm_put(Dst, 7094);
1793 if (LJ_DUALNUM) {
1794 dasm_put(Dst, 6725);
1795 } else if (sse) {
1796 dasm_put(Dst, 7100);
1797 } else {
1798 dasm_put(Dst, 7112);
1799 }
1800 dasm_put(Dst, 7125);
1801 if (LJ_DUALNUM) {
1802 dasm_put(Dst, 7136, 1+1, LJ_TISNUM);
1803 if (LJ_DUALNUM) {
1804 dasm_put(Dst, 6765);
1805 } else {
1806 dasm_put(Dst, 2273);
1807 }
1808 if (sse) {
1809 dasm_put(Dst, 6674);
1810 } else {
1811 dasm_put(Dst, 7049);
1812 }
1813 dasm_put(Dst, 7152, LJ_TISNUM);
1814 } else if (sse) {
1815 dasm_put(Dst, 7167, 2+1, LJ_TISNUM, LJ_TISNUM);
1816 } else {
1817 dasm_put(Dst, 7239, 2+1, LJ_TISNUM, LJ_TISNUM);
1818 }
1819 dasm_put(Dst, 7303);
1820 if (LJ_DUALNUM) {
1821 dasm_put(Dst, 7310, 1+1, LJ_TISNUM);
1822 if (LJ_DUALNUM) {
1823 dasm_put(Dst, 6765);
1824 } else {
1825 dasm_put(Dst, 2273);
1826 }
1827 if (sse) {
1828 dasm_put(Dst, 6674);
1829 } else {
1830 dasm_put(Dst, 7049);
1831 }
1832 dasm_put(Dst, 7152, LJ_TISNUM);
1833 } else if (sse) {
1834 dasm_put(Dst, 7326, 2+1, LJ_TISNUM, LJ_TISNUM);
1835 } else {
1836 dasm_put(Dst, 7398, 2+1, LJ_TISNUM, LJ_TISNUM);
1837 }
1838 dasm_put(Dst, 7462);
1839 if (LJ_DUALNUM) {
1840 dasm_put(Dst, 7470, 1+1, LJ_TISNUM);
1841 if (LJ_DUALNUM) {
1842 dasm_put(Dst, 6765);
1843 } else {
1844 dasm_put(Dst, 2273);
1845 }
1846 if (sse) {
1847 dasm_put(Dst, 6674);
1848 } else {
1849 dasm_put(Dst, 7049);
1850 }
1851 dasm_put(Dst, 7152, LJ_TISNUM);
1852 } else if (sse) {
1853 dasm_put(Dst, 7486, 2+1, LJ_TISNUM, LJ_TISNUM);
1854 } else {
1855 dasm_put(Dst, 7558, 2+1, LJ_TISNUM, LJ_TISNUM);
1856 }
1857 dasm_put(Dst, 7622);
1858 if (LJ_DUALNUM) {
1859 dasm_put(Dst, 7630, 1+1, LJ_TISNUM);
1860 if (LJ_DUALNUM) {
1861 dasm_put(Dst, 6765);
1862 } else {
1863 dasm_put(Dst, 2273);
1864 }
1865 if (sse) {
1866 dasm_put(Dst, 6674);
1867 } else {
1868 dasm_put(Dst, 7049);
1869 }
1870 dasm_put(Dst, 7152, LJ_TISNUM);
1871 } else if (sse) {
1872 dasm_put(Dst, 7646, 2+1, LJ_TISNUM, LJ_TISNUM);
1873 } else {
1874 dasm_put(Dst, 7718, 2+1, LJ_TISNUM, LJ_TISNUM);
1875 }
1876 dasm_put(Dst, 7782);
1877 if (LJ_DUALNUM) {
1878 dasm_put(Dst, 7789, 1+1, LJ_TISNUM);
1879 if (LJ_DUALNUM) {
1880 dasm_put(Dst, 6765);
1881 } else {
1882 dasm_put(Dst, 2273);
1883 }
1884 if (sse) {
1885 dasm_put(Dst, 6674);
1886 } else {
1887 dasm_put(Dst, 7049);
1888 }
1889 dasm_put(Dst, 7152, LJ_TISNUM);
1890 } else if (sse) {
1891 dasm_put(Dst, 7805, 2+1, LJ_TISNUM, LJ_TISNUM);
1892 } else {
1893 dasm_put(Dst, 7877, 2+1, LJ_TISNUM, LJ_TISNUM);
1894 }
1895 dasm_put(Dst, 7941, 1+2, 1+1, Dt1(->base), 8*LUA_MINSTACK, Dt1(->top), Dt1(->maxstack), Dt8(->f), Dt1(->base));
1896 dasm_put(Dst, 8017, Dt1(->top), Dt7(->pc), FRAME_TYPE, LUA_MINSTACK, Dt1(->base), Dt1(->base));
1897 dasm_put(Dst, 8141, Dt1(->top), Dt1(->base), Dt1(->top));
1898#if LJ_HASJIT
1899 dasm_put(Dst, 8179, DISPATCH_GL(hookmask), HOOK_VMEVENT, HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount));
1900#endif
1901 dasm_put(Dst, 8210, DISPATCH_GL(hookmask), HOOK_ACTIVE, DISPATCH_GL(hookmask), HOOK_ACTIVE, LUA_MASKLINE|LUA_MASKCOUNT, DISPATCH_GL(hookcount), LUA_MASKLINE);
1902 dasm_put(Dst, 8261, Dt1(->base), Dt1(->base), GG_DISP2STATIC);
1903#if LJ_HASJIT
1904 dasm_put(Dst, 8327, Dt7(->pc), PC2PROTO(framesize), Dt1(->base), Dt1(->top), GG_DISP2J, DISPATCH_J(L));
1905#endif
1906 dasm_put(Dst, 8373);
1907#if LJ_HASJIT
1908 dasm_put(Dst, 8205);
1909#endif
1910 dasm_put(Dst, 8380);
1911#if LJ_HASJIT
1912 dasm_put(Dst, 8383);
1913#endif
1914 dasm_put(Dst, 8393, Dt1(->base), Dt1(->top));
1915#if LJ_HASJIT
1916 dasm_put(Dst, 8427);
1917#endif
1918 dasm_put(Dst, 8432, Dt1(->base), Dt1(->top));
1919#if LJ_HASJIT
1920 dasm_put(Dst, 8461, DISPATCH_GL(vmstate), DISPATCH_GL(vmstate), ~LJ_VMST_EXIT, DISPATCH_J(exitno), DISPATCH_J(parent), 8*8+16, DISPATCH_GL(jit_L), DISPATCH_GL(jit_base), DISPATCH_J(L), DISPATCH_GL(jit_L), Dt1(->base), GG_DISP2J, Dt1(->cframe), CFRAME_RAWMASK, CFRAME_OFS_L, Dt1(->base), CFRAME_OFS_PC);
1921#endif
1922 dasm_put(Dst, 8604);
1923#if LJ_HASJIT
1924 dasm_put(Dst, 8607, Dt7(->pc), PC2PROTO(k), DISPATCH_GL(jit_L), DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, BC_FUNCF);
1925#endif
1926 dasm_put(Dst, 8685);
1927 if (!sse) {
1928 dasm_put(Dst, 8688);
1929 }
1930 dasm_put(Dst, 8733);
1931 if (!sse) {
1932 dasm_put(Dst, 8835);
1933 }
1934 dasm_put(Dst, 8880);
1935 if (!sse) {
1936 dasm_put(Dst, 8982);
1937 }
1938 dasm_put(Dst, 9021);
1939 if (sse) {
1940 dasm_put(Dst, 9126);
1941 } else {
1942 dasm_put(Dst, 9256);
1943 }
1944 dasm_put(Dst, 9303);
1945 if (!sse) {
1946 dasm_put(Dst, 9377);
1947 if (cmov) {
1948 dasm_put(Dst, 9388);
1949 } else {
1950 dasm_put(Dst, 9392);
1951 }
1952 dasm_put(Dst, 9399);
1953 dasm_put(Dst, 9473);
1954 dasm_put(Dst, 9573);
1955 if (cmov) {
1956 dasm_put(Dst, 9576);
1957 } else {
1958 dasm_put(Dst, 9580);
1959 }
1960 dasm_put(Dst, 9587);
1961 if (cmov) {
1962 dasm_put(Dst, 9388);
1963 } else {
1964 dasm_put(Dst, 9392);
1965 }
1966 dasm_put(Dst, 9605);
1967 } else {
1968 dasm_put(Dst, 9684);
1969 }
1970 dasm_put(Dst, 9687);
1971 dasm_put(Dst, 9772);
1972 dasm_put(Dst, 9902);
1973 dasm_put(Dst, 10108);
1974#if LJ_HASJIT
1975 if (sse) {
1976 dasm_put(Dst, 10115);
1977 dasm_put(Dst, 10172);
1978 dasm_put(Dst, 10263);
1979 } else {
1980 dasm_put(Dst, 10305);
1981 dasm_put(Dst, 10397);
1982 }
1983 dasm_put(Dst, 10443);
1984#endif
1985 dasm_put(Dst, 10447);
1986 if (sse) {
1987 dasm_put(Dst, 10450);
1988 dasm_put(Dst, 10555);
1989 dasm_put(Dst, 10638);
1990 } else {
1991 dasm_put(Dst, 10710);
1992 dasm_put(Dst, 10793);
1993 if (cmov) {
1994 dasm_put(Dst, 10848);
1995 } else {
1996 dasm_put(Dst, 10867);
1997 }
1998 dasm_put(Dst, 10443);
1999 }
2000 dasm_put(Dst, 10908);
2001#ifdef LUA_USE_ASSERT
2002 dasm_put(Dst, 10445);
2003#endif
2004 dasm_put(Dst, 10964);
2005#if LJ_HASFFI
2006#define DtE(_V) (int)(ptrdiff_t)&(((CTState *)0)_V)
2007 dasm_put(Dst, 10968, GG_G2DISP, Dt2(->ctype_state), DtE(->cb.slot), CFRAME_SIZE+16, DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.stack), CFRAME_SIZE+12, CFRAME_SIZE+8, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top), Dt7(->pc));
2008#endif
2009 dasm_put(Dst, 11078);
2010#if LJ_HASFFI
2011 dasm_put(Dst, 11081, DISPATCH_GL(ctype_state), DtE(->L), Dt1(->base), Dt1(->top), DtE(->cb.gpr[0]), DtE(->cb.gpr[1]), DtE(->cb.gpr[2]), DtE(->cb.fpr[0].d), DtE(->cb.fpr[0].f), Dt1(->top));
2012#endif
2013 dasm_put(Dst, 11170);
2014#if LJ_HASFFI
2015#define DtF(_V) (int)(ptrdiff_t)&(((CCallState *)0)_V)
2016 dasm_put(Dst, 11173, DtF(->spadj));
2017#if LJ_TARGET_WINDOWS
2018 dasm_put(Dst, 11183, DtF(->spadj));
2019#endif
2020 dasm_put(Dst, 11187, DtF(->nsp), offsetof(CCallState, stack), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->func), DtF(->gpr[0]), DtF(->gpr[1]), DtF(->resx87), DtF(->fpr[0].d[0]));
2021 dasm_put(Dst, 11257, DtF(->fpr[0].f[0]));
2022#if LJ_TARGET_WINDOWS
2023 dasm_put(Dst, 11263, DtF(->spadj));
2024#endif
2025 dasm_put(Dst, 11267);
2026#endif
2027}
2028
2029/* Generate the code for a single instruction. */
2030static void build_ins(BuildCtx *ctx, BCOp op, int defop, int cmov, int sse)
2031{
2032 int vk = 0;
2033 dasm_put(Dst, 11274, defop);
2034
2035 switch (op) {
2036
2037 /* -- Comparison ops ---------------------------------------------------- */
2038
2039 /* Remember: all ops branch for a true comparison, fall through otherwise. */
2040
2041
2042 case BC_ISLT: case BC_ISGE: case BC_ISLE: case BC_ISGT:
2043 if (LJ_DUALNUM) {
2044 dasm_put(Dst, 11276, LJ_TISNUM, LJ_TISNUM);
2045 switch (op) {
2046 case BC_ISLT:
2047 dasm_put(Dst, 11306);
2048 break;
2049 case BC_ISGE:
2050 dasm_put(Dst, 11311);
2051 break;
2052 case BC_ISLE:
2053 dasm_put(Dst, 11316);
2054 break;
2055 case BC_ISGT:
2056 dasm_put(Dst, 11321);
2057 break;
2058 default: break; /* Shut up GCC. */
2059 }
2060 dasm_put(Dst, 11326, -BCBIAS_J*4, LJ_TISNUM);
2061 if (sse) {
2062 dasm_put(Dst, 11379);
2063 } else {
2064 dasm_put(Dst, 11390);
2065 }
2066 dasm_put(Dst, 11401);
2067 if (sse) {
2068 dasm_put(Dst, 11408);
2069 switch (op) {
2070 case BC_ISLT:
2071 dasm_put(Dst, 11428);
2072 break;
2073 case BC_ISGE:
2074 dasm_put(Dst, 11433);
2075 break;
2076 case BC_ISLE:
2077 dasm_put(Dst, 11438);
2078 break;
2079 case BC_ISGT:
2080 dasm_put(Dst, 11443);
2081 break;
2082 default: break; /* Shut up GCC. */
2083 }
2084 dasm_put(Dst, 11448);
2085 } else {
2086 dasm_put(Dst, 11453);
2087 }
2088 } else {
2089 dasm_put(Dst, 11461, LJ_TISNUM, LJ_TISNUM);
2090 }
2091 if (sse) {
2092 dasm_put(Dst, 11482);
2093 } else {
2094 dasm_put(Dst, 11503);
2095 if (cmov) {
2096 dasm_put(Dst, 3953);
2097 } else {
2098 dasm_put(Dst, 3959);
2099 }
2100 }
2101 if (LJ_DUALNUM) {
2102 switch (op) {
2103 case BC_ISLT:
2104 dasm_put(Dst, 11428);
2105 break;
2106 case BC_ISGE:
2107 dasm_put(Dst, 11433);
2108 break;
2109 case BC_ISLE:
2110 dasm_put(Dst, 11438);
2111 break;
2112 case BC_ISGT:
2113 dasm_put(Dst, 11443);
2114 break;
2115 default: break; /* Shut up GCC. */
2116 }
2117 dasm_put(Dst, 11448);
2118 } else {
2119 switch (op) {
2120 case BC_ISLT:
2121 dasm_put(Dst, 752);
2122 break;
2123 case BC_ISGE:
2124 dasm_put(Dst, 11519);
2125 break;
2126 case BC_ISLE:
2127 dasm_put(Dst, 11524);
2128 break;
2129 case BC_ISGT:
2130 dasm_put(Dst, 11529);
2131 break;
2132 default: break; /* Shut up GCC. */
2133 }
2134 dasm_put(Dst, 11534, -BCBIAS_J*4);
2135 }
2136 break;
2137
2138 case BC_ISEQV: case BC_ISNEV:
2139 vk = op == BC_ISEQV;
2140 dasm_put(Dst, 11565);
2141 if (LJ_DUALNUM) {
2142 dasm_put(Dst, 11573, LJ_TISNUM, LJ_TISNUM);
2143 if (vk) {
2144 dasm_put(Dst, 11598);
2145 } else {
2146 dasm_put(Dst, 11603);
2147 }
2148 dasm_put(Dst, 11608, -BCBIAS_J*4, LJ_TISNUM);
2149 if (sse) {
2150 dasm_put(Dst, 11659);
2151 } else {
2152 dasm_put(Dst, 11666);
2153 }
2154 dasm_put(Dst, 11670);
2155 if (sse) {
2156 dasm_put(Dst, 11681);
2157 } else {
2158 dasm_put(Dst, 11693);
2159 }
2160 dasm_put(Dst, 11700);
2161 } else {
2162 dasm_put(Dst, 11705, LJ_TISNUM, LJ_TISNUM);
2163 }
2164 if (sse) {
2165 dasm_put(Dst, 11724);
2166 } else {
2167 dasm_put(Dst, 11742);
2168 if (cmov) {
2169 dasm_put(Dst, 3953);
2170 } else {
2171 dasm_put(Dst, 3959);
2172 }
2173 }
2174 iseqne_fp:
2175 if (vk) {
2176 dasm_put(Dst, 11755);
2177 } else {
2178 dasm_put(Dst, 11764);
2179 }
2180 iseqne_end:
2181 if (vk) {
2182 dasm_put(Dst, 11773, -BCBIAS_J*4);
2183 if (!LJ_HASFFI) {
2184 dasm_put(Dst, 4853);
2185 }
2186 } else {
2187 if (!LJ_HASFFI) {
2188 dasm_put(Dst, 4853);
2189 }
2190 dasm_put(Dst, 11788, -BCBIAS_J*4);
2191 }
2192 if (LJ_DUALNUM && (op == BC_ISEQV || op == BC_ISNEV ||
2193 op == BC_ISEQN || op == BC_ISNEN)) {
2194 dasm_put(Dst, 11803);
2195 } else {
2196 dasm_put(Dst, 11546);
2197 }
2198 if (op == BC_ISEQV || op == BC_ISNEV) {
2199 dasm_put(Dst, 11808);
2200 if (LJ_HASFFI) {
2201 dasm_put(Dst, 11811, LJ_TCDATA, LJ_TCDATA);
2202 }
2203 dasm_put(Dst, 11830, LJ_TISPRI, LJ_TISTABUD, Dt6(->metatable), Dt6(->nomm), 1<<MM_eq);
2204 if (vk) {
2205 dasm_put(Dst, 11886);
2206 } else {
2207 dasm_put(Dst, 11890);
2208 }
2209 dasm_put(Dst, 11896);
2210 } else if (LJ_HASFFI) {
2211 dasm_put(Dst, 11901, LJ_TCDATA);
2212 if (LJ_DUALNUM && vk) {
2213 dasm_put(Dst, 11908);
2214 } else {
2215 dasm_put(Dst, 11881);
2216 }
2217 dasm_put(Dst, 11913);
2218 }
2219 break;
2220 case BC_ISEQS: case BC_ISNES:
2221 vk = op == BC_ISEQS;
2222 dasm_put(Dst, 11918, LJ_TSTR);
2223 iseqne_test:
2224 if (vk) {
2225 dasm_put(Dst, 11759);
2226 } else {
2227 dasm_put(Dst, 2971);
2228 }
2229 goto iseqne_end;
2230 case BC_ISEQN: case BC_ISNEN:
2231 vk = op == BC_ISEQN;
2232 dasm_put(Dst, 11943);
2233 if (LJ_DUALNUM) {
2234 dasm_put(Dst, 11951, LJ_TISNUM, LJ_TISNUM);
2235 if (vk) {
2236 dasm_put(Dst, 11598);
2237 } else {
2238 dasm_put(Dst, 11603);
2239 }
2240 dasm_put(Dst, 11976, -BCBIAS_J*4, LJ_TISNUM);
2241 if (sse) {
2242 dasm_put(Dst, 12023);
2243 } else {
2244 dasm_put(Dst, 12030);
2245 }
2246 dasm_put(Dst, 12034);
2247 if (sse) {
2248 dasm_put(Dst, 12041);
2249 } else {
2250 dasm_put(Dst, 12053);
2251 }
2252 dasm_put(Dst, 11700);
2253 } else {
2254 dasm_put(Dst, 12060, LJ_TISNUM);
2255 }
2256 if (sse) {
2257 dasm_put(Dst, 12069);
2258 } else {
2259 dasm_put(Dst, 12087);
2260 if (cmov) {
2261 dasm_put(Dst, 3953);
2262 } else {
2263 dasm_put(Dst, 3959);
2264 }
2265 }
2266 goto iseqne_fp;
2267 case BC_ISEQP: case BC_ISNEP:
2268 vk = op == BC_ISEQP;
2269 dasm_put(Dst, 12100);
2270 if (!LJ_HASFFI) goto iseqne_test;
2271 if (vk) {
2272 dasm_put(Dst, 12113, -BCBIAS_J*4, LJ_TCDATA);
2273 } else {
2274 dasm_put(Dst, 12162, LJ_TCDATA, -BCBIAS_J*4);
2275 }
2276 break;
2277
2278 /* -- Unary test and copy ops ------------------------------------------- */
2279
2280 case BC_ISTC: case BC_ISFC: case BC_IST: case BC_ISF:
2281 dasm_put(Dst, 12205, LJ_TISTRUECOND);
2282 if (op == BC_IST || op == BC_ISTC) {
2283 dasm_put(Dst, 11529);
2284 } else {
2285 dasm_put(Dst, 11524);
2286 }
2287 if (op == BC_ISTC || op == BC_ISFC) {
2288 dasm_put(Dst, 12217);
2289 }
2290 dasm_put(Dst, 11534, -BCBIAS_J*4);
2291 break;
2292
2293 /* -- Unary ops --------------------------------------------------------- */
2294
2295 case BC_MOV:
2296 dasm_put(Dst, 12228);
2297 break;
2298 case BC_NOT:
2299 dasm_put(Dst, 12261, LJ_TISTRUECOND, LJ_TTRUE);
2300 break;
2301 case BC_UNM:
2302 if (LJ_DUALNUM) {
2303 dasm_put(Dst, 12296, LJ_TISNUM, LJ_TISNUM);
2304 } else {
2305 dasm_put(Dst, 12372, LJ_TISNUM);
2306 }
2307 if (sse) {
2308 dasm_put(Dst, 12383);
2309 } else {
2310 dasm_put(Dst, 12413);
2311 }
2312 if (LJ_DUALNUM) {
2313 dasm_put(Dst, 11803);
2314 } else {
2315 dasm_put(Dst, 11546);
2316 }
2317 break;
2318 case BC_LEN:
2319 dasm_put(Dst, 12422, LJ_TSTR);
2320 if (LJ_DUALNUM) {
2321 dasm_put(Dst, 12436, Dt5(->len), LJ_TISNUM);
2322 } else if (sse) {
2323 dasm_put(Dst, 12450, Dt5(->len));
2324 } else {
2325 dasm_put(Dst, 12468, Dt5(->len));
2326 }
2327 dasm_put(Dst, 12477, LJ_TTAB);
2328#ifdef LUAJIT_ENABLE_LUA52COMPAT
2329 dasm_put(Dst, 12511, Dt6(->metatable));
2330#endif
2331 dasm_put(Dst, 12525);
2332 if (LJ_DUALNUM) {
2333 } else if (sse) {
2334 dasm_put(Dst, 12534);
2335 } else {
2336 dasm_put(Dst, 12540);
2337 }
2338 dasm_put(Dst, 12547);
2339#ifdef LUAJIT_ENABLE_LUA52COMPAT
2340 dasm_put(Dst, 12560, Dt6(->nomm), 1<<MM_len);
2341#endif
2342 break;
2343
2344 /* -- Binary ops -------------------------------------------------------- */
2345
2346
2347 case BC_ADDVN: case BC_ADDNV: case BC_ADDVV:
2348 if (LJ_DUALNUM) {
2349 dasm_put(Dst, 12576);
2350 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2351 switch (vk) {
2352 case 0:
2353 dasm_put(Dst, 12584, LJ_TISNUM, LJ_TISNUM);
2354 break;
2355 case 1:
2356 dasm_put(Dst, 12617, LJ_TISNUM, LJ_TISNUM);
2357 break;
2358 default:
2359 dasm_put(Dst, 12650, LJ_TISNUM, LJ_TISNUM);
2360 break;
2361 }
2362 dasm_put(Dst, 12683, LJ_TISNUM);
2363 if (vk == 1) {
2364 dasm_put(Dst, 12446);
2365 } else {
2366 dasm_put(Dst, 12224);
2367 }
2368 dasm_put(Dst, 11546);
2369 } else {
2370 dasm_put(Dst, 12576);
2371 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2372 switch (vk) {
2373 case 0:
2374 dasm_put(Dst, 12689, LJ_TISNUM);
2375 if (LJ_DUALNUM) {
2376 dasm_put(Dst, 12701, LJ_TISNUM);
2377 }
2378 if (sse) {
2379 dasm_put(Dst, 12712);
2380 } else {
2381 dasm_put(Dst, 12726);
2382 }
2383 break;
2384 case 1:
2385 dasm_put(Dst, 12734, LJ_TISNUM);
2386 if (LJ_DUALNUM) {
2387 dasm_put(Dst, 12746, LJ_TISNUM);
2388 }
2389 if (sse) {
2390 dasm_put(Dst, 12757);
2391 } else {
2392 dasm_put(Dst, 12771);
2393 }
2394 break;
2395 default:
2396 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2397 if (sse) {
2398 dasm_put(Dst, 12801);
2399 } else {
2400 dasm_put(Dst, 12815);
2401 }
2402 break;
2403 }
2404 if (sse) {
2405 dasm_put(Dst, 12406);
2406 } else {
2407 dasm_put(Dst, 12418);
2408 }
2409 dasm_put(Dst, 11546);
2410 }
2411 break;
2412 case BC_SUBVN: case BC_SUBNV: case BC_SUBVV:
2413 if (LJ_DUALNUM) {
2414 dasm_put(Dst, 12576);
2415 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2416 switch (vk) {
2417 case 0:
2418 dasm_put(Dst, 12823, LJ_TISNUM, LJ_TISNUM);
2419 break;
2420 case 1:
2421 dasm_put(Dst, 12856, LJ_TISNUM, LJ_TISNUM);
2422 break;
2423 default:
2424 dasm_put(Dst, 12889, LJ_TISNUM, LJ_TISNUM);
2425 break;
2426 }
2427 dasm_put(Dst, 12683, LJ_TISNUM);
2428 if (vk == 1) {
2429 dasm_put(Dst, 12446);
2430 } else {
2431 dasm_put(Dst, 12224);
2432 }
2433 dasm_put(Dst, 11546);
2434 } else {
2435 dasm_put(Dst, 12576);
2436 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2437 switch (vk) {
2438 case 0:
2439 dasm_put(Dst, 12689, LJ_TISNUM);
2440 if (LJ_DUALNUM) {
2441 dasm_put(Dst, 12701, LJ_TISNUM);
2442 }
2443 if (sse) {
2444 dasm_put(Dst, 12922);
2445 } else {
2446 dasm_put(Dst, 12936);
2447 }
2448 break;
2449 case 1:
2450 dasm_put(Dst, 12734, LJ_TISNUM);
2451 if (LJ_DUALNUM) {
2452 dasm_put(Dst, 12746, LJ_TISNUM);
2453 }
2454 if (sse) {
2455 dasm_put(Dst, 12944);
2456 } else {
2457 dasm_put(Dst, 12958);
2458 }
2459 break;
2460 default:
2461 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2462 if (sse) {
2463 dasm_put(Dst, 12966);
2464 } else {
2465 dasm_put(Dst, 12980);
2466 }
2467 break;
2468 }
2469 if (sse) {
2470 dasm_put(Dst, 12406);
2471 } else {
2472 dasm_put(Dst, 12418);
2473 }
2474 dasm_put(Dst, 11546);
2475 }
2476 break;
2477 case BC_MULVN: case BC_MULNV: case BC_MULVV:
2478 if (LJ_DUALNUM) {
2479 dasm_put(Dst, 12576);
2480 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2481 switch (vk) {
2482 case 0:
2483 dasm_put(Dst, 12988, LJ_TISNUM, LJ_TISNUM);
2484 break;
2485 case 1:
2486 dasm_put(Dst, 13022, LJ_TISNUM, LJ_TISNUM);
2487 break;
2488 default:
2489 dasm_put(Dst, 13056, LJ_TISNUM, LJ_TISNUM);
2490 break;
2491 }
2492 dasm_put(Dst, 12683, LJ_TISNUM);
2493 if (vk == 1) {
2494 dasm_put(Dst, 12446);
2495 } else {
2496 dasm_put(Dst, 12224);
2497 }
2498 dasm_put(Dst, 11546);
2499 } else {
2500 dasm_put(Dst, 12576);
2501 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2502 switch (vk) {
2503 case 0:
2504 dasm_put(Dst, 12689, LJ_TISNUM);
2505 if (LJ_DUALNUM) {
2506 dasm_put(Dst, 12701, LJ_TISNUM);
2507 }
2508 if (sse) {
2509 dasm_put(Dst, 13090);
2510 } else {
2511 dasm_put(Dst, 13104);
2512 }
2513 break;
2514 case 1:
2515 dasm_put(Dst, 12734, LJ_TISNUM);
2516 if (LJ_DUALNUM) {
2517 dasm_put(Dst, 12746, LJ_TISNUM);
2518 }
2519 if (sse) {
2520 dasm_put(Dst, 13112);
2521 } else {
2522 dasm_put(Dst, 13126);
2523 }
2524 break;
2525 default:
2526 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2527 if (sse) {
2528 dasm_put(Dst, 13134);
2529 } else {
2530 dasm_put(Dst, 13148);
2531 }
2532 break;
2533 }
2534 if (sse) {
2535 dasm_put(Dst, 12406);
2536 } else {
2537 dasm_put(Dst, 12418);
2538 }
2539 dasm_put(Dst, 11546);
2540 }
2541 break;
2542 case BC_DIVVN: case BC_DIVNV: case BC_DIVVV:
2543 dasm_put(Dst, 12576);
2544 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2545 switch (vk) {
2546 case 0:
2547 dasm_put(Dst, 12689, LJ_TISNUM);
2548 if (LJ_DUALNUM) {
2549 dasm_put(Dst, 12701, LJ_TISNUM);
2550 }
2551 if (sse) {
2552 dasm_put(Dst, 13156);
2553 } else {
2554 dasm_put(Dst, 13170);
2555 }
2556 break;
2557 case 1:
2558 dasm_put(Dst, 12734, LJ_TISNUM);
2559 if (LJ_DUALNUM) {
2560 dasm_put(Dst, 12746, LJ_TISNUM);
2561 }
2562 if (sse) {
2563 dasm_put(Dst, 13178);
2564 } else {
2565 dasm_put(Dst, 13192);
2566 }
2567 break;
2568 default:
2569 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2570 if (sse) {
2571 dasm_put(Dst, 13200);
2572 } else {
2573 dasm_put(Dst, 13214);
2574 }
2575 break;
2576 }
2577 if (sse) {
2578 dasm_put(Dst, 12406);
2579 } else {
2580 dasm_put(Dst, 12418);
2581 }
2582 dasm_put(Dst, 11546);
2583 break;
2584 case BC_MODVN:
2585 dasm_put(Dst, 12576);
2586 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2587 switch (vk) {
2588 case 0:
2589 dasm_put(Dst, 12689, LJ_TISNUM);
2590 if (LJ_DUALNUM) {
2591 dasm_put(Dst, 12701, LJ_TISNUM);
2592 }
2593 if (sse) {
2594 dasm_put(Dst, 13222);
2595 } else {
2596 dasm_put(Dst, 13236);
2597 }
2598 break;
2599 case 1:
2600 dasm_put(Dst, 12734, LJ_TISNUM);
2601 if (LJ_DUALNUM) {
2602 dasm_put(Dst, 12746, LJ_TISNUM);
2603 }
2604 if (sse) {
2605 dasm_put(Dst, 13244);
2606 } else {
2607 dasm_put(Dst, 13258);
2608 }
2609 break;
2610 default:
2611 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2612 if (sse) {
2613 dasm_put(Dst, 13266);
2614 } else {
2615 dasm_put(Dst, 13280);
2616 }
2617 break;
2618 }
2619 dasm_put(Dst, 13288);
2620 if (sse) {
2621 dasm_put(Dst, 12406);
2622 } else {
2623 dasm_put(Dst, 12418);
2624 }
2625 dasm_put(Dst, 11546);
2626 break;
2627 case BC_MODNV: case BC_MODVV:
2628 dasm_put(Dst, 12576);
2629 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2630 switch (vk) {
2631 case 0:
2632 dasm_put(Dst, 12689, LJ_TISNUM);
2633 if (LJ_DUALNUM) {
2634 dasm_put(Dst, 12701, LJ_TISNUM);
2635 }
2636 if (sse) {
2637 dasm_put(Dst, 13222);
2638 } else {
2639 dasm_put(Dst, 13236);
2640 }
2641 break;
2642 case 1:
2643 dasm_put(Dst, 12734, LJ_TISNUM);
2644 if (LJ_DUALNUM) {
2645 dasm_put(Dst, 12746, LJ_TISNUM);
2646 }
2647 if (sse) {
2648 dasm_put(Dst, 13244);
2649 } else {
2650 dasm_put(Dst, 13258);
2651 }
2652 break;
2653 default:
2654 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2655 if (sse) {
2656 dasm_put(Dst, 13266);
2657 } else {
2658 dasm_put(Dst, 13280);
2659 }
2660 break;
2661 }
2662 dasm_put(Dst, 13294);
2663 break;
2664 case BC_POW:
2665 dasm_put(Dst, 12576);
2666 vk = ((int)op - BC_ADDVN) / (BC_ADDNV-BC_ADDVN);
2667 switch (vk) {
2668 case 0:
2669 dasm_put(Dst, 12689, LJ_TISNUM);
2670 if (LJ_DUALNUM) {
2671 dasm_put(Dst, 12701, LJ_TISNUM);
2672 }
2673 if (sse) {
2674 dasm_put(Dst, 13222);
2675 } else {
2676 dasm_put(Dst, 13236);
2677 }
2678 break;
2679 case 1:
2680 dasm_put(Dst, 12734, LJ_TISNUM);
2681 if (LJ_DUALNUM) {
2682 dasm_put(Dst, 12746, LJ_TISNUM);
2683 }
2684 if (sse) {
2685 dasm_put(Dst, 13244);
2686 } else {
2687 dasm_put(Dst, 13258);
2688 }
2689 break;
2690 default:
2691 dasm_put(Dst, 12779, LJ_TISNUM, LJ_TISNUM);
2692 if (sse) {
2693 dasm_put(Dst, 13266);
2694 } else {
2695 dasm_put(Dst, 13280);
2696 }
2697 break;
2698 }
2699 dasm_put(Dst, 13299);
2700 if (sse) {
2701 dasm_put(Dst, 12406);
2702 } else {
2703 dasm_put(Dst, 12418);
2704 }
2705 dasm_put(Dst, 11546);
2706 break;
2707
2708 case BC_CAT:
2709 dasm_put(Dst, 13303, Dt1(->base), Dt1(->base));
2710 break;
2711
2712 /* -- Constant ops ------------------------------------------------------ */
2713
2714 case BC_KSTR:
2715 dasm_put(Dst, 13397, LJ_TSTR);
2716 break;
2717 case BC_KCDATA:
2718#if LJ_HASFFI
2719 dasm_put(Dst, 13397, LJ_TCDATA);
2720#endif
2721 break;
2722 case BC_KSHORT:
2723 if (LJ_DUALNUM) {
2724 dasm_put(Dst, 13430, LJ_TISNUM);
2725 } else if (sse) {
2726 dasm_put(Dst, 13442);
2727 } else {
2728 dasm_put(Dst, 13457);
2729 }
2730 dasm_put(Dst, 11546);
2731 break;
2732 case BC_KNUM:
2733 if (sse) {
2734 dasm_put(Dst, 13465);
2735 } else {
2736 dasm_put(Dst, 13478);
2737 }
2738 dasm_put(Dst, 11546);
2739 break;
2740 case BC_KPRI:
2741 dasm_put(Dst, 13485);
2742 break;
2743 case BC_KNIL:
2744 dasm_put(Dst, 13511, LJ_TNIL);
2745 break;
2746
2747 /* -- Upvalue and function ops ------------------------------------------ */
2748
2749 case BC_UGET:
2750 dasm_put(Dst, 13557, offsetof(GCfuncL, uvptr), DtA(->v));
2751 break;
2752 case BC_USETV:
2753#define TV2MARKOFS \
2754 ((int32_t)offsetof(GCupval, marked)-(int32_t)offsetof(GCupval, tv))
2755 dasm_put(Dst, 13601, offsetof(GCfuncL, uvptr), DtA(->closed), DtA(->v), TV2MARKOFS, LJ_GC_BLACK, LJ_TISGCV, LJ_TISNUM - LJ_TISGCV, Dt4(->gch.marked), LJ_GC_WHITES, GG_DISP2G);
2756 dasm_put(Dst, 13691);
2757 break;
2758#undef TV2MARKOFS
2759 case BC_USETS:
2760 dasm_put(Dst, 13703, offsetof(GCfuncL, uvptr), DtA(->v), LJ_TSTR, DtA(->marked), LJ_GC_BLACK, Dt4(->gch.marked), LJ_GC_WHITES, DtA(->closed), GG_DISP2G);
2761 break;
2762 case BC_USETN:
2763 dasm_put(Dst, 13794);
2764 if (sse) {
2765 dasm_put(Dst, 13799);
2766 } else {
2767 dasm_put(Dst, 12056);
2768 }
2769 dasm_put(Dst, 13806, offsetof(GCfuncL, uvptr), DtA(->v));
2770 if (sse) {
2771 dasm_put(Dst, 13815);
2772 } else {
2773 dasm_put(Dst, 13821);
2774 }
2775 dasm_put(Dst, 11546);
2776 break;
2777 case BC_USETP:
2778 dasm_put(Dst, 13824, offsetof(GCfuncL, uvptr), DtA(->v));
2779 break;
2780 case BC_UCLO:
2781 dasm_put(Dst, 13861, -BCBIAS_J*4, Dt1(->openupval), Dt1(->base), Dt1(->base));
2782 break;
2783
2784 case BC_FNEW:
2785 dasm_put(Dst, 13915, Dt1(->base), Dt1(->base), LJ_TFUNC);
2786 break;
2787
2788 /* -- Table ops --------------------------------------------------------- */
2789
2790 case BC_TNEW:
2791 dasm_put(Dst, 13986, Dt1(->base), DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), LJ_TTAB);
2792 break;
2793 case BC_TDUP:
2794 dasm_put(Dst, 14112, DISPATCH_GL(gc.total), DISPATCH_GL(gc.threshold), Dt1(->base), Dt1(->base), LJ_TTAB);
2795 break;
2796
2797 case BC_GGET:
2798 dasm_put(Dst, 14204, Dt7(->env));
2799 break;
2800 case BC_GSET:
2801 dasm_put(Dst, 14222, Dt7(->env));
2802 break;
2803
2804 case BC_TGETV:
2805 dasm_put(Dst, 14240, LJ_TTAB);
2806 if (LJ_DUALNUM) {
2807 dasm_put(Dst, 14263, LJ_TISNUM);
2808 } else {
2809 dasm_put(Dst, 14277, LJ_TISNUM);
2810 if (sse) {
2811 dasm_put(Dst, 14288);
2812 } else {
2813 dasm_put(Dst, 14309);
2814 if (cmov) {
2815 dasm_put(Dst, 3953);
2816 } else {
2817 dasm_put(Dst, 3959);
2818 }
2819 dasm_put(Dst, 2689);
2820 }
2821 dasm_put(Dst, 14319);
2822 }
2823 dasm_put(Dst, 14324, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index, LJ_TNIL);
2824 dasm_put(Dst, 14419, LJ_TSTR);
2825 break;
2826 case BC_TGETS:
2827 dasm_put(Dst, 14437, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2828 dasm_put(Dst, 14525, LJ_TNIL, DtB(->next), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2829 break;
2830 case BC_TGETB:
2831 dasm_put(Dst, 14595, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_index);
2832 dasm_put(Dst, 14694, LJ_TNIL);
2833 break;
2834
2835 case BC_TSETV:
2836 dasm_put(Dst, 14711, LJ_TTAB);
2837 if (LJ_DUALNUM) {
2838 dasm_put(Dst, 14263, LJ_TISNUM);
2839 } else {
2840 dasm_put(Dst, 14277, LJ_TISNUM);
2841 if (sse) {
2842 dasm_put(Dst, 14288);
2843 } else {
2844 dasm_put(Dst, 14309);
2845 if (cmov) {
2846 dasm_put(Dst, 3953);
2847 } else {
2848 dasm_put(Dst, 3959);
2849 }
2850 dasm_put(Dst, 2689);
2851 }
2852 dasm_put(Dst, 14734);
2853 }
2854 dasm_put(Dst, 14739, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex);
2855 dasm_put(Dst, 14823, LJ_TSTR, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2856 break;
2857 case BC_TSETS:
2858 dasm_put(Dst, 14880, LJ_TTAB, Dt6(->hmask), Dt5(->hash), sizeof(Node), Dt6(->nomm), Dt6(->node), DtB(->key.it), LJ_TSTR, DtB(->key.gcr), LJ_TNIL);
2859 dasm_put(Dst, 14955, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable), Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, DtB(->next));
2860 dasm_put(Dst, 15047, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, LJ_TSTR, Dt1(->base), Dt1(->base), Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2861 break;
2862 case BC_TSETB:
2863 dasm_put(Dst, 15143, LJ_TTAB, Dt6(->asize), Dt6(->array), LJ_TNIL, Dt6(->marked), LJ_GC_BLACK, Dt6(->metatable));
2864 dasm_put(Dst, 15241, Dt6(->metatable), Dt6(->nomm), 1<<MM_newindex, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2865 break;
2866
2867 case BC_TSETM:
2868 dasm_put(Dst, 15287, Dt6(->marked), LJ_GC_BLACK, Dt6(->asize), Dt6(->array), Dt1(->base), Dt1(->base));
2869 dasm_put(Dst, 15436, Dt6(->marked), (uint8_t)~LJ_GC_BLACK, DISPATCH_GL(gc.grayagain), DISPATCH_GL(gc.grayagain), Dt6(->gclist));
2870 break;
2871
2872 /* -- Calls and vararg handling ----------------------------------------- */
2873
2874 case BC_CALL: case BC_CALLM:
2875 dasm_put(Dst, 12580);
2876 if (op == BC_CALLM) {
2877 dasm_put(Dst, 15454);
2878 }
2879 dasm_put(Dst, 15459, LJ_TFUNC, Dt7(->pc));
2880 break;
2881
2882 case BC_CALLMT:
2883 dasm_put(Dst, 15454);
2884 break;
2885 case BC_CALLT:
2886 dasm_put(Dst, 15500, LJ_TFUNC, FRAME_TYPE, Dt7(->ffid), Dt7(->pc));
2887 dasm_put(Dst, 15618, FRAME_TYPE, Dt7(->pc), PC2PROTO(k), FRAME_VARG, FRAME_TYPEP, FRAME_VARG);
2888 break;
2889
2890 case BC_ITERC:
2891 dasm_put(Dst, 15688, LJ_TFUNC, 2+1, Dt7(->pc));
2892 break;
2893
2894 case BC_ITERN:
2895#if LJ_HASJIT
2896#endif
2897 dasm_put(Dst, 15768, Dt6(->asize), Dt6(->array), LJ_TNIL);
2898 if (LJ_DUALNUM) {
2899 dasm_put(Dst, 12441, LJ_TISNUM);
2900 } else if (sse) {
2901 dasm_put(Dst, 12534);
2902 } else {
2903 dasm_put(Dst, 15814);
2904 }
2905 dasm_put(Dst, 15820);
2906 if (LJ_DUALNUM) {
2907 } else if (sse) {
2908 dasm_put(Dst, 12406);
2909 } else {
2910 dasm_put(Dst, 12418);
2911 }
2912 dasm_put(Dst, 15839, -BCBIAS_J*4);
2913 if (!LJ_DUALNUM && !sse) {
2914 dasm_put(Dst, 15890);
2915 }
2916 dasm_put(Dst, 15896, Dt6(->hmask), sizeof(Node), Dt6(->node), DtB(->val.it), LJ_TNIL, DtB(->key.gcr), DtB(->key.it), DtB(->val.gcr), DtB(->val.it));
2917 dasm_put(Dst, 15971);
2918 break;
2919
2920 case BC_ISNEXT:
2921 dasm_put(Dst, 15979, LJ_TFUNC, LJ_TTAB, LJ_TNIL, Dt8(->ffid), FF_next_N, -BCBIAS_J*4, BC_JMP, -BCBIAS_J*4, BC_ITERC);
2922 break;
2923
2924 case BC_VARG:
2925 dasm_put(Dst, 16078, (8+FRAME_VARG), LJ_TNIL, Dt1(->maxstack));
2926 dasm_put(Dst, 16242, Dt1(->base), Dt1(->top), Dt1(->base), Dt1(->top));
2927 break;
2928
2929 /* -- Returns ----------------------------------------------------------- */
2930
2931 case BC_RETM:
2932 dasm_put(Dst, 15454);
2933 break;
2934
2935 case BC_RET: case BC_RET0: case BC_RET1:
2936 if (op != BC_RET0) {
2937 dasm_put(Dst, 16313);
2938 }
2939 dasm_put(Dst, 16317, FRAME_TYPE);
2940 switch (op) {
2941 case BC_RET:
2942 dasm_put(Dst, 16336);
2943 break;
2944 case BC_RET1:
2945 dasm_put(Dst, 16394);
2946 /* fallthrough */
2947 case BC_RET0:
2948 dasm_put(Dst, 16410);
2949 default:
2950 break;
2951 }
2952 dasm_put(Dst, 16421, Dt7(->pc), PC2PROTO(k));
2953 if (op == BC_RET) {
2954 dasm_put(Dst, 16463, LJ_TNIL);
2955 } else {
2956 dasm_put(Dst, 16472, LJ_TNIL);
2957 }
2958 dasm_put(Dst, 16479, -FRAME_VARG, FRAME_TYPEP);
2959 if (op != BC_RET0) {
2960 dasm_put(Dst, 16503);
2961 }
2962 dasm_put(Dst, 4937);
2963 break;
2964
2965 /* -- Loops and branches ------------------------------------------------ */
2966
2967
2968 case BC_FORL:
2969#if LJ_HASJIT
2970 dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
2971#endif
2972 break;
2973
2974 case BC_JFORI:
2975 case BC_JFORL:
2976#if !LJ_HASJIT
2977 break;
2978#endif
2979 case BC_FORI:
2980 case BC_IFORL:
2981 vk = (op == BC_IFORL || op == BC_JFORL);
2982 dasm_put(Dst, 16528);
2983 if (LJ_DUALNUM) {
2984 dasm_put(Dst, 16532, LJ_TISNUM);
2985 if (!vk) {
2986 dasm_put(Dst, 16542, LJ_TISNUM, LJ_TISNUM);
2987 } else {
2988#ifdef LUA_USE_ASSERT
2989 dasm_put(Dst, 16571, LJ_TISNUM, LJ_TISNUM);
2990#endif
2991 dasm_put(Dst, 16590);
2992 }
2993 dasm_put(Dst, 16609, LJ_TISNUM);
2994 if (op == BC_FORI) {
2995 dasm_put(Dst, 16620, -BCBIAS_J*4);
2996 } else if (op == BC_JFORI) {
2997 dasm_put(Dst, 16634, -BCBIAS_J*4, BC_JLOOP);
2998 } else if (op == BC_IFORL) {
2999 dasm_put(Dst, 16652, -BCBIAS_J*4);
3000 } else {
3001 dasm_put(Dst, 16644, BC_JLOOP);
3002 }
3003 dasm_put(Dst, 16666);
3004 if (vk) {
3005 dasm_put(Dst, 16689);
3006 }
3007 dasm_put(Dst, 16609, LJ_TISNUM);
3008 if (op == BC_FORI) {
3009 dasm_put(Dst, 16698);
3010 } else if (op == BC_JFORI) {
3011 dasm_put(Dst, 16703, -BCBIAS_J*4, BC_JLOOP);
3012 } else if (op == BC_IFORL) {
3013 dasm_put(Dst, 16717);
3014 } else {
3015 dasm_put(Dst, 16713, BC_JLOOP);
3016 }
3017 dasm_put(Dst, 16722);
3018 } else if (!vk) {
3019 dasm_put(Dst, 16729, LJ_TISNUM);
3020 }
3021 if (!vk) {
3022 dasm_put(Dst, 16735, LJ_TISNUM);
3023 } else {
3024#ifdef LUA_USE_ASSERT
3025 dasm_put(Dst, 16749, LJ_TISNUM, LJ_TISNUM);
3026#endif
3027 }
3028 dasm_put(Dst, 16768);
3029 if (!vk) {
3030 dasm_put(Dst, 16772, LJ_TISNUM);
3031 }
3032 if (sse) {
3033 dasm_put(Dst, 16781);
3034 if (vk) {
3035 dasm_put(Dst, 16793);
3036 } else {
3037 dasm_put(Dst, 16812);
3038 }
3039 dasm_put(Dst, 16817);
3040 } else {
3041 dasm_put(Dst, 16830);
3042 if (vk) {
3043 dasm_put(Dst, 16836);
3044 } else {
3045 dasm_put(Dst, 16852);
3046 }
3047 dasm_put(Dst, 16860);
3048 if (cmov) {
3049 dasm_put(Dst, 3953);
3050 } else {
3051 dasm_put(Dst, 3959);
3052 }
3053 if (!cmov) {
3054 dasm_put(Dst, 16865);
3055 }
3056 }
3057 if (op == BC_FORI) {
3058 if (LJ_DUALNUM) {
3059 dasm_put(Dst, 16871);
3060 } else {
3061 dasm_put(Dst, 16876, -BCBIAS_J*4);
3062 }
3063 } else if (op == BC_JFORI) {
3064 dasm_put(Dst, 16886, -BCBIAS_J*4, BC_JLOOP);
3065 } else if (op == BC_IFORL) {
3066 if (LJ_DUALNUM) {
3067 dasm_put(Dst, 16900);
3068 } else {
3069 dasm_put(Dst, 16905, -BCBIAS_J*4);
3070 }
3071 } else {
3072 dasm_put(Dst, 16896, BC_JLOOP);
3073 }
3074 if (LJ_DUALNUM) {
3075 dasm_put(Dst, 11448);
3076 } else {
3077 dasm_put(Dst, 12184);
3078 }
3079 if (sse) {
3080 dasm_put(Dst, 16915);
3081 }
3082 break;
3083
3084 case BC_ITERL:
3085#if LJ_HASJIT
3086 dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
3087#endif
3088 break;
3089
3090 case BC_JITERL:
3091#if !LJ_HASJIT
3092 break;
3093#endif
3094 case BC_IITERL:
3095 dasm_put(Dst, 16926, LJ_TNIL);
3096 if (op == BC_JITERL) {
3097 dasm_put(Dst, 16941, BC_JLOOP);
3098 } else {
3099 dasm_put(Dst, 16955, -BCBIAS_J*4);
3100 }
3101 dasm_put(Dst, 11544);
3102 break;
3103
3104 case BC_LOOP:
3105#if LJ_HASJIT
3106 dasm_put(Dst, 16507, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_LOOP);
3107#endif
3108 break;
3109
3110 case BC_ILOOP:
3111 dasm_put(Dst, 11546);
3112 break;
3113
3114 case BC_JLOOP:
3115#if LJ_HASJIT
3116 dasm_put(Dst, 16971, DISPATCH_J(trace), DtD(->mcode), DISPATCH_GL(jit_base), DISPATCH_GL(jit_L));
3117#endif
3118 break;
3119
3120 case BC_JMP:
3121 dasm_put(Dst, 16994, -BCBIAS_J*4);
3122 break;
3123
3124 /* -- Function headers -------------------------------------------------- */
3125
3126 /*
3127 ** Reminder: A function may be called with func/args above L->maxstack,
3128 ** i.e. occupying EXTRA_STACK slots. And vmeta_call may add one extra slot,
3129 ** too. This means all FUNC* ops (including fast functions) must check
3130 ** for stack overflow _before_ adding more slots!
3131 */
3132
3133 case BC_FUNCF:
3134#if LJ_HASJIT
3135 dasm_put(Dst, 17018, HOTCOUNT_PCMASK, GG_DISP2HOT, HOTCOUNT_CALL);
3136#endif
3137 case BC_FUNCV: /* NYI: compiled vararg functions. */
3138 break;
3139
3140 case BC_JFUNCF:
3141#if !LJ_HASJIT
3142 break;
3143#endif
3144 case BC_IFUNCF:
3145 dasm_put(Dst, 17039, -4+PC2PROTO(k), Dt1(->maxstack), -4+PC2PROTO(numparams));
3146 if (op == BC_JFUNCF) {
3147 dasm_put(Dst, 17069, BC_JLOOP);
3148 } else {
3149 dasm_put(Dst, 11546);
3150 }
3151 dasm_put(Dst, 17078, LJ_TNIL);
3152 break;
3153
3154 case BC_JFUNCV:
3155#if !LJ_HASJIT
3156 break;
3157#endif
3158 dasm_put(Dst, 10445);
3159 break; /* NYI: compiled vararg functions. */
3160
3161 case BC_IFUNCV:
3162 dasm_put(Dst, 17100, FRAME_VARG, Dt1(->maxstack), -4+PC2PROTO(numparams), LJ_TNIL);
3163 if (op == BC_JFUNCV) {
3164 dasm_put(Dst, 17069, BC_JLOOP);
3165 } else {
3166 dasm_put(Dst, 17191, -4+PC2PROTO(k));
3167 }
3168 dasm_put(Dst, 17213, LJ_TNIL);
3169 break;
3170
3171 case BC_FUNCC:
3172 case BC_FUNCCW:
3173 dasm_put(Dst, 17235, Dt8(->f), Dt1(->base), 8*LUA_MINSTACK, Dt1(->maxstack), Dt1(->top));
3174 if (op == BC_FUNCC) {
3175 dasm_put(Dst, 17264);
3176 } else {
3177 dasm_put(Dst, 17268);
3178 }
3179 dasm_put(Dst, 17276, DISPATCH_GL(vmstate), ~LJ_VMST_C);
3180 if (op == BC_FUNCC) {
3181 dasm_put(Dst, 17285);
3182 } else {
3183 dasm_put(Dst, 17289, DISPATCH_GL(wrapf));
3184 }
3185 dasm_put(Dst, 17294, DISPATCH_GL(vmstate), ~LJ_VMST_INTERP, Dt1(->base), Dt1(->top));
3186 break;
3187
3188 /* ---------------------------------------------------------------------- */
3189
3190 default:
3191 fprintf(stderr, "Error: undefined opcode BC_%s\n", bc_names[op]);
3192 exit(2);
3193 break;
3194 }
3195}
3196
3197static int build_backend(BuildCtx *ctx)
3198{
3199 int op;
3200 int cmov = 1;
3201 int sse = 0;
3202#ifdef LUAJIT_CPU_NOCMOV
3203 cmov = 0;
3204#endif
3205#if defined(LUAJIT_CPU_SSE2) || defined(LJ_TARGET_X64)
3206 sse = 1;
3207#endif
3208
3209 dasm_growpc(Dst, BC__MAX);
3210
3211 build_subroutines(ctx, cmov, sse);
3212
3213 dasm_put(Dst, 17319);
3214 for (op = 0; op < BC__MAX; op++)
3215 build_ins(ctx, (BCOp)op, op, cmov, sse);
3216
3217 return BC__MAX;
3218}
3219
3220/* Emit pseudo frame-info for all assembler functions. */
3221static void emit_asm_debug(BuildCtx *ctx)
3222{
3223 int fcofs = (int)((uint8_t *)ctx->glob[GLOB_vm_ffi_call] - ctx->code);
3224#if LJ_64
3225#define SZPTR "8"
3226#define BSZPTR "3"
3227#define REG_SP "0x7"
3228#define REG_RA "0x10"
3229#else
3230#define SZPTR "4"
3231#define BSZPTR "2"
3232#define REG_SP "0x4"
3233#define REG_RA "0x8"
3234#endif
3235 switch (ctx->mode) {
3236 case BUILD_elfasm:
3237 fprintf(ctx->fp, "\t.section .debug_frame,\"\",@progbits\n");
3238 fprintf(ctx->fp,
3239 ".Lframe0:\n"
3240 "\t.long .LECIE0-.LSCIE0\n"
3241 ".LSCIE0:\n"
3242 "\t.long 0xffffffff\n"
3243 "\t.byte 0x1\n"
3244 "\t.string \"\"\n"
3245 "\t.uleb128 0x1\n"
3246 "\t.sleb128 -" SZPTR "\n"
3247 "\t.byte " REG_RA "\n"
3248 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3249 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3250 "\t.align " SZPTR "\n"
3251 ".LECIE0:\n\n");
3252 fprintf(ctx->fp,
3253 ".LSFDE0:\n"
3254 "\t.long .LEFDE0-.LASFDE0\n"
3255 ".LASFDE0:\n"
3256 "\t.long .Lframe0\n"
3257#if LJ_64
3258 "\t.quad .Lbegin\n"
3259 "\t.quad %d\n"
3260 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3261 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3262 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3263 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3264 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3265#else
3266 "\t.long .Lbegin\n"
3267 "\t.long %d\n"
3268 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3269 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3270 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3271 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3272 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3273#endif
3274 "\t.align " SZPTR "\n"
3275 ".LEFDE0:\n\n", fcofs, CFRAME_SIZE);
3276#if LJ_HASFFI
3277 fprintf(ctx->fp,
3278 ".LSFDE1:\n"
3279 "\t.long .LEFDE1-.LASFDE1\n"
3280 ".LASFDE1:\n"
3281 "\t.long .Lframe0\n"
3282#if LJ_64
3283 "\t.quad lj_vm_ffi_call\n"
3284 "\t.quad %d\n"
3285 "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
3286 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3287 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3288 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3289#else
3290 "\t.long lj_vm_ffi_call\n"
3291 "\t.long %d\n"
3292 "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
3293 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3294 "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
3295 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
3296#endif
3297 "\t.align " SZPTR "\n"
3298 ".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
3299#endif
3300#if (defined(__sun__) && defined(__svr4__)) || defined(__solaris_)
3301 fprintf(ctx->fp, "\t.section .eh_frame,\"aw\",@progbits\n");
3302#else
3303 fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@progbits\n");
3304#endif
3305 fprintf(ctx->fp,
3306 ".Lframe1:\n"
3307 "\t.long .LECIE1-.LSCIE1\n"
3308 ".LSCIE1:\n"
3309 "\t.long 0\n"
3310 "\t.byte 0x1\n"
3311 "\t.string \"zPR\"\n"
3312 "\t.uleb128 0x1\n"
3313 "\t.sleb128 -" SZPTR "\n"
3314 "\t.byte " REG_RA "\n"
3315 "\t.uleb128 6\n" /* augmentation length */
3316 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3317 "\t.long lj_err_unwind_dwarf-.\n"
3318 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3319 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3320 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3321 "\t.align " SZPTR "\n"
3322 ".LECIE1:\n\n");
3323 fprintf(ctx->fp,
3324 ".LSFDE2:\n"
3325 "\t.long .LEFDE2-.LASFDE2\n"
3326 ".LASFDE2:\n"
3327 "\t.long .LASFDE2-.Lframe1\n"
3328 "\t.long .Lbegin-.\n"
3329 "\t.long %d\n"
3330 "\t.uleb128 0\n" /* augmentation length */
3331 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3332#if LJ_64
3333 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3334 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3335 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3336 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3337#else
3338 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3339 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3340 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3341 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3342#endif
3343 "\t.align " SZPTR "\n"
3344 ".LEFDE2:\n\n", fcofs, CFRAME_SIZE);
3345#if LJ_HASFFI
3346 fprintf(ctx->fp,
3347 ".Lframe2:\n"
3348 "\t.long .LECIE2-.LSCIE2\n"
3349 ".LSCIE2:\n"
3350 "\t.long 0\n"
3351 "\t.byte 0x1\n"
3352 "\t.string \"zR\"\n"
3353 "\t.uleb128 0x1\n"
3354 "\t.sleb128 -" SZPTR "\n"
3355 "\t.byte " REG_RA "\n"
3356 "\t.uleb128 1\n" /* augmentation length */
3357 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3358 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3359 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3360 "\t.align " SZPTR "\n"
3361 ".LECIE2:\n\n");
3362 fprintf(ctx->fp,
3363 ".LSFDE3:\n"
3364 "\t.long .LEFDE3-.LASFDE3\n"
3365 ".LASFDE3:\n"
3366 "\t.long .LASFDE3-.Lframe2\n"
3367 "\t.long lj_vm_ffi_call-.\n"
3368 "\t.long %d\n"
3369 "\t.uleb128 0\n" /* augmentation length */
3370#if LJ_64
3371 "\t.byte 0xe\n\t.uleb128 16\n" /* def_cfa_offset */
3372 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3373 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3374 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3375#else
3376 "\t.byte 0xe\n\t.uleb128 8\n" /* def_cfa_offset */
3377 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3378 "\t.byte 0xd\n\t.uleb128 0x5\n" /* def_cfa_register ebp */
3379 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset ebx */
3380#endif
3381 "\t.align " SZPTR "\n"
3382 ".LEFDE3:\n\n", (int)ctx->codesz - fcofs);
3383#endif
3384 break;
3385 case BUILD_coffasm:
3386 fprintf(ctx->fp, "\t.section .eh_frame,\"dr\"\n");
3387 fprintf(ctx->fp,
3388 "\t.def %slj_err_unwind_dwarf; .scl 2; .type 32; .endef\n",
3389 LJ_32 ? "_" : "");
3390 fprintf(ctx->fp,
3391 "Lframe1:\n"
3392 "\t.long LECIE1-LSCIE1\n"
3393 "LSCIE1:\n"
3394 "\t.long 0\n"
3395 "\t.byte 0x1\n"
3396 "\t.string \"zP\"\n"
3397 "\t.uleb128 0x1\n"
3398 "\t.sleb128 -" SZPTR "\n"
3399 "\t.byte " REG_RA "\n"
3400 "\t.uleb128 5\n" /* augmentation length */
3401 "\t.byte 0x00\n" /* absptr */
3402 "\t.long %slj_err_unwind_dwarf\n"
3403 "\t.byte 0xc\n\t.uleb128 " REG_SP "\n\t.uleb128 " SZPTR "\n"
3404 "\t.byte 0x80+" REG_RA "\n\t.uleb128 0x1\n"
3405 "\t.align " SZPTR "\n"
3406 "LECIE1:\n\n", LJ_32 ? "_" : "");
3407 fprintf(ctx->fp,
3408 "LSFDE1:\n"
3409 "\t.long LEFDE1-LASFDE1\n"
3410 "LASFDE1:\n"
3411 "\t.long LASFDE1-Lframe1\n"
3412 "\t.long %slj_vm_asm_begin\n"
3413 "\t.long %d\n"
3414 "\t.uleb128 0\n" /* augmentation length */
3415 "\t.byte 0xe\n\t.uleb128 %d\n" /* def_cfa_offset */
3416#if LJ_64
3417 "\t.byte 0x86\n\t.uleb128 0x2\n" /* offset rbp */
3418 "\t.byte 0x83\n\t.uleb128 0x3\n" /* offset rbx */
3419 "\t.byte 0x8f\n\t.uleb128 0x4\n" /* offset r15 */
3420 "\t.byte 0x8e\n\t.uleb128 0x5\n" /* offset r14 */
3421#else
3422 "\t.byte 0x85\n\t.uleb128 0x2\n" /* offset ebp */
3423 "\t.byte 0x87\n\t.uleb128 0x3\n" /* offset edi */
3424 "\t.byte 0x86\n\t.uleb128 0x4\n" /* offset esi */
3425 "\t.byte 0x83\n\t.uleb128 0x5\n" /* offset ebx */
3426#endif
3427 "\t.align " SZPTR "\n"
3428 "LEFDE1:\n\n", LJ_32 ? "_" : "", (int)ctx->codesz, CFRAME_SIZE);
3429 break;
3430 /* Mental note: never let Apple design an assembler.
3431 ** Or a linker. Or a plastic case. But I digress.
3432 */
3433 case BUILD_machasm: {
3434#if LJ_HASFFI
3435 int fcsize = 0;
3436#endif
3437 int i;
3438 fprintf(ctx->fp, "\t.section __TEXT,__eh_frame,coalesced,no_toc+strip_static_syms+live_support\n");
3439 fprintf(ctx->fp,
3440 "EH_frame1:\n"
3441 "\t.set L$set$x,LECIEX-LSCIEX\n"
3442 "\t.long L$set$x\n"
3443 "LSCIEX:\n"
3444 "\t.long 0\n"
3445 "\t.byte 0x1\n"
3446 "\t.ascii \"zPR\\0\"\n"
3447 "\t.byte 0x1\n"
3448 "\t.byte 128-" SZPTR "\n"
3449 "\t.byte " REG_RA "\n"
3450 "\t.byte 6\n" /* augmentation length */
3451 "\t.byte 0x9b\n" /* indirect|pcrel|sdata4 */
3452#if LJ_64
3453 "\t.long _lj_err_unwind_dwarf+4@GOTPCREL\n"
3454 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3455 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
3456#else
3457 "\t.long L_lj_err_unwind_dwarf$non_lazy_ptr-.\n"
3458 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3459 "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH-O. */
3460#endif
3461 "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
3462 "\t.align " BSZPTR "\n"
3463 "LECIEX:\n\n");
3464 for (i = 0; i < ctx->nsym; i++) {
3465 const char *name = ctx->sym[i].name;
3466 int32_t size = ctx->sym[i+1].ofs - ctx->sym[i].ofs;
3467 if (size == 0) continue;
3468#if LJ_HASFFI
3469 if (!strcmp(name, "_lj_vm_ffi_call")) { fcsize = size; continue; }
3470#endif
3471 fprintf(ctx->fp,
3472 "%s.eh:\n"
3473 "LSFDE%d:\n"
3474 "\t.set L$set$%d,LEFDE%d-LASFDE%d\n"
3475 "\t.long L$set$%d\n"
3476 "LASFDE%d:\n"
3477 "\t.long LASFDE%d-EH_frame1\n"
3478 "\t.long %s-.\n"
3479 "\t.long %d\n"
3480 "\t.byte 0\n" /* augmentation length */
3481 "\t.byte 0xe\n\t.byte %d\n" /* def_cfa_offset */
3482#if LJ_64
3483 "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
3484 "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
3485 "\t.byte 0x8f\n\t.byte 0x4\n" /* offset r15 */
3486 "\t.byte 0x8e\n\t.byte 0x5\n" /* offset r14 */
3487#else
3488 "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
3489 "\t.byte 0x87\n\t.byte 0x3\n" /* offset edi */
3490 "\t.byte 0x86\n\t.byte 0x4\n" /* offset esi */
3491 "\t.byte 0x83\n\t.byte 0x5\n" /* offset ebx */
3492#endif
3493 "\t.align " BSZPTR "\n"
3494 "LEFDE%d:\n\n",
3495 name, i, i, i, i, i, i, i, name, size, CFRAME_SIZE, i);
3496 }
3497#if LJ_HASFFI
3498 if (fcsize) {
3499 fprintf(ctx->fp,
3500 "EH_frame2:\n"
3501 "\t.set L$set$y,LECIEY-LSCIEY\n"
3502 "\t.long L$set$y\n"
3503 "LSCIEY:\n"
3504 "\t.long 0\n"
3505 "\t.byte 0x1\n"
3506 "\t.ascii \"zR\\0\"\n"
3507 "\t.byte 0x1\n"
3508 "\t.byte 128-" SZPTR "\n"
3509 "\t.byte " REG_RA "\n"
3510 "\t.byte 1\n" /* augmentation length */
3511#if LJ_64
3512 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3513 "\t.byte 0xc\n\t.byte " REG_SP "\n\t.byte " SZPTR "\n"
3514#else
3515 "\t.byte 0x1b\n" /* pcrel|sdata4 */
3516 "\t.byte 0xc\n\t.byte 0x5\n\t.byte 0x4\n" /* esp=5 on 32 bit MACH. */
3517#endif
3518 "\t.byte 0x80+" REG_RA "\n\t.byte 0x1\n"
3519 "\t.align " BSZPTR "\n"
3520 "LECIEY:\n\n");
3521 fprintf(ctx->fp,
3522 "_lj_vm_ffi_call.eh:\n"
3523 "LSFDEY:\n"
3524 "\t.set L$set$yy,LEFDEY-LASFDEY\n"
3525 "\t.long L$set$yy\n"
3526 "LASFDEY:\n"
3527 "\t.long LASFDEY-EH_frame2\n"
3528 "\t.long _lj_vm_ffi_call-.\n"
3529 "\t.long %d\n"
3530 "\t.byte 0\n" /* augmentation length */
3531#if LJ_64
3532 "\t.byte 0xe\n\t.byte 16\n" /* def_cfa_offset */
3533 "\t.byte 0x86\n\t.byte 0x2\n" /* offset rbp */
3534 "\t.byte 0xd\n\t.uleb128 0x6\n" /* def_cfa_register rbp */
3535 "\t.byte 0x83\n\t.byte 0x3\n" /* offset rbx */
3536#else
3537 "\t.byte 0xe\n\t.byte 8\n" /* def_cfa_offset */
3538 "\t.byte 0x84\n\t.byte 0x2\n" /* offset ebp (4 for MACH-O)*/
3539 "\t.byte 0xd\n\t.uleb128 0x4\n" /* def_cfa_register ebp */
3540 "\t.byte 0x83\n\t.byte 0x3\n" /* offset ebx */
3541#endif
3542 "\t.align " BSZPTR "\n"
3543 "LEFDEY:\n\n", fcsize);
3544 }
3545#endif
3546#if LJ_64
3547 fprintf(ctx->fp, "\t.subsections_via_symbols\n");
3548#else
3549 fprintf(ctx->fp,
3550 "\t.non_lazy_symbol_pointer\n"
3551 "L_lj_err_unwind_dwarf$non_lazy_ptr:\n"
3552 ".indirect_symbol _lj_err_unwind_dwarf\n"
3553 ".long 0\n");
3554#endif
3555 }
3556 break;
3557 default: /* Difficult for other modes. */
3558 break;
3559 }
3560}
3561
diff --git a/src/host/.gitignore b/src/host/.gitignore
new file mode 100644
index 00000000..762ac2a0
--- /dev/null
+++ b/src/host/.gitignore
@@ -0,0 +1,3 @@
1minilua
2buildvm
3buildvm_arch.h
diff --git a/src/buildvm.c b/src/host/buildvm.c
index 29cf7378..7dbf2cae 100644
--- a/src/buildvm.c
+++ b/src/host/buildvm.c
@@ -54,33 +54,24 @@ static int collect_reloc(BuildCtx *ctx, uint8_t *addr, int idx, int type);
54/* Avoid trouble if cross-compiling for an x86 target. Speed doesn't matter. */ 54/* Avoid trouble if cross-compiling for an x86 target. Speed doesn't matter. */
55#define DASM_ALIGNED_WRITES 1 55#define DASM_ALIGNED_WRITES 1
56 56
57/* Embed architecture-specific DynASM encoder and backend. */ 57/* Embed architecture-specific DynASM encoder. */
58#if LJ_TARGET_X86 58#if LJ_TARGET_X86ORX64
59#include "../dynasm/dasm_x86.h" 59#include "../dynasm/dasm_x86.h"
60#include "buildvm_x86.h"
61#elif LJ_TARGET_X64
62#include "../dynasm/dasm_x86.h"
63#if LJ_ABI_WIN
64#include "buildvm_x64win.h"
65#else
66#include "buildvm_x64.h"
67#endif
68#elif LJ_TARGET_ARM 60#elif LJ_TARGET_ARM
69#include "../dynasm/dasm_arm.h" 61#include "../dynasm/dasm_arm.h"
70#include "buildvm_arm.h"
71#elif LJ_TARGET_PPC 62#elif LJ_TARGET_PPC
72#include "../dynasm/dasm_ppc.h" 63#include "../dynasm/dasm_ppc.h"
73#include "buildvm_ppc.h"
74#elif LJ_TARGET_PPCSPE 64#elif LJ_TARGET_PPCSPE
75#include "../dynasm/dasm_ppc.h" 65#include "../dynasm/dasm_ppc.h"
76#include "buildvm_ppcspe.h"
77#elif LJ_TARGET_MIPS 66#elif LJ_TARGET_MIPS
78#include "../dynasm/dasm_mips.h" 67#include "../dynasm/dasm_mips.h"
79#include "buildvm_mips.h"
80#else 68#else
81#error "No support for this architecture (yet)" 69#error "No support for this architecture (yet)"
82#endif 70#endif
83 71
72/* Embed generated architecture-specific backend. */
73#include "buildvm_arch.h"
74
84/* ------------------------------------------------------------------------ */ 75/* ------------------------------------------------------------------------ */
85 76
86void owrite(BuildCtx *ctx, const void *ptr, size_t sz) 77void owrite(BuildCtx *ctx, const void *ptr, size_t sz)
diff --git a/src/buildvm.h b/src/host/buildvm.h
index 2b7168ed..2b7168ed 100644
--- a/src/buildvm.h
+++ b/src/host/buildvm.h
diff --git a/src/buildvm_asm.c b/src/host/buildvm_asm.c
index f975eadc..f975eadc 100644
--- a/src/buildvm_asm.c
+++ b/src/host/buildvm_asm.c
diff --git a/src/buildvm_fold.c b/src/host/buildvm_fold.c
index 73f4f80a..73f4f80a 100644
--- a/src/buildvm_fold.c
+++ b/src/host/buildvm_fold.c
diff --git a/src/buildvm_lib.c b/src/host/buildvm_lib.c
index 3231d3ad..3231d3ad 100644
--- a/src/buildvm_lib.c
+++ b/src/host/buildvm_lib.c
diff --git a/src/buildvm_peobj.c b/src/host/buildvm_peobj.c
index 17b3293a..17b3293a 100644
--- a/src/buildvm_peobj.c
+++ b/src/host/buildvm_peobj.c
diff --git a/src/msvcbuild.bat b/src/msvcbuild.bat
index 63467308..cb973fe4 100644
--- a/src/msvcbuild.bat
+++ b/src/msvcbuild.bat
@@ -19,17 +19,28 @@
19@set LJMT=mt /nologo 19@set LJMT=mt /nologo
20@set LJLIB=lib /nologo 20@set LJLIB=lib /nologo
21@set DASMDIR=..\dynasm 21@set DASMDIR=..\dynasm
22@set DASM=lua %DASMDIR%\dynasm.lua 22@set DASM=%DASMDIR%\dynasm.lua
23@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c 23@set ALL_LIB=lib_base.c lib_math.c lib_bit.c lib_string.c lib_table.c lib_io.c lib_os.c lib_package.c lib_debug.c lib_jit.c lib_ffi.c
24 24
25if not exist buildvm_x86.h^ 25%LJCOMPILE% host\minilua.c
26 %DASM% -LN -o buildvm_x86.h buildvm_x86.dasc
27@if errorlevel 1 goto :BAD 26@if errorlevel 1 goto :BAD
28if not exist buildvm_x64win.h^ 27%LJLINK% /out:minilua.exe minilua.obj
29 %DASM% -LN -D X64 -D X64WIN -o buildvm_x64win.h buildvm_x86.dasc
30@if errorlevel 1 goto :BAD 28@if errorlevel 1 goto :BAD
29if exist minilua.exe.manifest^
30 %LJMT% -manifest minilua.exe.manifest -outputresource:minilua.exe
31 31
32%LJCOMPILE% /I "." /I %DASMDIR% buildvm*.c 32@set DASMFLAGS=-D X64 -D X64WIN
33@if defined CPU goto :XCPU
34@set CPU=%PROCESSOR_ARCHITECTURE%
35:XCPU
36@if "%CPU%"=="AMD64" goto :X64
37@if "%CPU%"=="X64" goto :X64
38@set DASMFLAGS=
39:X64
40minilua %DASM% -LN %DASMFLAGS% -o host\buildvm_arch.h vm_x86.dasc
41@if errorlevel 1 goto :BAD
42
43%LJCOMPILE% /I "." /I %DASMDIR% host\buildvm*.c
33@if errorlevel 1 goto :BAD 44@if errorlevel 1 goto :BAD
34%LJLINK% /out:buildvm.exe buildvm*.obj 45%LJLINK% /out:buildvm.exe buildvm*.obj
35@if errorlevel 1 goto :BAD 46@if errorlevel 1 goto :BAD
@@ -85,7 +96,7 @@ if exist lua51.dll.manifest^
85if exist luajit.exe.manifest^ 96if exist luajit.exe.manifest^
86 %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe 97 %LJMT% -manifest luajit.exe.manifest -outputresource:luajit.exe
87 98
88@del *.obj *.manifest buildvm.exe 99@del *.obj *.manifest minilua.exe buildvm.exe
89@echo. 100@echo.
90@echo === Successfully built LuaJIT === 101@echo === Successfully built LuaJIT ===
91 102
diff --git a/src/buildvm_arm.dasc b/src/vm_arm.dasc
index 3a039402..3a039402 100644
--- a/src/buildvm_arm.dasc
+++ b/src/vm_arm.dasc
diff --git a/src/buildvm_mips.dasc b/src/vm_mips.dasc
index a7c3b4ae..a7c3b4ae 100644
--- a/src/buildvm_mips.dasc
+++ b/src/vm_mips.dasc
diff --git a/src/buildvm_ppc.dasc b/src/vm_ppc.dasc
index 49f92d0a..49f92d0a 100644
--- a/src/buildvm_ppc.dasc
+++ b/src/vm_ppc.dasc
diff --git a/src/buildvm_ppcspe.dasc b/src/vm_ppcspe.dasc
index a7ef3ccd..a7ef3ccd 100644
--- a/src/buildvm_ppcspe.dasc
+++ b/src/vm_ppcspe.dasc
diff --git a/src/buildvm_x86.dasc b/src/vm_x86.dasc
index 30ee5b67..30ee5b67 100644
--- a/src/buildvm_x86.dasc
+++ b/src/vm_x86.dasc